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 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.
nota
Uma política não pode ser compartilhada entre várias funções quando a função de serviço é usada.
-
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
Permissões para acessar seu banco de dados vetoriais no Amazon OpenSearch Serverless
Permissões para acessar seu banco de dados vetoriais em clusters OpenSearch gerenciados
Permissões para acessar seu cluster de banco de dados Amazon Aurora
Permissões para acessar seu banco de dados vetoriais no Amazon Neptune Analytics
Permissões para acessar um banco de dados vetorial configurado com um AWS Secrets Manager segredo
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}
}
]
}
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}
}"
}
]
}
Permissões para acessar seu banco de dados vetoriais no Amazon OpenSearch Serverless
Se você criou um banco de dados vetorial no OpenSearch Serverless 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 o 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}
"
]
}]
}
Permissões para acessar seu banco de dados vetoriais em clusters OpenSearch gerenciados
Se você criou um banco de dados vetoriais no OpenSearch Managed Cluster 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 domínio. Substitua <region>
e <accountId>
pela região e o ID da conta aos quais o banco de dados pertence. Você pode permitir o acesso a vários domínios adicionando-os à Resource
lista. Para obter mais informações sobre a configuração de permissões, consulte Pré-requisitos e permissões necessários para usar clusters OpenSearch gerenciados com as bases de conhecimento Amazon Bedrock.
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": [
"es:ESHttpGet",
"es:ESHttpPost",
"es:ESHttpPut",
"es:ESHttpDelete"
],
"Resource": [
"arn:<partition>
:es:<region>
:<accountId>
:domain/<domainName>
/<indexName>
"
]
},
{
"Effect": "Allow"
},
"Action": [
"es:DescribeDomain"
],
"Resource": [
"arn:<partition>
:es:<region>
:<accountId>
:domain/<domainName>
"
]
]
}
Permissões para acessar seu cluster de banco de dados 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}
"
]
}]
}
Permissões para acessar seu banco de dados vetoriais no Amazon Neptune Analytics
Se você criou um gráfico do Amazon Neptune Analytics 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 gráfico. Na política, substitua ${Region}
e ${AccountId}
pela região e o ID da conta aos quais o banco de dados pertence. ${GraphId}
Substitua pelos valores do seu banco de dados gráfico.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "NeptuneAnalyticsAccess",
"Effect": "Allow",
"Action": [
"neptune-graph:GetGraph",
"neptune-graph:ReadDataViaQuery",
"neptune-graph:WriteDataViaQuery",
"neptune-graph:DeleteDataViaQuery"
],
"Resource": [
"arn:aws:neptune-graph:${Region}
:${AccountId}
:graph/${GraphId}
"
]
}]
}
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
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}
"
]
}
]
}
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}
"
}