View a markdown version of this page

관리형 지식 기반에 대한 리소스 정책 - Amazon Bedrock

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

관리형 지식 기반에 대한 리소스 정책

리소스 기반 정책은 관리형 지식 기반에 직접 연결하는 JSON 문서입니다. 지식 기반에서 작업을 수행할 수 있는 IAM 보안 주체를 제어하여 교차 계정 액세스와 같은 사용 사례를 활성화합니다. 이 정책은 AllowDeny 효과를 모두 지원합니다.

중요

리소스 기반 정책은 관리형 지식 기반(유형 MANAGED)에서만 지원됩니다. 벡터 지식 기반(유형 VECTOR)은 리소스 정책을 지원하지 않습니다.

지원되는 작업

지식 기반 리소스 정책에서 다음 작업을 사용할 수 있습니다.

작업 설명
bedrock:Retrieve 지식 기반을 쿼리하고 데이터 소스에서 관련 결과를 검색합니다.
bedrock:GetDocumentContent 지식 기반 데이터 소스에서 특정 문서의 전체 콘텐츠를 검색합니다.
참고

GetKnowledgeBase, DeleteKnowledgeBase, UpdateKnowledgeBase및 데이터 소스 관리 작업과 같은 컨트롤 플레인 작업은 리소스 정책에서 사용할 수 없습니다. 이러한 작업은 지식 기반 소유자 계정의 보안 주체가 수행해야 합니다.

리소스 정책 요구 사항

지식 기반 리소스 정책은 표준 IAM 정책 구문을 따릅니다. 정책 요소 및 평가 로직에 대한 자세한 내용은 AWS Identity and Access Management 사용 설명서IAM JSON 정책 요소 참조를 참조하세요.

다음과 같은 서비스별 제약 조건이 적용됩니다.

  • 관리형 지식 기반만 해당됩니다. 리소스 정책은 유형의 지식 기반에만 연결할 수 있습니다MANAGED. 리소스 정책을 VECTOR 유형 지식 기반에 연결하려고 하면 오류가 반환됩니다.

  • 지원되는 작업. 리소스 정책에는 bedrock:Retrieve 및 만 사용할 bedrock:GetDocumentContent 수 있습니다.

  • 리소스 또는 작업에 와일드카드가 없습니다. Resource 요소에 전체 지식 기반 ARN을 지정하고 각 작업을 명시적으로 나열해야 합니다. 이러한 요소에서는 와일드카드가 지원되지 않습니다.

교차 계정 액세스 작동 방식

교차 계정 액세스를 사용하면 다른 AWS 계정의 보안 주체가 지식 기반GetDocumentContent에서 Retrieve 및를 호출할 수 있습니다. 교차 계정 액세스가 작동하려면 다음 두 조건을 모두 충족해야 합니다.

  • 지식 기반 소유자는 호출 보안 주체에게 액세스 권한을 부여하는 리소스 정책을 연결합니다.

  • 호출 보안 주체에는 지식 기반 ARN에서 해당 Amazon Bedrock 작업을 허용하는 자격 증명 기반 정책이 있습니다.

IAM이 교차 계정 액세스를 평가하는 방법에 대한 자세한 내용은 AWS Identity and Access Management 사용 설명서의 교차 계정 정책 평가 로직을 참조하세요.

예: 교차 계정 액세스 권한 부여

다음 리소스 정책은 다른 계정의 특정 IAM 역할에 Retrieve 및를 호출할 수 있는 권한을 부여합니다GetDocumentContent.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCrossAccountRetrieve", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::CONSUMER_ACCOUNT_ID:role/service-role-name" }, "Action": [ "bedrock:Retrieve", "bedrock:GetDocumentContent" ], "Resource": "arn:aws:bedrock:REGION:OWNER_ACCOUNT_ID:knowledge-base/KB_ID" } ] }

여러 보안 주체에 대한 액세스 권한 부여

여러 소비 역할에 대한 액세스 권한을 부여하려면의 각 역할 ARN을 배열Principal.AWS로 나열합니다.

"Principal": { "AWS": [ "arn:aws:iam::ACCOUNT_ID_1:role/role-name-1", "arn:aws:iam::ACCOUNT_ID_2:role/role-name-2" ] }

다른 계정의 모든 보안 주체에 액세스 권한을 부여하려면 계정 루트를 보안 주체로 사용합니다.

"Principal": { "AWS": "arn:aws:iam::CONSUMER_ACCOUNT_ID:root" }

거부 문 사용

리소스 정책은 AllowDeny 효과를 모두 지원합니다. Deny 리소스 정책의 명시적는 보안 주체의 자격 증명 기반 정책의를 재정Allow의합니다.

{ "Sid": "DenySpecificPrincipals", "Effect": "Deny", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:role/role-name" }, "Action": [ "bedrock:Retrieve", "bedrock:GetDocumentContent" ], "Resource": "arn:aws:bedrock:REGION:OWNER_ACCOUNT_ID:knowledge-base/KB_ID" }

리소스 정책 관리

지식 기반에서 리소스 정책을 관리하려면 지식 기반 소유자의 IAM 보안 주체에 다음 권한이 필요합니다.

작업 설명
bedrock:PutResourcePolicy 지식 기반에서 리소스 기반 정책을 연결하거나 업데이트합니다.
bedrock:GetResourcePolicy 지식 기반에 연결된 리소스 기반 정책을 봅니다.
bedrock:DeleteResourcePolicy 지식 기반에서 리소스 기반 정책을 제거합니다.

지식 기반 소유자에 대한 정책 예제

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock:PutResourcePolicy", "bedrock:GetResourcePolicy", "bedrock:DeleteResourcePolicy" ], "Resource": "arn:aws:bedrock:REGION:ACCOUNT_ID:knowledge-base/KB_ID" } ] }

API 작업

PutResourcePolicy - 지식 기반의 리소스 기반 정책을 연결하거나 대체합니다.

PUT /resourcepolicy/{knowledgeBaseArn} HTTP/1.1 Content-Type: application/json { "policy": "{policyDocument}" }

policy 필드는 정책 문서가 포함된 JSON 이스케이프 문자열입니다.

GetResourcePolicy - 현재 지식 기반에 연결된 리소스 기반 정책을 반환합니다.

GET /resourcepolicy/{knowledgeBaseArn} HTTP/1.1

정책이 연결되지 않은 ResourceNotFoundException 경우를 반환합니다.

DeleteResourcePolicy - 지식 기반에서 리소스 기반 정책을 제거합니다.

DELETE /resourcepolicy/{knowledgeBaseArn} HTTP/1.1

리소스 정책 버전 관리

PutResourcePolicy를 호출하면 API는 정책의 현재 버전을 policyRevisionId 나타내는를 반환합니다. 필요에 따라 후속 PutResourcePolicy 호출에이 개정 ID를 포함하여 낙관적 잠금을 적용할 수 있습니다.

  • 현재 버전과 policyRevisionId 일치하는를 제공하면 업데이트가 성공하고 새 개정 ID가 반환됩니다.

  • 현재 버전과 일치하지 policyRevisionId 않는를 제공하는 경우(다른 보안 주체가 그 동안 정책을 업데이트했기 때문에) 충돌 오류와 함께 호출이 실패합니다. 현재 정책을 검색하고 변경 사항을 병합한 다음 다시 시도합니다.

  • 를 생략하면 동시 수정policyRevisionId에 관계없이 정책이 조건부로 대체됩니다.

실수로 덮어쓰는 것을 방지하기 위해 여러 관리자 또는 자동화 시스템이 동일한 지식 기반 정책을 동시에 업데이트할 수 있는 경우 개정 ID를 사용합니다.

소비자 계정 설정

소비 계정에서 공유 지식 기반에 액세스해야 하는 보안 주체에 자격 증명 기반 정책을 연결합니다. 정책은 소유자 계정의 지식 기반 ARN에서 해당 Amazon Bedrock 작업을 허용해야 합니다.

자격 증명 기반 정책 예제

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock:Retrieve", "bedrock:GetDocumentContent" ], "Resource": "arn:aws:bedrock:REGION:OWNER_ACCOUNT_ID:knowledge-base/KB_ID" } ] }