View a markdown version of this page

Réduisez l'accès aux fournisseurs d'informations d'identification en fonction de l'identité de la charge de travail - Base rocheuse de l'Amazonie AgentCore

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.

Réduisez l'accès aux fournisseurs d'informations d'identification en fonction de l'identité de la charge de travail

Vous pouvez utiliser des politiques IAM pour contrôler quelles identités de charge de travail ont accès à des fournisseurs d'informations d'identification spécifiques. Cela permet un contrôle d'accès précis, garantissant que seuls les agents autorisés peuvent récupérer les informations d'identification pour des services particuliers.

Note

Le rôle IAM que vous attribuez à un agent contrôle les fournisseurs d'informations d'identification que l'agent peut appeler. Le service n'impose aucune liaison supplémentaire entre les identités de charge de travail et les fournisseurs d'informations d'identification d'un même compte. Pour suivre les pratiques du moindre privilège, définissez vos Resource blocs de politique IAM en fonction de l'identité de la charge de travail et des ARN des fournisseurs d'informations d'identification spécifiques au lieu de les utiliser. *

Un appel réussi à un fournisseur d'informations d'identification ne signifie pas que les informations d'identification sont automatiquement renvoyées. Les informations d'identification récupérées par une charge de travail sont limitées à l'identité de l'utilisateur dans son jeton d'accès à la charge de travail. Pour les fournisseurs OAuth2 (3LO), l'utilisateur final doit disposer d'une autorisation complète avant que des informations d'identification puissent être récupérées pour cette combinaison d'identité de charge de travail et d'utilisateur.

Mécanismes de contrôle d'accès

  • Restrictions basées sur l'identité de la charge de travail  : limitez l'accès des fournisseurs d'informations d'identification à des identités de charge de travail spécifiques

  • Resource-level autorisations — Contrôlez l'accès aux fournisseurs d'informations d'identification individuels à l'aide de politiques ARN-based

  • Directory-level contrôles — Gérez l'accès au niveau du répertoire d'identité de la charge de travail

  • Étendue des fournisseurs d'informations d'identification  : limitez les fournisseurs d'informations d'identification auxquels une identité de charge de travail peut accéder en incluant les ARN des fournisseurs d'informations d'identification dans le bloc de politique Resource

Exemples de politique IAM

Les exemples suivants montrent comment créer des politiques IAM qui limitent l'accès des fournisseurs d'informations d'identification en fonction de l'identité de la charge de travail et du fournisseur d'informations d'identification.

Restreindre l'accès à un fournisseur d'informations d'identification de clé API spécifique

Cette politique permet à une identité de charge de travail de récupérer les clés d'API uniquement auprès d'un fournisseur d'informations d'identification spécifique. L'ARN du fournisseur d'informations d'identification dans le Resource bloc restreint l'accès à ce fournisseur.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GetResourceApiKey", "Effect": "Allow", "Action": [ "bedrock-agentcore:GetResourceApiKey" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:<account_id>:workload-identity-directory/default", "arn:aws:bedrock-agentcore:us-east-1:<account_id>:workload-identity-directory/default/workload-identity/<workload-identity-name>", "arn:aws:bedrock-agentcore:us-east-1:<account_id>:token-vault/default", "arn:aws:bedrock-agentcore:us-east-1:<account_id>:token-vault/default/api-key/<provider-name>" ] } ] }

Restreindre l'accès à un fournisseur d'informations d'identification OAuth2 spécifique

Cette politique permet à une identité de charge de travail de récupérer des jetons OAuth2 uniquement auprès d'un fournisseur d'informations d'identification OAuth2 spécifique.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GetResourceOauth2Token", "Effect": "Allow", "Action": [ "bedrock-agentcore:GetResourceOauth2Token" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:<account_id>:workload-identity-directory/default", "arn:aws:bedrock-agentcore:us-east-1:<account_id>:workload-identity-directory/default/workload-identity/<workload-identity-name>", "arn:aws:bedrock-agentcore:us-east-1:<account_id>:token-vault/default", "arn:aws:bedrock-agentcore:us-east-1:<account_id>:token-vault/default/oauth2-credential-provider/<provider-name>" ] } ] }

Autoriser plusieurs identités de charge de travail à accéder à un fournisseur d'informations d'identification

Cette politique permet à plusieurs identités de charge de travail de récupérer les clés d'API auprès du même fournisseur d'informations d'identification.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GetResourceApiKeyMultipleIdentities", "Effect": "Allow", "Action": [ "bedrock-agentcore:GetResourceApiKey" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:<account_id>:workload-identity-directory/default", "arn:aws:bedrock-agentcore:us-east-1:<account_id>:workload-identity-directory/default/workload-identity/agent-1", "arn:aws:bedrock-agentcore:us-east-1:<account_id>:workload-identity-directory/default/workload-identity/agent-2", "arn:aws:bedrock-agentcore:us-east-1:<account_id>:workload-identity-directory/default/workload-identity/agent-3", "arn:aws:bedrock-agentcore:us-east-1:<account_id>:token-vault/default", "arn:aws:bedrock-agentcore:us-east-1:<account_id>:token-vault/default/api-key/<provider-name>" ] } ] }

Refuser l'accès à un fournisseur d'informations d'identification spécifique

Vous pouvez refuser explicitement l'accès à l'identité d'une charge de travail à un fournisseur d'informations d'identification spécifique à l'aide d'une Deny instruction. Les instructions Deny ont priorité sur les instructions Allow, ce qui les rend utiles pour créer des barrières.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyAccessToSensitiveProvider", "Effect": "Deny", "Action": [ "bedrock-agentcore:GetResourceApiKey", "bedrock-agentcore:GetResourceOauth2Token" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:<account_id>:token-vault/default/api-key/<sensitive-provider-name>", "arn:aws:bedrock-agentcore:us-east-1:<account_id>:token-vault/default/oauth2-credential-provider/<sensitive-provider-name>" ] } ] }

Utilisez des identités de charge de travail distinctes pour les différents fournisseurs d'informations d'identification

Si vous avez besoin de différents agents pour accéder à différents fournisseurs d'informations d'identification, créez des identités de charge de travail distinctes avec des rôles IAM distincts. Chaque rôle IAM est limité aux fournisseurs d'informations d'identification dont l'agent a besoin.

Par exemple, si l'agent A doit accéder uniquement au fournisseur X et que l'agent B doit accéder uniquement au fournisseur Y :

  1. Création d'une identité agent-a et d'une identité de charge de travail agent-b

  2. Créez un rôle IAM AgentARole avec une politique autorisant l'accès uniquement au fournisseur X

  3. Créez un rôle IAM AgentBRole avec une politique autorisant l'accès uniquement au fournisseur Y

  4. Associez chaque identité de charge de travail au rôle IAM correspondant

Politique IAM pour l'agent A (accès au fournisseur X uniquement)

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AgentAAccessProviderX", "Effect": "Allow", "Action": [ "bedrock-agentcore:GetResourceApiKey" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:<account_id>:workload-identity-directory/default", "arn:aws:bedrock-agentcore:us-east-1:<account_id>:workload-identity-directory/default/workload-identity/agent-a", "arn:aws:bedrock-agentcore:us-east-1:<account_id>:token-vault/default", "arn:aws:bedrock-agentcore:us-east-1:<account_id>:token-vault/default/api-key/provider-x" ] } ] }

Politique IAM pour l'agent B (accès au fournisseur Y uniquement)

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AgentBAccessProviderY", "Effect": "Allow", "Action": [ "bedrock-agentcore:GetResourceApiKey" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:<account_id>:workload-identity-directory/default", "arn:aws:bedrock-agentcore:us-east-1:<account_id>:workload-identity-directory/default/workload-identity/agent-b", "arn:aws:bedrock-agentcore:us-east-1:<account_id>:token-vault/default", "arn:aws:bedrock-agentcore:us-east-1:<account_id>:token-vault/default/api-key/provider-y" ] } ] }

Étapes d’implémentation

Pour mettre en œuvre un contrôle d'accès basé sur l'identité de la charge de travail pour les fournisseurs d'informations d'identification :

  1. Identifiez les identités de votre charge de travail  : utilisez aws bedrock-agentcore-control list-workload-identities cette option pour répertorier toutes les identités de charge de travail de votre compte. Pour plus d'informations sur la création et la gestion des identités de charge de travail, voir Gérer les identités de charge de travail avec AgentCore Identity.

  2. Déterminez les ARN des fournisseurs d'informations d'identification  : identifiez les fournisseurs d'informations d'identification spécifiques auxquels vous souhaitez contrôler l'accès. Les ARN des fournisseurs d'informations d'identification suivent les formats suivants :

    • arn:aws:bedrock-agentcore:<region>:<account_id>:token-vault/default/api-key/<provider-name>

    • arn:aws:bedrock-agentcore:<region>:<account_id>:token-vault/default/oauth2-credential-provider/<provider-name>

  3. Création de politiques IAM  : rédigez des politiques IAM qui spécifient quelles identités de charge de travail peuvent accéder à quels fournisseurs d'informations d'identification

  4. Associer des politiques à des rôles  : associez les politiques aux rôles IAM utilisés par vos agents ou applications

  5. Tester les contrôles d'accès  : vérifiez que seules les identités de charge de travail autorisées peuvent accéder aux fournisseurs d'informations d'identification spécifiés

Bonnes pratiques

  • Utilisez des noms descriptifs pour les identités des charges de travail afin de faciliter la gestion des politiques

  • Incluez les ARN des fournisseurs d'informations d'identification dans le Resource bloc pour limiter l'accès à des fournisseurs spécifiques, plutôt que d'accorder l'accès à tous les fournisseurs du compte

  • Utilisez des identités de charge de travail et des rôles IAM distincts lorsque différents agents ont besoin d'accéder à différents fournisseurs d'informations d'identification

  • Utilisez Deny des déclarations explicites pour créer des barrières qui empêchent l'accès aux fournisseurs d'informations d'identification sensibles, indépendamment des autres politiques

  • Auditez et révisez régulièrement les politiques d'accès pour vous assurer qu'elles sont conformes à vos exigences de sécurité

  • Envisagez d'utiliser les conditions de politique IAM pour des contrôles d'accès supplémentaires en fonction de l'heure, de l'adresse IP ou d'autres facteurs

  • Testez les politiques dans un environnement de développement avant de les appliquer aux charges de travail de production