[MarkLogic Server] 문서 액세스 권한을 MarkLogic으로 설정하는 방법

7792 단어 XQueryMarkLogic
개시하다
Mark Logic을 사용하여 문서에 대한 참조 및 업데이트 작업을 제한하는 사용자를 작성하려는 경우가 있습니다.
본고는 사용자를 위해 문서 접근 권한을 설정하는 방법을 소개했다.
MarkLogic의 문서 액세스 제어 개요
MarkLogic은 문서를 등록한 후 등록된 사용자를 제외하고는 액세스할 수 없습니다(Admin 등 관리 권한 제외).
다음은 사용자가 등록한 문서에 다른 사용자가 액세스할 수 있도록 액세스 권한을 설정하는 방법입니다.
MarkLogic은 문서 액세스와 조회 실행 등에 대한 승인을 역할 단위로 제어합니다.
문서에 액세스할 수 있는 역할을 사용자에게 지정하여 문서에 액세스할 수 있습니다.
구현 내용
문서 액세스 권한을 설정하는 방법을 설명합니다.
이번에는 참조 권한을 설정해 보자.
※ 같은 절차에 따라 등록이나 갱신 권한도 설정할 수 있습니다.
구현 내용은 다음과 같습니다.
  • 1. Admin 권한을 사용한 사용자 등록 문서
  • 2. 드럼 만들기
  • 3. 사용자 만들기
  • 4. 문서가 참조할 수 없음 확인
  • 5. 문서에 대한 참고 권한 설정
  • 6. 문서를 참조할 수 있는지 확인
  • 객체 MarkLogic 버전
    대상 OS 버전
    8.0-4
    Red Hat Enterprise Linux 7.3
    1. Admin 권한을 사용한 사용자 등록 문서
    Admin 권한을 사용하여 문서를 등록합니다.
    문서를 등록하는 방법은 매우 많은데, 이번에는 조회 컨트롤러 화면에서 등록한다.
    Admin 권한의 사용자가 쿼리 콘솔 화면에 액세스하여 xdmp:document-isert를 사용하여 문서를 등록합니다.
    여기 있는 문서 이름은testoDocument입니다.xml을 원합니다.

    2. 캐릭터 만들기
    새 역할을 작성합니다.
    1. 관리 화면에서 Security→Roles→Create 태그로 마이그레이션

    2. 임의의 캐릭터 이름과'qconce-user'를 선택하고'OK'단추를 누르십시오
    역할 이름을 Doctument ReadOnlyRole로 설정합니다.
    또한 이번 문서의 확인은 쿼리 컨트롤러 화면에서 이루어졌기 때문에 쿼리 컨트롤러 화면에 접근할 수 있는 qconstore 역할을 설정했습니다.


    OK 버튼을 누르면 Security→Roles→Summary 탭에 작성된 역할이 표시됩니다.

    3. 사용자 만들기
    새 사용자를 작성합니다.
    1. 관리 화면에서 Security→Users→Create 태그로 마이그레이션

    2. 사용자 이름, 암호, 암호(확인)를 입력합니다.제작된 역할을 선택하고 OK 버튼을 누릅니다.
    사용자 이름을 Document ReadOnlyUser로 설정합니다.


    OK 버튼을 누르면 Security→Users→Summary 탭에 작성된 사용자가 표시됩니다.

    4. 참조할 수 없는 문서 확인
    fn: 문서에서 인용할 수 없음을 확인하기 위해 doc 함수를 실행합니다.

    5. 문서에 대한 참조 권한 설정
    Admin 권한이 있는 사용자는 쿼리 콘솔 화면에 액세스합니다.
    다음 함수 중 하나를 실행하고 대상 문서의 인용 권한을 설정합니다.
  • xdmp:document-set-permissions
    함수 상세 정보는 MarkLogic사의 홈페이지https://docs.marklogic.com/8.0/xdmp:document-set-permissions
  • 를 참조하십시오.
  • xdmp:document-add-permissions
    함수 상세 정보는 MarkLogic사의 홈페이지https://docs.marklogic.com/8.0/xdmp:document-add-permissions
  • 를 참조하십시오.
    예: Docoment ReadOnlyRole에서 testomientxml 참조 권한을 줄 때
    xdmp:document-set-permissions("/testDocument.xml", xdmp:permission("DocumentReadOnlyRole", "read"))
    
    또는
    xdmp:document-add-permissions("/testDocument.xml", xdmp:permission("DocumentReadOnlyRole", "read"))
    
    참고 권한을 변경하기 위해서 xdmp:perission의 두 번째 인자를read로 설정하지만 업데이트나 insert로 변경하여 업데이트 권한과 창설 권한을 설정할 수 있습니다.
    인용 권한의 설정은 이것으로 끝냅니다.
    6. 문서의 참조 가능 여부 확인
    fn: 문서가 참고할 수 있도록 doc 함수를 실행합니다.

    기타 액세스 권한 설정 방법
    이번에는 등록된 문서에 대한 접근 권한을 설정하는 방법과 문서를 등록할 때 권한을 설정할 수 있는 방법을 소개했다.
    문서를 등록할 때 사용 권한을 설정하는 방법은 다음과 같습니다.
  • XQuery "xdmp:document insert"를 이용하여 접근 권한을 설정하는 방법
  • MLCP를 통해 데이터를 로드할 때 액세스 권한을 설정하는 방법
  • 역할의default perissions를 통해 접근 권한을 설정하는 방법
  • 각각 다음과 같은 방법으로 실현할 수 있다.
  • XQuery "xdmp:document insert"를 이용하여 접근 권한을 설정하는 방법
  • (: xdmp:document-insertの第3引数で権限設定を行う :)
    xdmp:document-insert(
                         "/testDocument2.xml",
                         <root><data>67890</data></root>,
                         (: DocumentReadOnlyRoleにアクセス権限を設定 :)
                         (xdmp:permission("DocumentReadOnlyRole", "read"),
                          xdmp:permission("DocumentReadOnlyRole", "update"),
                          ・・・
                          )
                        )
    
  • MLCP를 통해 데이터를 로드할 때 액세스 권한을 설정하는 방법
  • MLCPの実行オプションに以下を追加
    -output_permissions DocumentReadOnlyRole,read
    
  • 역할의default perissions를 통해 접근 권한을 설정하는 방법
  • default permissions를 설정하면 문서를 등록할 때 자동으로 접근 권한을 설정할 수 있습니다.
    default perissions는 다음과 같은 방법으로 설정할 수 있습니다.
    1.管理画面よりSecurity→Roles→[対象のロール]に遷移
    2.default permissionsよりロールと権限を選択し「OK」ボタンを押下
    
    보충~MarkLogic에 대한 실행 권한~
    이번에는 문서 접근 권한의 설정 방법을 소개했다.
    이번 절차는 쿼리 컨트롤러 화면에서 문서를 확인하기 위해 qconce-user 역할을 분배했습니다.
    쿼리 콘솔 이외의 방법으로 XQuery 및 REST API와 같은 문서에 액세스하려면 액세스 방법에 따라 실행 권한을 지정해야 합니다.
    마크로직에 탑재된 다양한 기능을 활용하기 위해서는 이 기능에 상응하는 실행 권한을 설정해야 한다.
    기회가 된다면 이번에 소개하지 못한 집행 권한을 소개하고 싶습니다.
    끝말
    사용자가 설정한 역할을 잘 파악하고 문서의 접근 권한을 적절하게 관리한다.
    참고 문헌
  • "Introduction to Security (Security Guide) — MarkLogic 8 Product Documentation".MarkLogic Developer Community. https://docs.marklogic.com/8.0/guide/security/intro, (2017-09-28 참조)
  • "Protecting Documents (Understanding and Using Security Guide) — MarkLogic 8 Product Documentation".MarkLogic Developer Community. https://docs.marklogic.com/8.0/guide/security/permissions#id_85471, (2017-09-28 참조)
  • "Administering Query Console (Query Console User Guide) — MarkLogic 8 Product Documentation".MarkLogic Developer Community. https://docs.marklogic.com/8.0/guide/qconsole/admin, (2017-09-28 참조)
  • "Importing Content Into MarkLogic Server (mlcp User Guide) — MarkLogic 8 Product Documentation".MarkLogic Developer Community. https://docs.marklogic.com/8.0/guide/mlcp/import#id_23879, (2017-09-28 참조)
  • \def\textsmall#1{%
      {\rm\scriptsize #1}
    }
    
    면책 사항
    본 사용자는 본 문서와 그 내용에 대해 어떠한 보증도 하지 않을 것입니다
    만일 본문 내용에 오류가 있으면 본 사용자는 일체 책임을 지지 않습니다
    또한, 본문에 기재된 사항은 예고 없이 변경되거나 삭제될 수 있으므로 양해해 주시기 바랍니다

    좋은 웹페이지 즐겨찾기