Cree un rol de servicio para las bases de conocimiento de Amazon Bedrock - Amazon Bedrock

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Cree un rol de servicio para las bases de conocimiento de Amazon Bedrock

Para usar un rol personalizado para una base de conocimientos en lugar del que Amazon Bedrock crea automáticamente, cree un rol de IAM y adjunte los siguientes permisos siguiendo los pasos que se indican en Crear un rol para delegar permisos a un AWS servicio. Incluya solo los permisos necesarios para su propia seguridad.

  • Relación de confianza

  • Acceso a los modelos base de Amazon Bedrock

  • Acceda a la fuente de datos en la que almacena los datos

  • (Si creas una base de datos vectorial en Amazon OpenSearch Service) Accede a tu colección OpenSearch de servicios

  • (Si crea una base de datos vectorial en Amazon Aurora)

  • (Si crea una base de datos vectorial en Pinecone oRedis Enterprise Cloud) Permisos AWS Secrets Manager para autenticar su Pinecone cuenta Redis Enterprise Cloud

  • (Opcional) Si cifra alguno de los siguientes recursos con una clave KMS, permisos para descifrar la clave (consulte Cifrado de recursos de bases de conocimientos).

    • Su base de conocimientos

    • Orígenes de datos para bases de conocimientos

    • Tu base de datos vectoriales en Amazon OpenSearch Service

    • El secreto de tu base de datos vectorial de terceros en AWS Secrets Manager

    • Un trabajo de ingesta de datos

Relación de confianza

La siguiente política permite a Amazon Bedrock asumir este rol y crear y gestionar bases de conocimientos. A continuación se muestra un ejemplo de política que puede utilizar. Puede restringir el alcance del permiso mediante una o más claves de contexto de condiciones globales. Para obtener más información, consulte las claves de contexto de condición globales de AWS. Configure el valor aws:SourceAccount en el ID de su cuenta. Use la condición ArnEquals o ArnLike para restringir el alcance a bases de conocimiento específicas.

nota

Como práctica recomendada por motivos de seguridad, sustituya el * por identificadores de bases de conocimiento específicas después de crearlas.

{ "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/*" } } }] }

Permisos para acceder a los modelos de Amazon Bedrock

Asocie la siguiente política para proporcionar permisos al rol para usar modelos de Amazon Bedrock para incrustar sus datos de origen.

{ "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" ] } ] }

Permisos para acceder a sus fuentes de datos

Seleccione una de las siguientes fuentes de datos para adjuntar los permisos necesarios para el rol.

Permisos para acceder a la fuente de datos de Amazon S3

Adjunte la siguiente política para proporcionar permisos para que el rol acceda a Amazon S3.

Si cifró la fuente de datos con una AWS KMS clave, adjunte los permisos para descifrar la clave al rol siguiendo los pasos que se indican enPermisos para descifrar la AWS KMS clave de las fuentes de datos en 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" } } }] }

Permisos para acceder a tu fuente de datos de Confluence

nota

El conector de fuentes de datos de Confluence se encuentra en versión preliminar y está sujeto a cambios.

Adjunta la siguiente política para proporcionar permisos al rol para acceder a Confluence.

{ "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" ] } } }, }

Permisos para acceder a la fuente de SharePoint datos de Microsoft

nota

SharePoint El conector de la fuente de datos se encuentra en versión preliminar y está sujeto a cambios.

Adjunta la siguiente política para proporcionar permisos de acceso al rol 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" ] } } }, }

Permisos para acceder a su fuente de datos de Salesforce

nota

El conector de fuentes de datos de Salesforce se encuentra en versión preliminar y está sujeto a cambios.

Adjunta la siguiente política para proporcionar permisos para que el rol acceda a 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" ] } } }, }

Permisos para chatear con su documento

Adjunta la siguiente política para proporcionar permisos para que el rol utilice los modelos de Amazon Bedrock para chatear con tu documento:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock:RetrieveAndGenerate" ], "Resource": "*" } ] }

Si solo quieres conceder a un usuario acceso a chatear con tu documento (y no a todas RetrieveAndGenerate las bases de conocimiento), utiliza la siguiente política:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock:RetrieveAndGenerate" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "bedrock:Retrieve" ], "Resource": "*" } ] }

Si desea chatear con su documento y usarlo RetrieveAndGenerate en una base de conocimientos específica, introduzca KB ARN y utilice la siguiente política:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock:RetrieveAndGenerate" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "bedrock:Retrieve" ], "Resource": insert KB ARN } ] }

(Opcional) Permisos para acceder a tu base de datos vectoriales en Amazon OpenSearch Service

Si ha creado una base de datos vectorial en Amazon OpenSearch Service para su base de conocimientos, adjunte la siguiente política a su función de servicio de Knowledge Bases for Amazon Bedrock para permitir el acceso a la colección. Sustituya region y account-id por la región y el identificador de cuenta a los que pertenece la base de datos. Introduce el ID de tu colección de Amazon OpenSearch Service en collection-id. Puede permitir el acceso a varias colecciones si las agrega a la lista de Resource.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "aoss:APIAccessAll" ], "Resource": [ "arn:aws:aoss:region:account-id:collection/collection-id" ] }] }

(Opcional) Permisos para acceder al clúster de base de datos de Amazon Aurora

Si ha creado un clúster de base de datos (DB) en Amazon Aurora para su base de conocimientos, adjunte la siguiente política a su función de servicio de Knowledge Bases for Amazon Bedrock para permitir el acceso al clúster de base de datos y proporcionarle permisos de lectura y escritura. Sustituya region y account-id por la región y el identificador de cuenta a los que pertenece el clúster de base de datos. Introduzca el ID de su clúster de base de datos de Amazon Aurora db-cluster-id. Puede permitir el acceso a varios clústeres de bases de datos si las agrega a la lista Resource.

{ "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) Permisos para acceder a una base de datos vectorial configurada con un AWS Secrets Manager secreto

Si su base de datos vectorial está configurada con un AWS Secrets Manager secreto, adjunte la siguiente política a su función de servicio de Knowledge Bases for Amazon Bedrock para permitir AWS Secrets Manager autenticar su cuenta para acceder a la base de datos. Sustituya region y account-id por la región y el identificador de cuenta a los que pertenece la base de datos. Reemplace secret-id por el identificador del secreto.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:region:account-id:secret:secret-id" ] }] }

Si cifró su secreto con una AWS KMS clave, adjunte los permisos para descifrar la clave al rol siguiendo los pasos que se indican en. Permisos para descifrar un AWS Secrets Manager secreto para el almacén de vectores que contiene tu base de conocimientos

(Opcional) Permisos AWS para administrar una AWS KMS clave para el almacenamiento transitorio de datos durante la ingesta de datos

Para permitir la creación de una AWS KMS clave para el almacenamiento de datos transitorio en el proceso de ingesta de su fuente de datos, adjunte la siguiente política a su función de servicio de Knowledge Bases for Amazon Bedrock. Sustituya region, account-id y key-id por los valores correspondientes.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:region:account-id:key/key-id" ] } ] }

(Opcional) Permisos AWS para administrar una fuente de datos desde la cuenta de otro usuario. AWS

Para permitir el acceso a la AWS cuenta de otro usuario, debe crear un rol que permita el acceso entre cuentas a un bucket de Amazon S3 de la cuenta de otro usuario. Sustituya BucketName bucketOwnerAccount, Id bucketNameAndy Prefix por los valores correspondientes.

Se requieren permisos para el rol de Knowledge Base

La función de base de conocimientos que se proporciona durante la creación de la base de conocimientos createKnowledgeBase requiere los siguientes permisos de 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" } }] }

Si el bucket de Amazon S3 se cifra con una AWS KMS clave, también es necesario añadir lo siguiente a la función de base de conocimientos. Sustituya el bucketOwnerAccountidentificador y la región por los valores adecuados.

{ "Sid": "KmsDecryptStatement", "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:region:bucketOwnerAccountId:key/keyId" ], "Condition": { "StringEquals": { "kms:ViaService": [ "s3.region.amazonaws.com" ] } } }

Permisos necesarios en una política de bucket multicuenta de Amazon S3

El bucket de la otra cuenta requiere la siguiente política de bucket de Amazon S3. Sustituya BucketName bucketNameAnd y Prefix por los valores correspondientes. kbRoleArn

{ "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/*" ] } ] }

Se requieren permisos en la política de claves multicuentas AWS KMS

Si el bucket multicuenta de Amazon S3 se cifra con una AWS KMS clave de esa cuenta, la política de la AWS KMS clave exige la siguiente política. Sustituya kbRoleArny por kmsKeyArnlos valores adecuados.

{ "Sid": "Example policy", "Effect": "Allow", "Principal": { "AWS": [ "kbRoleArn" ] }, "Action": [ "kms:Decrypt" ], "Resource": "kmsKeyArn" }