필요한 동작을 얻으려면 내 사용자 권한/권한/역할을 올바르게 설정하는 데 어려움을 겪고 있습니다.콘텐츠를 제한하기 위해 사용자 지정 사용자 권한을 만들지 못했습니다.
MarkLogic 8과 Roxy를 사용하여 응용 프로그램을 만들고 배포합니다.
이 응용 프로그램에는 개별 사용자로 제한되어야하는 내용의 다른 사용자가 있습니다. 그러나 그들은 함께 협력해야하는 프로젝트에도 참여합니다.
나는이 helpful blog과 discussion on github issue 303을 보았지만 아직 제대로 이해하지 못했습니다.
기본 록시 응용 프로그램 사용자 역할 :
<role>
<role-name>${app-role}</role-name>
<description>A role for users of the ${app-name} application</description>
<role-names>
</role-names>
<permissions>
<permission>
<capability>execute</capability>
<role-name>${app-role}</role-name>
</permission>
<permission>
<capability>update</capability>
<role-name>${app-role}</role-name>
</permission>
<permission>
<capability>insert</capability>
<role-name>${app-role}</role-name>
</permission>
<permission>
<capability>read</capability>
<role-name>${app-role}</role-name>
</permission>
</permissions>
<collections>
</collections>
<privileges>
<privilege>
<privilege-name>xdmp:value</privilege-name>
</privilege>
<privilege>
<privilege-name>xdmp:add-response-header</privilege-name>
</privilege>
<privilege>
<privilege-name>xdmp:invoke</privilege-name>
</privilege>
<privilege>
<privilege-name>xdmp:with-namespaces</privilege-name>
</privilege>
</privileges>
</role>
내 사용자 지정 역할 :
<role>
<role-name>sccss-user</role-name>
<description>sccss default role</description>
<role-names>
<!-- TODO test which roles we really need -->
<!--
<role-name>alert-user</role-name>
<role-name>alert-internal</role-name>
<role-name>rest-admin</role-name>
<role-name>rest-writer-internal</role-name>
<role-name>rest-reader</role-name>
<role-name>network-access</role-name>
<role-name>qconsole-user</role-name>
-->
<!-- cluey app role for rest api access TODO replace with dedicated api user and role
<role-name>${app-role}</role-name>
-->
</role-names>
<permissions>
</permissions>
<collections>
</collections>
<privileges>
<!-- HK -->
<!--
<privilege>
<privilege-name>any-uri</privilege-name>
</privilege>
-->
<privilege>
<privilege-name>devices-uri</privilege-name>
</privilege>
<privilege>
<privilege-name>any-collection</privilege-name>
</privilege>
<!-- to make this role have acces to the REST API-->
<privilege>
<privilege-name>rest-reader</privilege-name>
</privilege>
<privilege>
<privilege-name>rest-writer</privilege-name>
</privilege>
<!-- TODO test this
<privilege>
<privilege-name>xdmp:value</privilege-name>
</privilege>
<privilege>
<privilege-name>xdmp:add-response-header</privilege-name>
</privilege>
<privilege>
<privilege-name>xdmp:invoke</privilege-name>
</privilege>
<privilege>
<privilege-name>xdmp:with-namespaces</privilege-name>
</privilege>
</privileges>
-->
</role>
내가 테스트하고 이상하지만, 그 설정으로 내가 어떤에 대한 액세스 권한을 얻을 블로그에 설명되어있는 것을 시도 문서, 분명히 휴식 연장 액세스. 사용자에게 {app-role}을 주면 모든 사용자가 '나머지 독자'역할을하기 때문에 사용자가 다른 사용자의 비공개 콘텐츠를 볼 수있는 문제가 발생합니다 ... 그래서 나는 나머지 리더 역할을 사용하지 않고 나머지 독자의 권한을 사용하지 않도록하려면 기본 앱 역할을 사용하십시오.
한 가지 옵션은 제한된 콘텐츠에 대해 document-insert()
권한을 사용하는 것이지만 가능해야합니다 올바른 역할과 특권을 가진 사람이라면 올바르게 설정할 수 있습니다. 맞습니까?
Grtjn의 대답에 repsonse에서 ADDITION
: THX 4 귀하의 의견은, 제가 나머지 역할에 의아해하고 생각합니다. 만약 내가 default roles 보이는 git에 roxy app에 비어있는 것처럼 보이지만, REST app type으로 내 roxy app type을 설정하면 더욱 복잡해진다. 주요 혼란은 REST 엔드 포인트를 사용하기 위해 두 번째 (독립적 인) 역할에 필요한 역할 및 권한입니다. 정확하게 xdmp : (value, add-response-header, invoke etc 등) 권한은 무엇인가?
<role-name>${app-role}</role-name>
<!-- we need this to amp internal privileges-->
<role-name>alert-user</role-name>
<role-name>alert-internal</role-name>
<role-name>rest-admin-internal</role-name>
그리고 나머지 리더는 권한이나 역할을해야하는 경우 우리는 토론에 들어가 다음 : 내 예에서 사용자는 그/그녀가 다음과 같은 역할을 필요로하는 REST API에 액세스 할 수 있으려면?
그래서 더 구체적인 질문 :
나는 REST 엔드 포인트는 록시 나머지 유형의 응용 프로그램에 의해 생성에 액세스 할 필요가 설정 한 최소 역할/권한은 무엇입니까?
안녕하세요. Grtjn, 제 질문을 좀 더 구체적으로 업데이트했습니다. 그 점에 대해 의견을 나눌 수 있기를 바랍니다. thx –
나는 약간 정교하게 만들었다. 여전히 명확하지 않은 경우 기본 오프라인을 터치합니다. – grtjn