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á.
Criar um perfil de serviço para o Amazon Bedrock Knowledge Bases
Para usar uma função personalizada para uma base de conhecimento em vez da que o Amazon Bedrock cria automaticamente, crie uma função do IAM 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 de base do Amazon Bedrock
-
Acesso da fonte de dados ao local em que os dados são armazenados
-
(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 de vetores do Amazon Aurora) Acesso ao cluster do Aurora
-
(Se você criar um banco de dados vetoriais no Pinecone or Redis Enterprise Cloud) Permissões AWS Secrets Manager para autenticar seu Pinecone or Redis Enterprise Cloud conta
-
(Opcional) Se você criptografar qualquer um dos recursos a seguir com uma chave do KMS, 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
(Opcional) Permissões para acessar seu índice Amazon Kendra GenAI
(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 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. É possível 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 global da AWS. Defina o valor aws:SourceAccount
para o ID da conta. Use a condição ArnEquals
ou ArnLike
para restringir o escopo a bases de conhecimento específicas.
nota
Como prática recomendada para fins de segurança, substitua-os *
por 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": "
${AccountId}
" }, "ArnLike": { "AWS:SourceArn": "arn:aws:bedrock:${Region}
:${AccountId}
:knowledge-base/*
" } } }] }
Permissões para acessar os modelos do Amazon Bedrock
Anexe a política a seguir a fim de fornecer permissões ao perfil para usar 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 as fontes de dados
Selecione uma das fontes de dados a seguir para anexar as permissões necessárias ao perfil.
Tópicos
Permissões para acessar as fontes de dados no Amazon S3
Se sua fonte de dados for o Amazon S3, anexe a seguinte política para fornecer permissões para que a função acesse o bucket do S3 ao qual você se conectará como sua fonte de dados.
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": [ { "Sid": "S3ListBucketStatement", "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::
${Bucket}
" ], "Condition": { "StringEquals": { "aws:ResourceAccount": [${AccountId}
] } } }, { "Sid": "S3GetObjectStatement", "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::${BucketAndKeyPrefix}
" ], "Condition": { "StringEquals": { "aws:ResourceAccount": [${AccountId}
] } } } ] }
Permissões para acessar as fontes de dados do Confluence
nota
O conector de fonte de dados do Confluence está em versão de prévia e está sujeito a alterações.
Anexe a política a seguir para fornecer permissões para que o perfil 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 a fonte de dados estiver em sincronização (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 de atualização. Para manter os tokens atualizados no trabalho de sincronização atual até o próximo trabalho de sincronização, o Amazon Bedrock exige permissões de gravação/colocação das credenciais secretas.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", "secretsmanager:PutSecretValue" ], "Resource": [ "arn:aws:secretsmanager:
${Region}
:${AccountId}
:secret:${secret-id}
" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:${Region}
:${AccountId}
:key/${KeyId}
" ], "Condition": { "StringLike": { "kms:ViaService": [ "secretsmanager.${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:
${Region}
:${AccountId}
:secret:${SecretId}
" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:${Region}
:${AccountId}
:key/${KeyId}
" ], "Condition": { "StringLike": { "kms:ViaService": [ "secretsmanager.${Region}
.amazonaws.com" ] } } }, }
Permissões para acessar as fontes de dados do Salesforce
nota
O conector de fonte de dados do Salesforce está em versão prévia e está sujeito a alterações.
Anexe a política a seguir para fornecer permissões para que o perfil acesse o Salesforce.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:
${Region}
:${AccountId}
:secret:${SecretId}
" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:${Region}
:${AccountId}
:key/${KeyId}
" ], "Condition": { "StringLike": { "kms:ViaService": [ "secretsmanager.${Region}
.amazonaws.com" ] } } }, }
Permissões para conversar com seu documento
Anexe a política a seguir a fim de fornecer permissões para que o perfil use os modelos do Amazon Bedrock para executar conversar com seu documento:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock:RetrieveAndGenerate" ], "Resource": "*" } ] }
Se você quiser conceder acesso a um usuário 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 uma ${KnowledgeBaseArn}
e use a seguinte política:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock:RetrieveAndGenerate" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "bedrock:Retrieve" ], "Resource":
${KnowledgeBaseArn}
} ] }
(Opcional) Permissões para acessar seu índice Amazon Kendra GenAI
Se você criou um índice Amazon Kendra GenAI para sua base de conhecimento, anexe a seguinte política à sua função de serviço do Amazon Bedrock Knowledge Bases para permitir o acesso ao índice. Na política, substitua ${Partition}
${Region}
,${AccountId}
, e ${IndexId}
pelos valores do seu índice. Você pode permitir o acesso a vários índices adicionando-os à Resource
lista. Para permitir o acesso a todos os índices do seu Conta da AWS, ${IndexId}
substitua por um caractere curinga (*).
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kendra:Retrieve", // To call their Retrieve API "kendra:DescribeIndex" // For validation when creating the KB ], "Resource": "arn:${
${Partition}
}:kendra:${${Region}
}:${${AccountId}
}:index/${${IndexId}
}" } ] }
(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 à sua função de serviço do Amazon Bedrock Knowledge Bases para permitir o acesso à coleção. Substitua ${Region}
e ${AccountId}
pela 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${CollectionId}
. É possível permitir acesso a várias coleções adicionando-as à lista Resource
.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "aoss:APIAccessAll" ], "Resource": [ "arn:aws:aoss:
${Region}
:${AccountId}
:collection/${CollectionId}
" ] }] }
(Opcional) Permissões para acessar o cluster de banco de dados do Amazon Aurora
Se tiver criado um cluster de banco de dados no Amazon Aurora para a base de conhecimento, anexe a política a seguir ao perfil de serviço do Amazon Bedrock Knowledge Bases a fim de permitir acesso ao cluster de banco de dados e fornecer permissões de leitura e gravação nele. Substitua ${Region}
e ${AccountId}
pela 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. ${DbClusterId}
É possível permitir acesso a vários clusters de banco de dados adicionando-os à lista Resource
.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "
RdsDescribeStatementID
", "Effect": "Allow", "Action": [ "rds:DescribeDBClusters" ], "Resource": [ "arn:aws:rds:${Region}
:${AccountId}
:cluster:${DbClusterId}
" ] }, { "Sid": "DataAPIStatementID", "Effect": "Allow", "Action": [ "rds-data:BatchExecuteStatement", "rds-data:ExecuteStatement" ], "Resource": [ "arn:aws:rds:${Region}
:${AccountId}
:cluster:${DbClusterId}
" ] }] }
(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 à sua função de serviço do Amazon Bedrock Knowledge Bases AWS Secrets Manager para permitir a autenticação de sua conta para acessar o banco de dados. Substitua ${Region}
e ${AccountId}
pela região e o ID da conta aos quais o banco de dados pertence. ${SecretId}
Substitua pelo ID do seu segredo.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:
${Region}
:${AccountId}
:secret:${SecretId}
" ] }] }
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 à sua função de serviço da Amazon Bedrock Knowledge Bases. Substitua o ${Region}
${AccountId}
, e ${KeyId}
pelos valores apropriados.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:
${Region}
:${AccountId}
:key/${KeyId}
" ] } ] }
(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}
pelos valores apropriados.
Permissões necessárias no perfil da base de conhecimento
O perfil da base de conhecimento fornecido durante a criação da base de conhecimento createKnowledgeBase
requer as permissões do Amazon S3 a seguir.
{ "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 ${Region}
a ${BucketOwnerAccountId}
e pelos 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 política de bucket do Amazon S3 a seguir. Substitua o ${KbRoleArn}
${BucketName}
, e ${BucketNameAndPrefix}
pelos 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 ${KmsKeyArn}
a ${KbRoleArn}
e pelos valores apropriados.
{ "Sid": "Example policy", "Effect": "Allow", "Principal": { "AWS": [ "
${KbRoleArn}
" ] }, "Action": [ "kms:Decrypt" ], "Resource": "${KmsKeyArn}
" }