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á.
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 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 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 as fontes de dados
- Permissões para conversar com seu documento
- (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 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. É 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
Anexe a política a seguir para fornecer permissões para que o perfil 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 uma chave do AWS KMS para as 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": "${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 segredo do AWS Secrets Manager para o armazenamento de vetores que contém a 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}
"
}