View a markdown version of this page

Politiques relatives aux ressources pour les bases de connaissances gérées - 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.

Politiques relatives aux ressources pour les bases de connaissances gérées

Une politique basée sur les ressources est un document JSON que vous attachez directement à une base de connaissances gérée. Il contrôle les principaux IAM autorisés à effectuer des actions sur la base de connaissances, ce qui permet des cas d'utilisation tels que l'accès entre comptes. La politique soutient les deux Allow et leurs Deny effets.

Important

Resource-based les politiques ne sont prises en charge que pour les bases de connaissances gérées (typeMANAGED). Les bases de connaissances vectorielles (typeVECTOR) ne prennent pas en charge les politiques relatives aux ressources.

Actions prises en charge

Les actions suivantes peuvent être utilisées dans une politique de ressources de base de connaissances :

Action Description
bedrock:Retrieve Interrogez la base de connaissances et récupérez les résultats pertinents à partir des sources de données.
bedrock:GetDocumentContent Récupérez le contenu complet d'un document spécifique à partir de la source de données de la base de connaissances.
Note

Control-plane les opérations telles queGetKnowledgeBase, UpdateKnowledgeBaseDeleteKnowledgeBase, et les opérations de gestion des sources de données ne peuvent pas être utilisées dans les politiques de ressources. Ces opérations doivent être effectuées par les principaux dans le compte du propriétaire de la base de connaissances.

Exigences relatives à la politique des ressources

Les politiques relatives aux ressources de la base de connaissances suivent la syntaxe standard des politiques IAM. Pour plus de détails sur les éléments de stratégie et la logique d'évaluation, consultez la référence des éléments de stratégie IAM JSON dans le guide de Gestion des identités et des accès AWS l'utilisateur.

Les contraintes spécifiques aux services suivantes s'appliquent :

  • Bases de connaissances gérées uniquement. Les politiques de ressources ne peuvent être associées qu'à des bases de connaissances de ce typeMANAGED. Toute tentative d'associer une politique de ressources à une base VECTOR de connaissances de type renvoie une erreur.

  • Actions prises en charge. Uniquement bedrock:Retrieve et bedrock:GetDocumentContent utilisable dans les politiques de ressources.

  • Aucun caractère générique dans Resource ou Action. Vous devez spécifier l'ARN complet de la base de connaissances dans l'Resourceélément et répertorier explicitement chaque action. Les caractères génériques ne sont pas pris en charge dans ces éléments.

Comment fonctionne l'accès entre comptes

Cross-account l'accès permet aux responsables d'autres AWS comptes d'appeler Retrieve et d'accéder à votre GetDocumentContent base de connaissances. Pour accéder au travail entre comptes, les deux conditions suivantes doivent être remplies :

  • Le propriétaire de la base de connaissances joint une politique de ressources qui accorde l'accès au principal appelant.

  • Le principal appelant dispose d'une politique basée sur l'identité qui autorise les actions Amazon Bedrock correspondantes sur l'ARN de la base de connaissances.

Pour plus d'informations sur la manière dont IAM évalue l'accès entre comptes, consultez la logique d'évaluation des Cross-account politiques dans le guide de l' Gestion des identités et des accès AWS utilisateur.

Exemple : accorder un accès entre comptes

La politique de ressources suivante accorde à un rôle IAM spécifique dans un autre compte l'autorisation d'appeler Retrieve et GetDocumentContent :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCrossAccountRetrieve", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::CONSUMER_ACCOUNT_ID:role/service-role-name" }, "Action": [ "bedrock:Retrieve", "bedrock:GetDocumentContent" ], "Resource": "arn:aws:bedrock:REGION:OWNER_ACCOUNT_ID:knowledge-base/KB_ID" } ] }

Accorder l'accès à plusieurs principaux

Pour accorder l'accès à plusieurs rôles consommateurs, listez l'ARN de chaque rôle Principal.AWS sous forme de tableau :

"Principal": { "AWS": [ "arn:aws:iam::ACCOUNT_ID_1:role/role-name-1", "arn:aws:iam::ACCOUNT_ID_2:role/role-name-2" ] }

Pour accorder l'accès à tous les principaux d'un autre compte, utilisez le compte root comme principal :

"Principal": { "AWS": "arn:aws:iam::CONSUMER_ACCOUNT_ID:root" }

Utilisation des instructions Deny

Les politiques en matière de ressources soutiennent les deux Allow et Deny leurs effets. Un élément explicite Deny dans une politique de ressources remplace tout Allow élément de la politique basée sur l'identité du principal.

{ "Sid": "DenySpecificPrincipals", "Effect": "Deny", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:role/role-name" }, "Action": [ "bedrock:Retrieve", "bedrock:GetDocumentContent" ], "Resource": "arn:aws:bedrock:REGION:OWNER_ACCOUNT_ID:knowledge-base/KB_ID" }

Gérer les politiques relatives aux ressources

Pour gérer les politiques de ressources sur les bases de connaissances, le principal IAM du propriétaire de la base de connaissances a besoin des autorisations suivantes :

Action Description
bedrock:PutResourcePolicy Associez ou mettez à jour une politique basée sur les ressources dans une base de connaissances.
bedrock:GetResourcePolicy Consultez la politique basée sur les ressources attachée à une base de connaissances.
bedrock:DeleteResourcePolicy Supprimez la politique basée sur les ressources d'une base de connaissances.

Exemple de politique pour le propriétaire de la base de connaissances

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock:PutResourcePolicy", "bedrock:GetResourcePolicy", "bedrock:DeleteResourcePolicy" ], "Resource": "arn:aws:bedrock:REGION:ACCOUNT_ID:knowledge-base/KB_ID" } ] }

Opérations d'API

PutResourcePolicy— Attache ou remplace une politique basée sur les ressources dans une base de connaissances.

PUT /resourcepolicy/{knowledgeBaseArn} HTTP/1.1 Content-Type: application/json { "policy": "{policyDocument}" }

Le policy champ est une JSON-escaped chaîne contenant le document de politique.

GetResourcePolicy— Renvoie la politique basée sur les ressources actuellement attachée à une base de connaissances.

GET /resourcepolicy/{knowledgeBaseArn} HTTP/1.1

Renvoie un ResourceNotFoundException si aucune politique n'est attachée.

DeleteResourcePolicy— Supprime la politique basée sur les ressources d'une base de connaissances.

DELETE /resourcepolicy/{knowledgeBaseArn} HTTP/1.1

Gestion des versions des politiques de ressources

Lorsque vous appelezPutResourcePolicy, l'API renvoie un policyRevisionId qui représente la version actuelle de la politique. Vous pouvez éventuellement inclure cet ID de révision dans les PutResourcePolicy appels suivants pour appliquer un verrouillage optimiste.

  • Si vous fournissez un policyRevisionId qui correspond à la version actuelle, la mise à jour aboutit et un nouvel identifiant de révision est renvoyé.

  • Si vous fournissez une version policyRevisionId qui ne correspond pas à la version actuelle (parce qu'un autre principal a mis à jour la politique entre-temps), l'appel échoue avec une erreur de conflit. Récupérez la politique actuelle, fusionnez vos modifications et réessayez.

  • Si vous omettez lepolicyRevisionId, la politique est remplacée sans condition, quelles que soient les modifications simultanées.

Utilisez l'ID de révision lorsque plusieurs administrateurs ou systèmes d'automatisation peuvent mettre à jour simultanément la même politique de base de connaissances, afin d'éviter les remplacements accidentels.

Configuration du compte client

Dans le compte consommateur, associez une politique basée sur l'identité au principal qui doit accéder à la base de connaissances partagée. La politique doit autoriser les actions Amazon Bedrock correspondantes sur l'ARN de la base de connaissances du compte propriétaire.

Exemple de politique basée sur l'identité

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock:Retrieve", "bedrock:GetDocumentContent" ], "Resource": "arn:aws:bedrock:REGION:OWNER_ACCOUNT_ID:knowledge-base/KB_ID" } ] }