As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Políticas de recursos para bases de conhecimento gerenciadas
Uma política baseada em recursos é um documento JSON que você anexa diretamente a uma base de conhecimento gerenciada. Ele controla quais diretores do IAM podem realizar ações na base de conhecimento, permitindo casos de uso como acesso entre contas. A política apóia tanto os Deny efeitos Allow quanto os efeitos.
Importante
Resource-based as políticas são suportadas somente para bases de conhecimento gerenciadas (tipoMANAGED). As bases de conhecimento vetorial (tipoVECTOR) não oferecem suporte a políticas de recursos.
Ações compatíveis
As ações a seguir podem ser usadas em uma política de recursos da base de conhecimento:
| Ação | Description |
|---|---|
bedrock:Retrieve |
Consulte a base de conhecimento e recupere resultados relevantes das fontes de dados. |
bedrock:GetDocumentContent |
Recupere o conteúdo completo de um documento específico da fonte de dados da base de conhecimento. |
nota
Control-plane operações comoGetKnowledgeBase,, UpdateKnowledgeBaseDeleteKnowledgeBase, e operações de gerenciamento de fonte de dados não podem ser usadas em políticas de recursos. Essas operações devem ser realizadas pelos diretores na conta do proprietário da base de conhecimento.
Requisitos da política de recursos
As políticas de recursos da base de conhecimento seguem a sintaxe padrão da política do IAM. Para obter detalhes sobre elementos de política e lógica de avaliação, consulte a referência de elementos de política JSON do IAM no Guia do AWS Identity and Access Management usuário.
As seguintes restrições específicas do serviço se aplicam:
-
Somente bases de conhecimento gerenciadas. As políticas de recursos só podem ser anexadas a bases de conhecimento do tipo
MANAGED. A tentativa de anexar uma política de recursos a uma baseVECTORde conhecimento de tipos retorna um erro. -
Ações apoiadas. Somente
bedrock:Retrieveebedrock:GetDocumentContentpode ser usado em políticas de recursos. -
Sem curingas em Recurso ou Ação. Você deve especificar o ARN completo da base de conhecimento no
Resourceelemento e listar explicitamente cada ação. Não há suporte para curingas nesses elementos.
Como funciona o acesso entre contas
Cross-account o acesso permite que diretores de outras AWS contas Retrieve liguem para sua GetDocumentContent base de conhecimento. Para acesso ao trabalho entre contas, as duas condições a seguir devem ser atendidas:
-
O proprietário da base de conhecimento anexa uma política de recursos que concede acesso ao responsável pela chamada.
-
O responsável pela chamada tem uma política baseada em identidade que permite as ações correspondentes do Amazon Bedrock na base de conhecimento ARN.
Para obter mais informações sobre como o IAM avalia o acesso entre contas, consulte a lógica Cross-account de avaliação de políticas no Guia do AWS Identity and Access Management usuário.
Exemplo: conceder acesso entre contas
A política de recursos a seguir concede a uma função específica do IAM em outra conta permissão para chamar Retrieve eGetDocumentContent:
{ "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" } ] }
Concedendo acesso a vários diretores
Para conceder acesso a várias funções consumidoras, liste cada ARN da função Principal.AWS como uma matriz:
"Principal": { "AWS": [ "arn:aws:iam::ACCOUNT_ID_1:role/role-name-1", "arn:aws:iam::ACCOUNT_ID_2:role/role-name-2" ] }
Para conceder acesso a todos os diretores em outra conta, use a raiz da conta como principal:
"Principal": { "AWS": "arn:aws:iam::CONSUMER_ACCOUNT_ID:root" }
Usando declarações de negação
As políticas de recursos apoiam tanto os Deny efeitos Allow quanto os efeitos. Um explícito Deny em uma política de recursos substitui qualquer política baseada Allow em identidade do diretor.
{ "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" }
Gerenciar políticas de recursos
Para gerenciar políticas de recursos em bases de conhecimento, o diretor do IAM do proprietário da base de conhecimento precisa das seguintes permissões:
| Ação | Description |
|---|---|
bedrock:PutResourcePolicy |
Anexe ou atualize uma política baseada em recursos em uma base de conhecimento. |
bedrock:GetResourcePolicy |
Veja a política baseada em recursos anexada a uma base de conhecimento. |
bedrock:DeleteResourcePolicy |
Remova a política baseada em recursos de uma base de conhecimento. |
Exemplo de política para o proprietário da base de conhecimento
{ "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" } ] }
Operações de API
PutResourcePolicy— Anexa ou substitui uma política baseada em recursos em uma base de conhecimento.
PUT /resourcepolicy/{knowledgeBaseArn}HTTP/1.1 Content-Type: application/json { "policy": "{policyDocument}" }
O policy campo é uma JSON-escaped string contendo o documento de política.
GetResourcePolicy— Retorna a política baseada em recursos atualmente vinculada a uma base de conhecimento.
GET /resourcepolicy/{knowledgeBaseArn}HTTP/1.1
Retorna como ResourceNotFoundException se nenhuma política estiver anexada.
DeleteResourcePolicy— Remove a política baseada em recursos de uma base de conhecimento.
DELETE /resourcepolicy/{knowledgeBaseArn}HTTP/1.1
Controle de versão da política de recursos
Quando você chamaPutResourcePolicy, a API retorna uma policyRevisionId que representa a versão atual da política. Opcionalmente, você pode incluir essa ID de revisão em PutResourcePolicy chamadas subsequentes para impor um bloqueio otimista.
-
Se você fornecer uma
policyRevisionIdque corresponda à versão atual, a atualização será bem-sucedida e uma nova ID de revisão será retornada. -
Se você fornecer uma
policyRevisionIdque não corresponda à versão atual (porque outro diretor atualizou a política nesse meio tempo), a chamada falhará com um erro de conflito. Recupere a política atual, mescle suas alterações e tente novamente. -
Se você omitir o
policyRevisionId, a política será substituída incondicionalmente, independentemente de quaisquer modificações simultâneas.
Use a ID de revisão quando vários administradores ou sistemas de automação puderem atualizar a mesma política da base de conhecimento simultaneamente, para evitar substituições acidentais.
Configurar a conta do consumidor
Na conta consumidora, anexe uma política baseada em identidade ao diretor que precisa acessar a base de conhecimento compartilhada. A política deve permitir as ações correspondentes do Amazon Bedrock no ARN da base de conhecimento na conta do proprietário.
Exemplo de política baseada em identidade
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock:Retrieve", "bedrock:GetDocumentContent" ], "Resource": "arn:aws:bedrock:REGION:OWNER_ACCOUNT_ID:knowledge-base/KB_ID" } ] }