Création d'un rôle de service pour les bases de connaissances d'Amazon Bedrock - Amazon Bedrock

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Création d'un rôle de service pour les bases de connaissances d'Amazon Bedrock

Pour utiliser un rôle personnalisé pour une base de connaissances au lieu de celui créé automatiquement par Amazon Bedrock, créez un IAM rôle et associez les autorisations suivantes en suivant les étapes de la section Création d'un rôle pour déléguer des autorisations à un AWS service. N'incluez que les autorisations nécessaires pour votre propre sécurité.

  • Relation d'approbation

  • Accès aux modèles de base Amazon Bedrock

  • Accès à la source de données dans laquelle vous stockez vos données

  • (Si vous créez une base de données vectorielle dans Amazon OpenSearch Service) Accès à votre collection OpenSearch de services

  • (Si vous créez une base de données vectorielle dans Amazon Aurora) Accès à votre cluster Aurora

  • (Si vous créez une base de données vectorielle dans Pinecone ouRedis Enterprise Cloud) Autorisations AWS Secrets Manager pour authentifier votre compte Pinecone OR Redis Enterprise Cloud

  • (Facultatif) Si vous chiffrez l'une des ressources suivantes avec une KMS clé, autorisations pour déchiffrer la clé (voirChiffrement des ressources des bases de connaissances).

    • Votre base de connaissances

    • Sources de données pour votre base de connaissances

    • Votre base de données vectorielle dans Amazon OpenSearch Service

    • Le secret de votre base de données vectorielle tierce dans AWS Secrets Manager

    • Une tâche d’ingestion de données

Relation d'approbation

La politique suivante permet à Amazon Bedrock d’endosser ce rôle, de créer des bases de connaissances et de les gérer. L'exemple suivant illustre un exemple de politique que vous pouvez utiliser. Vous pouvez restreindre la portée de l’autorisation en utilisant une ou plusieurs clés contextuelles de condition globale. Pour plus d’informations, consultez Clés contextuelles de condition globale AWS. Définissez la valeur aws:SourceAccount sur l'ID de votre compte. Vous pouvez utiliser la condition ArnEquals ou ArnLike pour limiter le champ d’application à des bases de connaissances spécifiques.

Note

À titre de bonne pratique pour des raisons de sécurité, remplacez le * avec une base de connaissances spécifique IDs une fois que vous les avez créées.

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

Autorisations d'accès aux modèles Amazon Bedrock

Associez la politique suivante pour accorder au rôle l’autorisation d’utiliser les modèles Amazon Bedrock pour intégrer vos données sources.

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

Autorisations d'accès à vos sources de données

Sélectionnez l'une des sources de données suivantes pour associer les autorisations nécessaires au rôle.

Autorisations d'accès à votre source de données Amazon S3

Joignez la politique suivante pour autoriser le rôle à accéder à Amazon S3.

Si vous avez chiffré la source de données à l'aide d'une AWS KMS clé, associez des autorisations pour déchiffrer la clé au Autorisations pour déchiffrer votre AWS KMS clé pour vos sources de données dans Amazon S3 rôle en suivant les étapes décrites dans.

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

Autorisations d'accès à votre source de données Confluence

Note

Le connecteur de source de données Confluence est en version préliminaire et est sujet à modification.

Joignez la politique suivante pour autoriser le rôle à accéder à Confluence.

Note

secretsmanager:PutSecretValuen'est nécessaire que si vous utilisez l'authentification OAuth 2.0 avec un jeton d'actualisation.

Le jeton d'accès Confluence OAuth2 2.0 a un délai d'expiration par défaut de 60 minutes. Si ce jeton expire pendant la synchronisation de votre source de données (tâche de synchronisation), Amazon Bedrock utilisera le jeton d'actualisation fourni pour le régénérer. Cette régénération actualise à la fois les jetons d'accès et d'actualisation. Pour maintenir les jetons à jour entre la tâche de synchronisation en cours et la tâche de synchronisation suivante, Amazon Bedrock a besoin d'autorisations d'écriture et de saisie pour vos informations d'identification secrètes.

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

Autorisations d'accès à votre source SharePoint de données Microsoft

Note

SharePoint le connecteur de source de données est en version préliminaire et est sujet à modification.

Joignez la politique suivante pour fournir des autorisations d'accès au rôle 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" ] } } }, }

Autorisations d'accès à votre source de données Salesforce

Note

Le connecteur de source de données Salesforce est en version préliminaire et est sujet à modification.

Joignez la politique suivante pour autoriser le rôle à accéder à 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" ] } } }, }

Autorisations pour discuter avec votre document

Joignez la politique suivante pour autoriser le rôle à utiliser les modèles Amazon Bedrock pour discuter avec votre document :

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

Si vous souhaitez uniquement autoriser un utilisateur à discuter avec votre document (et non à accéder à toutes RetrieveAndGenerate les bases de connaissances), appliquez la politique suivante :

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

Si vous souhaitez à la fois discuter avec votre document et l'utiliser RetrieveAndGenerate sur une base de connaissances spécifique, fournissez insert KB ARN, et appliquez la politique suivante :

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

(Facultatif) Autorisations pour accéder à votre base de données vectorielle dans Amazon OpenSearch Service

Si vous avez créé une base de données vectorielle dans Amazon OpenSearch Service pour votre base de connaissances, associez la politique suivante à votre rôle de service dans les bases de connaissances pour Amazon Bedrock afin de permettre l'accès à la collection. Remplacez region and account-id avec la région et l'ID de compte auxquels appartient la base de données. Entrez l'ID de votre collection Amazon OpenSearch Service dans collection-id. Vous pouvez autoriser l'accès à plusieurs collections en les ajoutant à la Resource liste.

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

(Facultatif) Autorisations d’accès à votre cluster de bases de données Amazon Aurora

Si vous avez créé un cluster de base de données (DB) dans Amazon Aurora pour votre base de connaissances, associez la politique suivante à votre rôle de service Bases de connaissances pour Amazon Bedrock afin d'autoriser l'accès au cluster de base de données et de fournir des autorisations de lecture et d'écriture sur celui-ci. Remplacez region and account-id avec la région et l'ID de compte auxquels appartient le cluster de base de données. Entrez l'ID de votre cluster de base de données Amazon Aurora dans db-cluster-id. Vous pouvez autoriser l'accès à plusieurs clusters de bases de données en les ajoutant à la Resource liste.

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

(Facultatif) Autorisations d'accès à une base de données vectorielle configurée avec un AWS Secrets Manager secret

Si votre base de données vectorielle est configurée avec un AWS Secrets Manager secret, associez la politique suivante à votre rôle de service Bases de connaissances pour Amazon Bedrock afin de permettre AWS Secrets Manager à votre compte d'accéder à la base de données d'authentification. Remplacez region and account-id avec la région et l'ID de compte auxquels appartient la base de données. Remplacez secret-id avec l'identifiant de votre secret.

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

Si vous avez chiffré votre secret à l'aide d'une AWS KMS clé, associez des autorisations pour déchiffrer la clé au rôle en suivant les étapes décrites dansAutorisations permettant de déchiffrer un AWS Secrets Manager secret pour le magasin de vecteurs contenant votre base de connaissances.

(Facultatif) Autorisations permettant AWS de gérer une AWS KMS clé pour le stockage de données transitoires lors de l'ingestion de données

Pour autoriser la création d'une AWS KMS clé pour le stockage de données transitoires lors de l'ingestion de votre source de données, associez la politique suivante à votre rôle de service dans les bases de connaissances pour Amazon Bedrock. Remplacez le region, account-id, et key-id avec les valeurs appropriées.

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

(Facultatif) Autorisations AWS permettant de gérer une source de données à partir du AWS compte d'un autre utilisateur.

Pour autoriser l'accès au AWS compte d'un autre utilisateur, vous devez créer un rôle qui autorise l'accès entre comptes à un compartiment Amazon S3 dans le compte d'un autre utilisateur. Remplacez le bucketName, bucketOwnerAccountId, et bucketNameAndPrefix avec les valeurs appropriées.

Autorisations requises pour le rôle de base de connaissances

Le rôle de base de connaissances fourni lors de la création de la base de connaissances createKnowledgeBase nécessite les autorisations Amazon S3 suivantes.

{ "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 le compartiment Amazon S3 est chiffré à l'aide d'une AWS KMS clé, les éléments suivants doivent également être ajoutés au rôle de base de connaissances. Remplacez le bucketOwnerAccountId and region avec les valeurs appropriées.

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

Autorisations requises dans le cadre d'une politique de compartiment Amazon S3 entre comptes

Le compartiment de l'autre compte nécessite la politique de compartiment Amazon S3 suivante. Remplacez le kbRoleArn, bucketName, et bucketNameAndPrefix avec les valeurs appropriées.

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

Autorisations requises sur la politique des AWS KMS clés entre comptes

Si le compartiment Amazon S3 entre comptes est chiffré à l'aide d'une AWS KMS clé dans ce compte, la politique de la AWS KMS clé nécessite la politique suivante. Remplacez le kbRoleArn and kmsKeyArn avec les valeurs appropriées.

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