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á.
Crie uma função de serviço para bases de conhecimento do Amazon Bedrock
Para usar uma função personalizada para uma base de conhecimento em vez da que o Amazon Bedrock cria automaticamente, crie uma IAM função e anexe as seguintes permissões seguindo as etapas em Criar uma função para delegar permissões a um AWS serviço. Inclua somente as permissões necessárias para sua própria segurança.
-
Relação de confiança
-
Acesso aos modelos básicos do Amazon Bedrock
-
Acesso à fonte de dados onde você armazena seus dados
-
(Se você criar um banco de dados vetoriais no Amazon OpenSearch Service) Acesso à sua coleção OpenSearch de serviços
-
(Se você criar um banco de dados vetorial no Amazon Aurora) Acesso ao seu cluster Aurora
-
(Se você criar um banco de dados vetoriais em Pinecone ouRedis Enterprise Cloud) Permissões AWS Secrets Manager para autenticar sua conta Pinecone ou Redis Enterprise Cloud
-
(Opcional) Se você criptografar qualquer um dos seguintes recursos com uma KMS chave, permissões para descriptografar a chave (consulte). Criptografia de recursos da base de conhecimento
-
Sua base de conhecimento
-
Fontes de dados para sua base de conhecimento
-
Seu banco de dados vetoriais no Amazon OpenSearch Service
-
O segredo do seu banco de dados vetoriais de terceiros em AWS Secrets Manager
-
Um trabalho de ingestão de dados
-
Tópicos
- Relação de confiança
- Permissões para acessar os modelos do Amazon Bedrock
- Permissões para acessar suas fontes de dados
- Permissões para conversar com seu documento
- (Opcional) Permissões para acessar seu banco de dados vetoriais no Amazon OpenSearch Service
- (Opcional) Permissões para acessar o cluster de banco de dados do Amazon Aurora
- (Opcional) Permissões para acessar um banco de dados vetorial configurado com um AWS Secrets Manager segredo
- (Opcional) Permissões AWS para gerenciar uma AWS KMS chave para armazenamento transitório de dados durante a ingestão de dados
- (Opcional) Permissões AWS para gerenciar fontes de dados da AWS conta de outro usuário.
Relação de confiança
A política a seguir permite que o Amazon Bedrock assuma esse perfil e crie e gerencie bases de conhecimento. Veja a seguir um exemplo de política que você pode usar. Você pode restringir o escopo da permissão usando uma ou mais chaves de contexto de condição global. Para obter mais informações, consulte Chaves de contexto de condição globais da AWS. Defina o valor aws:SourceAccount
para o ID da sua conta. Use a condição ArnEquals
ou ArnLike
para restringir o escopo a bases de conhecimento específicas.
nota
Como melhor prática para fins de segurança, substitua o *
com uma base de conhecimento específica IDs depois de criá-los.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "
account-id
" }, "ArnLike": { "AWS:SourceArn": "arn:aws:bedrock:region
:account-id
:knowledge-base/*
" } } }] }
Permissões para acessar os modelos do Amazon Bedrock
Anexe a política a seguir para fornecer permissões para que o perfil use os modelos do Amazon Bedrock para incorporar os dados de origem.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock:ListFoundationModels", "bedrock:ListCustomModels" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "bedrock:InvokeModel" ], "Resource": [ "arn:aws:bedrock:
region
::foundation-model/amazon.titan-embed-text-v1", "arn:aws:bedrock:region
::foundation-model/cohere.embed-english-v3", "arn:aws:bedrock:region
::foundation-model/cohere.embed-multilingual-v3" ] } ] }
Permissões para acessar suas fontes de dados
Selecione uma das seguintes fontes de dados para anexar as permissões necessárias para a função.
Tópicos
Permissões para acessar sua fonte de dados do Amazon S3
Anexe a política a seguir para fornecer permissões para que a função acesse o Amazon S3.
Se você criptografou a fonte de dados com uma AWS KMS chave, anexe permissões para descriptografar a chave à função seguindo as etapas em. Permissões para descriptografar sua AWS KMS chave para suas fontes de dados no Amazon S3
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::
bucket/path/to/folder
", "arn:aws:s3:::bucket/path/to/folder
/*" ], "Condition": { "StringEquals": { "aws:PrincipalAccount": "account-id
" } } }] }
Permissões para acessar sua fonte de dados do Confluence
nota
O conector de fonte de dados do Confluence está na versão prévia e está sujeito a alterações.
Anexe a política a seguir para fornecer permissões para que a função acesse o Confluence.
nota
secretsmanager:PutSecretValue
só é necessário se você usar a autenticação OAuth 2.0 com um token de atualização.
O token de acesso do Confluence OAuth2 4.0 tem um tempo de expiração padrão de 60 minutos. Se esse token expirar enquanto sua fonte de dados estiver sincronizando (trabalho de sincronização), o Amazon Bedrock usará o token de atualização fornecido para regenerar esse token. Essa regeneração atualiza os tokens de acesso e atualização. Para manter os tokens atualizados da tarefa de sincronização atual para a próxima tarefa de sincronização, o Amazon Bedrock exige permissões de gravação/colocação para suas credenciais secretas.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", "secretsmanager:PutSecretValue" ], "Resource": [ "arn:aws:secretsmanager:your-region:your-account-id:secret:secret-id" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:your-region:your-account-id:key/key-id" ], "Condition": { "StringLike": { "kms:ViaService": [ "secretsmanager.your-region.amazonaws.com" ] } } }, }
Permissões para acessar sua fonte de SharePoint dados da Microsoft
nota
SharePoint o conector da fonte de dados está na versão prévia e está sujeito a alterações.
Anexe a política a seguir para fornecer permissões para o acesso da função SharePoint.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:your-region:your-account-id:secret:secret-id" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:your-region:your-account-id:key/key-id" ], "Condition": { "StringLike": { "kms:ViaService": [ "secretsmanager.your-region.amazonaws.com" ] } } }, }
Permissões para acessar sua fonte de dados do Salesforce
nota
O conector de fonte de dados do Salesforce está na versão prévia e está sujeito a alterações.
Anexe a política a seguir para fornecer permissões para que a função acesse o Salesforce.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:your-region:your-account-id:secret:secret-id" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:your-region:your-account-id:key/key-id" ], "Condition": { "StringLike": { "kms:ViaService": [ "secretsmanager.your-region.amazonaws.com" ] } } }, }
Permissões para conversar com seu documento
Anexe a seguinte política para fornecer permissões para que a função use os modelos do Amazon Bedrock para conversar com seu documento:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock:RetrieveAndGenerate" ], "Resource": "*" } ] }
Se você quiser conceder a um usuário acesso apenas para conversar com seu documento (e não RetrieveAndGenerate
em todas as bases de conhecimento), use a seguinte política:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock:RetrieveAndGenerate" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "bedrock:Retrieve" ], "Resource": "*" } ] }
Se você quiser conversar com seu documento e usá-lo RetrieveAndGenerate
em uma Base de Conhecimento específica, forneça insert KB ARN
e use a seguinte política:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock:RetrieveAndGenerate" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "bedrock:Retrieve" ], "Resource":
insert KB ARN
} ] }
(Opcional) Permissões para acessar seu banco de dados vetoriais no Amazon OpenSearch Service
Se você criou um banco de dados vetoriais no Amazon OpenSearch Service para sua base de conhecimento, anexe a seguinte política às suas bases de conhecimento para a função de serviço Amazon Bedrock para permitir o acesso à coleção. Substituir region
e account-id
com a região e o ID da conta aos quais o banco de dados pertence. Insira o ID da sua coleção de OpenSearch serviços da Amazon em collection-id
. Você pode permitir o acesso a várias coleções adicionando-as à Resource
lista.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "aoss:APIAccessAll" ], "Resource": [ "arn:aws:aoss:
region
:account-id
:collection/collection-id
" ] }] }
(Opcional) Permissões para acessar o cluster de banco de dados do Amazon Aurora
Se você criou um cluster de banco de dados (DB) no Amazon Aurora para sua base de conhecimento, anexe a seguinte política às suas bases de conhecimento para a função de serviço Amazon Bedrock para permitir acesso ao cluster de banco de dados e fornecer permissões de leitura e gravação nele. Substituir region
e account-id
com a região e o ID da conta aos quais o cluster de banco de dados pertence. Insira o ID do seu cluster de banco de dados Amazon Aurora em db-cluster-id
. Você pode permitir o acesso a vários clusters de banco de dados adicionando-os à Resource
lista.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "
RdsDescribeStatementID
", "Effect": "Allow", "Action": [ "rds:DescribeDBClusters" ], "Resource": [ "arn:aws:rds:region
:account-id
:cluster:db-cluster-id
" ] }, { "Sid": "DataAPIStatementID", "Effect": "Allow", "Action": [ "rds-data:BatchExecuteStatement", "rds-data:ExecuteStatement" ], "Resource": [ "arn:aws:rds:region
:account-id
:cluster:db-cluster-id
" ] }] }
(Opcional) Permissões para acessar um banco de dados vetorial configurado com um AWS Secrets Manager segredo
Se seu banco de dados vetoriais estiver configurado com um AWS Secrets Manager segredo, anexe a seguinte política à função de serviço da sua base de conhecimento do Amazon Bedrock AWS Secrets Manager para permitir a autenticação de sua conta para acessar o banco de dados. Substituir region
e account-id
com a região e o ID da conta aos quais o banco de dados pertence. Substituir secret-id
com o ID do seu segredo.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:
region
:account-id
:secret:secret-id
" ] }] }
Se você criptografou seu segredo com uma AWS KMS chave, anexe permissões para descriptografar a chave à função seguindo as etapas em. Permissões para descriptografar um AWS Secrets Manager segredo para o armazenamento de vetores que contém sua base de conhecimento
(Opcional) Permissões AWS para gerenciar uma AWS KMS chave para armazenamento transitório de dados durante a ingestão de dados
Para permitir a criação de uma AWS KMS chave para armazenamento transitório de dados no processo de ingestão de sua fonte de dados, anexe a seguinte política às suas bases de conhecimento para a função de serviço Amazon Bedrock. Substitua o region
, account-id
e key-id
com os valores apropriados.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:
region
:account-id
:key/key-id
" ] } ] }
(Opcional) Permissões AWS para gerenciar fontes de dados da AWS conta de outro usuário.
Para permitir o acesso à AWS conta de outro usuário, você deve criar uma função que permita o acesso entre contas a um bucket do Amazon S3 na conta de outro usuário. Substitua o bucketName
, bucketOwnerAccountId
e bucketNameAndPrefix
com os valores apropriados.
Permissões necessárias na função da Base de Conhecimento
A função da base de conhecimento fornecida durante a criação da base de conhecimento createKnowledgeBase
requer as seguintes permissões do Amazon S3.
{ "Version": "2012-10-17", "Statement": [{ "Sid": "S3ListBucketStatement", "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::
bucketName
" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "bucketOwnerAccountId
" } } },{ "Sid": "S3GetObjectStatement", "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::bucketNameAndPrefix
/*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "bucketOwnerAccountId
" } }] }
Se o bucket do Amazon S3 for criptografado usando uma AWS KMS chave, o seguinte também precisará ser adicionado à função da base de conhecimento. Substitua o bucketOwnerAccountId
e region
com os valores apropriados.
{ "Sid": "KmsDecryptStatement", "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:
region
:bucketOwnerAccountId
:key/keyId" ], "Condition": { "StringEquals": { "kms:ViaService": [ "s3.region
.amazonaws.com" ] } } }
Permissões necessárias em uma política de bucket do Amazon S3 entre contas
O bucket na outra conta exige a seguinte política de bucket do Amazon S3. Substitua o kbRoleArn
,
bucketName
e bucketNameAndPrefix
com os valores apropriados.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Example ListBucket permissions", "Effect": "Allow", "Principal": { "AWS": "
kbRoleArn
" }, "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::bucketName
" ] }, { "Sid": "Example GetObject permissions", "Effect": "Allow", "Principal": { "AWS": "kbRoleArn
" }, "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::bucketNameAndPrefix
/*" ] } ] }
Permissões necessárias na política de AWS KMS chaves entre contas
Se o bucket do Amazon S3 entre contas for criptografado usando AWS KMS uma chave nessa conta, a política da chave exigirá AWS KMS a seguinte política. Substitua o kbRoleArn
e kmsKeyArn
com os valores apropriados.
{ "Sid": "Example policy", "Effect": "Allow", "Principal": { "AWS": [ "
kbRoleArn
" ] }, "Action": [ "kms:Decrypt" ], "Resource": "kmsKeyArn
" }