View a markdown version of this page

문서 수준 액세스 제어 - Amazon Bedrock

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

문서 수준 액세스 제어

SharePoint 데이터 소스는 선택적으로 문서 수준 액세스 제어를 지원합니다. 활성화된 경우 Bedrock 관리형 지식 기반은 각 크롤링 중에 SharePoint에서 액세스 제어 목록(ACLs)을 동기화하고 쿼리 시 각 사용자의 권한을 확인하므로 사용자는 SharePoint에서 액세스할 수 있는 권한이 부여된 문서의 결과만 볼 수 있습니다. 모든 커넥터의 ACL 인식에 대한 개요는 섹션을 참조하세요액세스 제어 목록 인식 활성화.

ACL 인식은 권한 부여가 아닙니다.

Bedrock 관리형 지식 기반은 보안 경계가 아닌 ACL 인식 필터링을 제공합니다. Bedrock 관리형 지식 기반은 최종 사용자를 인증하지 않습니다. 애플리케이션은 사용자를 인증하고 확인된 자격 증명 컨텍스트를 전달할 책임이 있습니다. Bedrock 관리형 지식 기반은 사용자가 제공한 사용자 컨텍스트의 신뢰성을 확인할 수 없으므로이 기능은 사용자가 제공한 자격 증명을 기반으로 결과를 필터링하지만 실제 권한 부여를 구성하지는 않습니다. 업스트림 인증 없이이 기능을 유일한 액세스 제어 메커니즘으로 사용해서는 안 됩니다.

작동 방식

사용자가 ACL 지원 SharePoint 데이터 소스를 사용하는 지식 기반을 쿼리하면 Bedrock 관리형 지식 기반은 두 단계로 액세스 제어를 적용합니다.

  • 사전 검색 필터링 - Bedrock 관리형 지식 기반은 마지막 크롤링 중에 SharePoint에서 동기화된 액세스 제어 목록을 적용하여 사용자(또는 해당 그룹)가 액세스할 수 있는 후보 문서만 반환합니다.

  • 실시간 확인 - Bedrock 관리형 지식 기반은 SharePoint에서 쿼리 사용자의 현재 액세스를 확인하여 후보 문서를 실시간으로 확인합니다. 현재 사용자에게 액세스 권한이 부여된 문서만 응답에 포함됩니다.

이 2단계 접근 방식은 동기화 간에 SharePoint 권한이 변경되더라도 최신 상태를 유지하는 문서 수준 액세스 제어를 제공합니다.

크롤링되는 항목

ACLs 활성화되면 Bedrock 관리형 지식 기반은 SharePoint에서 다음 권한 구조를 크롤링합니다.

  • 사이트 수준 멤버십 및 역할 할당

  • 문서 라이브러리 수준 권한

  • 상속을 중단하는 고유 권한을 포함한 항목 수준(파일 및 페이지) 권한

  • Microsoft Entra ID(Azure AD) 보안 그룹, 메일 지원 보안 그룹 및 배포 그룹을 포함한 보안 그룹 멤버십. 중첩된(전이적) 그룹 멤버십도 확인됩니다.

쿼리 시 사용자의 이메일 주소(그룹 아님)를 전달합니다. Bedrock 관리형 지식 기반은 크롤링한 데이터에서 해당 사용자의 그룹 멤버십을 확인하고 결과를 필터링할 때 적용합니다. 자격 증명 모델에 대한 자세한 내용은 섹션을 참조하세요액세스 제어 목록 인식 활성화.

ACL 인식 활성화

SharePoint 데이터 소스에 대한 ACL 인식을 활성화하려면 true에서 ENTRA_ID_APP_ONLYaclEnabled로 설정하고 인증 유형을 connectorParameters 사용합니다. 이 인증 유형은 Bedrock Managed Knowledge Base가 자격 증명 정보를 크롤링하고 쿼리 시 문서 액세스를 확인할 수 있도록 허용하는 인증서 기반 애플리케이션 권한을 사용합니다.

중요

ACL 구성은 영구적입니다. ACLs 지원 없이 생성된 데이터 소스에서는 ACL을 활성화할 수 없으며 활성화한 후에는 ACLs 비활성화할 수 없습니다.

Entra ID 앱 등록에는 다음과 같은 애플리케이션 권한이 있어야 합니다.

  • User.Read.All Microsoft GraphGroupMember.Read.All의 및 (자격 증명 크롤링용)

  • Sites.FullControl.All SharePoint에서 또는 사이트Sites.Selected별 권한이 부여된 경우(문서 액세스 확인용)

에는 Amazon S3의 PKCS#12(.p12) 인증서 파일을 certificateS3Path 가리키는가 포함되어야 connectionConfiguration 합니다.

참고

보안 암호의 certificatePassword 필드는 선택 사항입니다. 이를 생략하면 Bedrock Managed Knowledge Base는 애플리케이션의 클라이언트 ID를 암호로 사용하여 PKCS#12(.p12) 파일을 열므로 해당 암호로 인증서를 생성해야 합니다. 인증서의 저장 시 프라이빗 키를 보호certificatePassword하려면 항상 명시적이고 높은 엔트로피를 설정하는 것이 좋습니다.

"connectorParameters": { "type": "SHAREPOINT", "version": "1", "aclEnabled": true, "connectionConfiguration": { "tenantId": "your-tenant-id", "authType": "ENTRA_ID_APP_ONLY", "secretArn": "arn:aws:secretsmanager:region:account-id:secret:secret-name", "certificateS3Path": { "s3BucketName": "your-certificate-bucket", "s3KeyName": "certs/certificate.p12" } }, "dataEntityConfiguration": { "siteUrls": [ "https://contoso.sharepoint.com/sites/engineering" ], "crawlFiles": true, "crawlPages": true } }
참고

OAUTH2_APP 인증 유형은 ACL 지원 SharePoint 데이터 소스에서 지원되지 않습니다. ENTRA_ID_APP_ONLY를 사용해야 합니다.

실시간 액세스 확인

Bedrock Managed Knowledge Base는 애플리케이션의 인증서 기반 권한(크롤링을 위해 구성된 ENTRA_ID_APP_ONLY 앱 등록)을 사용하여 쿼리 시 SharePoint와 비교하여 각 후보 문서를 확인합니다. 위임된 사용자 로그인 흐름과 달리 대화형 사용자별 로그인 또는 동의는 필요하지 않습니다. 확인은 Sites.FullControl.All 또는 Sites.Selected 권한을 통해 동일한 앱 등록 및 인증서를 사용하여 쿼리 사용자가 여전히 각 문서에 액세스할 수 있는지 확인합니다.

구성 확인

검색 요청과 독립적으로 Entra 애플리케이션 권한을 검증할 수 있습니다. 다음 각 검사를 수행합니다.

  1. Microsoft 그래프(크롤링):

    • 범위가 있는 애플리케이션 토큰을 획득https://graph.microsoft.com/.default하고 roles 클레임에 User.Read.All 및가 포함되어 있는지 확인합니다GroupMember.Read.All.

    • Microsoft Graph 사이트 엔드포인트(예: GET https://graph.microsoft.com/v1.0/sites/{site})를 호출하고 사이트가 반환되는지 확인합니다.

  2. SharePoint REST(실시간 확인):

    • 범위가 인 인증서 클라이언트 어설션을 사용하여 토큰을 획득합니다https://{tenant}.sharepoint.com/.default.

    • 토큰의 roles 클레임에 SharePointSites.FullControl.All(또는 Sites.Selected) 권한이 포함되어 있는지 확인합니다. roles: null 값은 권한 또는 관리자 동의가 누락되었음을 의미합니다.

    • 를 호출GET https://{tenant}.sharepoint.com/_api/web하고 성공했는지 확인합니다(HTTP 200). 실패하거나 승인되지 않은 응답은 SharePoint 권한 또는 관리자 동의가 누락되어 모든 문서가 거부됨을 의미합니다.

문제 해결

참고

ACL 구성 오류는 검색 중에 명시적 오류를 생성하지 않습니다. 검색 실패 닫힘: 영향을 받는 문서는 자동으로 생략되므로 쿼리는 오류가 아닌 더 적거나 0의 결과를 반환합니다. 위의 확인 검사를 사용하여 이러한 문제를 진단합니다.

ACL 지원 SharePoint 증상, 원인 및 수정 사항
증상 가능한 원인 수정
검색은 0개의 결과를 반환하지만 사용자는 SharePoint에서 액세스할 수 있습니다. SharePointSites.FullControl.All(또는 Sites.Selected) 권한 또는 관리자 동의가 누락되어 SharePoint REST 호출이 거부되고 모든 문서가 거부됩니다. 관리자 동의Sites.Selected와 함께 SharePoint Sites.FullControl.All 권한(또는 사이트별 권한)을 부여합니다. 이러한 애플리케이션 자격 증명은 캐시되므로 변경 사항이 적용되기까지 최대 1시간이 걸리거나 not-yet-queried 사용자로 테스트하여 더 빨리 확인합니다.
SharePoint에서 사용자의 액세스가 변경되었지만 새 결과는 즉시 반영되지 않습니다. 사용자별 액세스 결과는 데이터 소스와 Bedrock 관리형 지식 기반(일반적으로 약 2분 이내) 간에 최종적으로 일관되므로 최근 액세스 변경 사항이 즉시 반영되지 않을 수 있습니다. 데이터 소스에 변경 사항이 반영된 후 약 2분 정도 기다렸다가 다시 시도하세요.
이전에 작업한 후에는 모든 사용자가 거부됩니다. 인증서가 만료되었거나 관리자 동의가 취소되었습니다. Entra 앱 등록 및 Amazon S3에서 인증서를 갱신하고 관리자 동의를 다시 부여합니다.
구성이 올바른 것처럼 보이지만 크롤링 또는 동기화가 실패합니다. 필요한 Microsoft Graph 애플리케이션 권한이 누락되었습니다. User.Read.All 및를 부여합니다GroupMember.Read.All.
인증서 암호 또는 토큰 마이닝 오류. .p12 암호가와 일치하지 않습니다certificatePassword. .p12 파일을 생성하는 데 사용되는 암호certificatePassword로를 설정합니다.