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.
AgentCore Passerelle et politique dans les AgentCore autorisations IAM
Ce guide fournit les autorisations IAM requises pour utiliser Amazon Bedrock AgentCore Gateway avec Policy in AgentCore pour un contrôle des autorisations précis à l'aide des politiques Cedar.
Vue d’ensemble
Lors de l'intégration d'Amazon Bedrock AgentCore Gateway à Policy in AgentCore, deux rôles IAM distincts sont requis :
-
Rôle d'exécution de la passerelle : rôle IAM qu'Amazon Bedrock AgentCore Gateway assume lors de l'exécution pour invoquer des cibles et évaluer les politiques de Cedar
-
Rôle de gestion des ressources : rôle IAM utilisé par les administrateurs pour créer et gérer Amazon Bedrock AgentCore Gateway et la politique en matière de ressources AgentCore
Les deux rôles ont des objectifs différents et nécessitent des autorisations spécifiques. Le rôle d'exécution de passerelle nécessite des autorisations pour exécuter les opérations d'Amazon Bedrock AgentCore Gateway, tandis que le rôle de gestion des ressources a besoin d'autorisations pour configurer et gérer Amazon Bedrock AgentCore Gateway et la politique en AgentCore matière de ressources.
Rôle d'exécution de la passerelle
Le rôle d'exécution de la passerelle est assumé par le service Amazon Bedrock AgentCore Gateway lors du traitement des demandes. Ce rôle nécessite des autorisations pour :
-
Évaluez les politiques de Cedar grâce à Policy in AgentCore
-
Invoquez des cibles telles que des fonctions Lambda et des points de terminaison API Gateway
-
Écrire des journaux et des traces vers CloudWatch et X-Ray
-
Secrets d'accès pour les configurations d'authentification
Important
Le rôle d'exécution doit inclure ces trois autorisations pour utiliser Amazon Bedrock AgentCore Gateway avec Policy in AgentCore :. bedrock-agentcore:AuthorizeAction - Évalue les politiques de Cedar pour les décisions d'autorisation. bedrock-agentcore:PartiallyAuthorizeActions - Répertorie les outils que l'appelant est autorisé à invoquer. bedrock-agentcore:GetPolicyEngine - Récupère la configuration du moteur de politiques Sans ces autorisations, la passerelle ne peut pas effectuer d'autorisation de stratégie. Cela se manifeste de deux manières : l'attachement d'un moteur de politique à une passerelle existante entraînera un InternalServerException, et toutes les invocations d'outils seront refusées par défaut, même si des politiques d'autorisation sont configurées.
Stratégie d’approbation
Le rôle d'exécution de la passerelle doit faire confiance au principal du bedrock-agentcore.amazonaws.com service.
Important
Remplacez les espaces réservés suivants :* us-east-1 par la AWS région * 123456789012 par l'identifiant du AWS compte
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowBedrockAgentCoreAssumeRole", "Effect": "Allow", "Principal": { "Service": "bedrock-agentcore.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:bedrock-agentcore:us-east-1:123456789012:*" } } } ] }
Stratégie d'autorisation
Cette politique accorde à Amazon Bedrock AgentCore Gateway les autorisations nécessaires pour évaluer les politiques de Cedar via Policy in AgentCore. Les autorisations sont divisées en deux déclarations selon les principes du moindre privilège.
Important
Remplacez ces espaces réservés :* us-east-1 par la AWS région * 123456789012 par l'ID de AWS compte * <gateway-id> par l'ID de passerelle (ou utilisez * pour toutes les passerelles) * <policy-engine-id> par l'ID du moteur de politique (ou utilisez * pour tous les moteurs de politiques)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PolicyEngineConfiguration", "Effect": "Allow", "Action": [ "bedrock-agentcore:GetPolicyEngine" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:123456789012:policy-engine/<policy-engine-id>" ] }, { "Sid": "PolicyEngineAuthorization", "Effect": "Allow", "Action": [ "bedrock-agentcore:AuthorizeAction", "bedrock-agentcore:PartiallyAuthorizeActions" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:123456789012:policy-engine/<policy-engine-id>", "arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/<gateway-id>" ] } ] }
Note
* Des autorisations supplémentaires peuvent être requises en fonction du type d'intégration Amazon Bedrock AgentCore Gateway (par exemple, fonctions Lambda, points de terminaison API Gateway). Ces autorisations ne sont pas incluses ici car elles varient en fonction de l'intégration spécifique. * Pour la production : remplacez les espaces réservés par des identifiants de ressources spécifiques (par exemple, policy-engine/my-policy-engine-id au lieu depolicy-engine/<policy-engine-id>) pour respecter le principe du moindre privilège, ou utilisez des caractères génériques (*) pour autoriser l'accès à toutes les ressources de ce type.
Autorisations IAM pour les politiques temporelles
Les politiques temporelles obligent la passerelle à propager l'identité de session de l'appelant à travers la demande en émettant un jeton d'accès à la charge de travail (WAT). Sur le flux entrant AWS IAM, cette monnaie appelle. GetWorkloadAccessToken Accordez le rôle d'exécution de la passerellebedrock-agentcore:GetWorkloadAccessToken, limité au répertoire d'identité de la charge de travail de la passerelle. Ajoutez cette autorisation en plus des trois autorisations de stratégie (AuthorizeAction,PartiallyAuthorizeActions,GetPolicyEngine) déjà documentées sur cette page. Cette autorisation n'est requise que lorsque la politique temporelle est active (un ID de session de politique est fourni et un moteur de stratégie est attaché) ; elle n'est pas nécessaire lorsque la politique temporelle est désactivée.
Ajoutez la déclaration suivante à la politique d'autorisation du rôle d'exécution de la passerelle :
{ "Sid": "PolicySessionWorkloadIdentity", "Effect": "Allow", "Action": [ "bedrock-agentcore:GetWorkloadAccessToken" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:123456789012:workload-identity-directory/default", "arn:aws:bedrock-agentcore:us-east-1:123456789012:workload-identity-directory/default/workload-identity/<gatewayId>*" ] }
Sans cette autorisation, les appels à l'outil échouent à l'étape tokenmint (AccessDeniedactivéGetWorkloadAccessToken) une fois que la politique temporelle est activée. Pour la production, remplacez-le <gatewayId> par l'ID de passerelle spécifique afin de respecter le principe du moindre privilège.
Pour un aperçu de cette exigence dans le contexte des considérations de politique temporelle, consultez la section Autorisations IAM requises.
Rôle de gestion des ressources
Le rôle de gestion des ressources est utilisé par les administrateurs pour créer et gérer Amazon Bedrock AgentCore Gateway et la politique en matière de AgentCore ressources. Ce rôle nécessite des autorisations pour :
-
Création, mise à jour et suppression de passerelles et de cibles de passerelle
-
Création, mise à jour et suppression de moteurs de politiques et de politiques Cedar
-
Appelez la passerelle lors de la création de la politique (
InvokeGateway) afin que Policy in AgentCore puisse valider les actions d'une instruction Cedar par rapport aux capacités de la passerelle cible -
Transmettez le rôle d'exécution de la passerelle aux ressources Amazon Bedrock AgentCore Gateway lors de la création
-
Étiqueter les ressources pour l'organisation et la gestion
-
Lisez les informations sur les rôles IAM pour valider les configurations des rôles d'exécution
Ce rôle est distinct du rôle d'exécution de la passerelle et n'est nécessaire que lors de la configuration ou de la modification d'Amazon Bedrock AgentCore Gateway and Policy dans les AgentCore configurations.
Stratégie d'autorisation
Important
Remplacez ces espaces réservés :* us-east-1 par la AWS région * 123456789012 par l'identifiant du AWS compte
{ "Version": "2012-10-17", "Statement": [ { "Sid": "GatewayManagement", "Effect": "Allow", "Action": [ "bedrock-agentcore:CreateGateway", "bedrock-agentcore:UpdateGateway", "bedrock-agentcore:GetGateway", "bedrock-agentcore:DeleteGateway", "bedrock-agentcore:ListGateways", "bedrock-agentcore:InvokeGateway", "bedrock-agentcore:CreateGatewayTarget", "bedrock-agentcore:UpdateGatewayTarget", "bedrock-agentcore:GetGatewayTarget", "bedrock-agentcore:DeleteGatewayTarget", "bedrock-agentcore:ListGatewayTargets" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/*" ] }, { "Sid": "PolicyEngineManagement", "Effect": "Allow", "Action": [ "bedrock-agentcore:CreatePolicyEngine", "bedrock-agentcore:UpdatePolicyEngine", "bedrock-agentcore:GetPolicyEngine", "bedrock-agentcore:DeletePolicyEngine", "bedrock-agentcore:ListPolicyEngines" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:123456789012:policy-engine/*" ] }, { "Sid": "PolicyManagement", "Effect": "Allow", "Action": [ "bedrock-agentcore:CreatePolicy", "bedrock-agentcore:UpdatePolicy", "bedrock-agentcore:GetPolicy", "bedrock-agentcore:DeletePolicy", "bedrock-agentcore:ListPolicies" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:123456789012:policy-engine/*/policy/*" ] }, { "Sid": "PolicyGeneration", "Effect": "Allow", "Action": [ "bedrock-agentcore:StartPolicyGeneration", "bedrock-agentcore:GetPolicyGeneration", "bedrock-agentcore:ListPolicyGenerations", "bedrock-agentcore:ListPolicyGenerationAssets" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:123456789012:policy-engine/*/policy-generation/*" ] }, { "Sid": "IAMPassRole", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::123456789012:role/*BedrockAgentCore*" ], "Condition": { "StringEquals": { "iam:PassedToService": "bedrock-agentcore.amazonaws.com" } } }, { "Sid": "IAMReadAccess", "Effect": "Allow", "Action": [ "iam:GetRole", "iam:GetRolePolicy", "iam:ListAttachedRolePolicies", "iam:ListRolePolicies" ], "Resource": [ "arn:aws:iam::123456789012:role/*" ] }, { "Sid": "PolicyScopeManagement", "Effect": "Allow", "Action": [ "bedrock-agentcore:ManageResourceScopedPolicy", "bedrock-agentcore:ManageAdminPolicy" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/*" ] } ] }
Important
bedrock-agentcore:InvokeGatewayest nécessaire pour créer ou mettre à jour les politiques de Cedar, et pas seulement pour invoquer la passerelle lors de l'exécution. CreatePolicyet UpdatePolicy validez les actions de votre relevé Cedar par rapport à la passerelle, une opération autorisée comme InvokeGateway sur l'ARN de la passerelle. Sans cela, la politique passe à « CREATE_FAILED avec Insufficient permissions to call gateway with ID <gateway-id> ».
Important
Les ManageAdminPolicy actions ManageResourceScopedPolicy et sont des portes à autorisation uniquement qui contrôlent les types de politiques Cedar que les administrateurs peuvent créer :* ManageResourceScopedPolicy - Autorise la création de politiques Cedar ciblant des ARN de passerelle spécifiques (par exemple, les politiques s'appliquant àgateway/my-gateway-123) * ManageAdminPolicy - Autorise la création de politiques Cedar avec des caractères génériques (par exemple, des politiques s'appliquant à la passerelle/*) Les deux autorisations sont requises pour une capacité complète de gestion des politiques. Il ne s'agit pas d'opérations d'API mais de contrôles d'autorisation qui déterminent la portée des politiques Cedar qui peuvent être créées via les API de gestion des politiques.
Note
Bien que le champ Ressource soit inclus pour des raisons de cohérence, ces actions avec autorisation uniquement évaluent principalement la capacité au niveau de l'action plutôt qu'au niveau de la ressource.
Quand les mises à jour des rôles sont-elles requises ?
Déterminez si une politique d' AgentCore autorisations doit être ajoutée au rôle d'exécution d'Amazon Bedrock AgentCore Gateway en fonction de la façon dont Amazon Bedrock AgentCore Gateway a été créé.
- Scénario 1 : passerelle créée à l'aide de la AgentCore CLI
-
État : action requise
La AgentCore CLI crée un rôle d'exécution de passerelle avec des autorisations étendues pour l'invocation de la cible et l'authentification sortante, mais n'inclut pas de politique dans les autorisations. AgentCore Vous devez ajouter manuellement les
GetPolicyEngineautorisationsAuthorizeActionPartiallyAuthorizeActions, et décrites dans ce guide au rôle d'exécution de la passerelle. - Scénario 2 : rôle d'exécution personnalisé
-
État : action requise
Les rôles IAM personnalisés nécessitent l'ajout manuel de la politique en matière d' AgentCore autorisations décrite dans ce guide. Suivez les politiques d'autorisation décrites dans les sections ci-dessus.
- Scénario 3 : Least-Privilege Configuration de production
-
État : action requise
Pour les environnements de production, définissez la politique en termes d' AgentCore autorisations sur des ARN de ressources spécifiques plutôt que d'utiliser des caractères génériques. Remplacez policyengine/* et gateway/* par le moteur de politique et les ID de passerelle spécifiques dans vos politiques d'autorisation.
Résolution des problèmes
Cette section aborde les problèmes courants liés à la configuration des autorisations IAM pour Amazon Bedrock AgentCore Gateway avec Policy in. AgentCore
InternalServerException Au cours de l'évaluation des politiques
Symptôme : Gateway revient InternalServerException - Policy evaluation failed lors de l'attachement d'un moteur de politique à une passerelle existante, et toutes les invocations d'outils sont refusées par défaut, même si des politiques d'autorisation sont configurées.
Cause principale : le rôle d'exécution de la passerelle ne dispose pas de la politique requise dans AgentCore les autorisations. Sans ces autorisations, la passerelle ne peut pas effectuer d'autorisation de politique.
Solution : assurez-vous que le rôle d'exécution de la passerelle inclut les trois autorisations suivantes :
{ "Effect": "Allow", "Action": [ "bedrock-agentcore:PartiallyAuthorizeActions", "bedrock-agentcore:AuthorizeAction", "bedrock-agentcore:GetPolicyEngine" ], "Resource": [ "arn:aws:bedrock-agentcore:REGION:ACCOUNT:policy-engine/*", "arn:aws:bedrock-agentcore:REGION:ACCOUNT:gateway/*" ] }
Note
Si vous associez un moteur de stratégie à une passerelle existante à l'aide de la console du moteur de stratégie, les autorisations IAM peuvent ne pas être automatiquement mises à jour. Vous devez ajouter manuellement ces autorisations au Service-Linked rôle de la passerelle.
« Autorisations insuffisantes pour appeler la passerelle » sur CreatePolicy
Symptôme : CreatePolicy renvoie unepolicyId, mais la politique passe ensuite à CREATE_FAILED withInsufficient permissions to call gateway with ID <gateway-id>, même lorsque le rôle d'exécution de la passerelle possède AuthorizeActionPartiallyAuthorizeActions, etGetPolicyEngine.
Cause première : l'écart réside dans le rôle de gestion des ressources qui appelleCreatePolicy, et non dans le rôle d'exécution de la passerelle. La validation de la politique appelle la passerelle (autorisée en tant quebedrock-agentcore:InvokeGateway) ; l'erreur nomme la passerelle mais le correctif concerne le rôle de création de stratégie.
Solution : ajoutez bedrock-agentcore:InvokeGateway (limité à l'ARN de la passerelle) au rôle de gestion des ressources :
{ "Effect": "Allow", "Action": [ "bedrock-agentcore:InvokeGateway" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/<gateway-id>" ] }
Pannes silencieuses en mode LOG_ONLY
Symptôme : le moteur de politique semble fonctionner en mode LOG_ONLY mais échoue silencieusement sans message d'erreur approprié.
Cause principale : bedrock-agentcore:GetPolicyEngine L'absence d'autorisation entraîne des défaillances silencieuses qui apparaissent uniquement lors du passage en mode ENFORCED.
Solution : incluez bedrock-agentcore:GetPolicyEngine toujours le rôle d'exécution de la passerelle, même lorsque vous utilisez le mode LOG_ONLY pour les tests.
Erreur Policy Engine introuvable
Symptôme : Amazon Bedrock AgentCore Gateway renvoie des erreurs indiquant qu'il ne peut pas trouver ou accéder au moteur de politiques.
Cause principale : la politique du rôle d'exécution de la passerelle utilise des modèles ARN incorrects ou ne dispose pas de la ressource du moteur de politiques.
Solution : Assurez-vous que les ARN du moteur de politique ET de la passerelle sont inclus dans le tableau de ressources :
"Resource": [ "arn:aws:bedrock-agentcore:us-east-1:123456789012:policy-engine/<policy-engine-id>", "arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/<gateway-id>" ]
Note
Les deux AuthorizeAction PartiallyAuthorizeActions nécessitent un accès à la fois au moteur de politiques et aux ressources de la passerelle.
Conseils de débogage
-
Activer CloudWatch les journaux : configurez la journalisation détaillée pour Amazon Bedrock AgentCore Gateway afin de capturer les détails de l'évaluation des politiques
-
Vérifier X-Ray les traces : vérifiez les AWS X-Ray traces pour identifier les points d'échec des contrôles d'autorisation
-
Commencez par le mode LOG_ONLY - Utilisez d'abord le mode LOG_ONLY pour tester les politiques de Cedar sans bloquer les requêtes
-
Vérifiez les quatre autorisations : assurez-vous que
AuthorizeActionPartiallyAuthorizeActions, ETGetPolicyEnginesont toutes présentes -
Passer en mode ENFORCED - Ce n'est qu'après avoir vérifié que toutes les autorisations fonctionnent en mode LOG_ONLY, passez en mode ENFORCED
Exemple : création des deux rôles IAM
L'exemple suivant montre comment créer les deux rôles IAM requis à l'aide de l' AWS interface de ligne de commande.
Étape 1 : Création d'un rôle d'exécution de passerelle
# Create the trust policy file cat > gateway-trust-policy.json <<EOF { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "bedrock-agentcore.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:bedrock-agentcore:us-east-1:123456789012:*" } } } ] } EOF # Create the IAM role aws iam create-role \ --role-name MyGatewayExecutionRole \ --assume-role-policy-document file://gateway-trust-policy.json
Étape 2 : Associer des autorisations au rôle d'exécution de la passerelle
# Create the permission policy file cat > gateway-permissions.json <<EOF { "Version": "2012-10-17", "Statement": [ { "Sid": "PolicyEngineConfiguration", "Effect": "Allow", "Action": [ "bedrock-agentcore:GetPolicyEngine" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:123456789012:policy-engine/*" ] }, { "Sid": "PolicyEngineAuthorization", "Effect": "Allow", "Action": [ "bedrock-agentcore:AuthorizeAction", "bedrock-agentcore:PartiallyAuthorizeActions" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:123456789012:policy-engine/*", "arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/*" ] } ] } EOF # Attach the policy to the role aws iam put-role-policy \ --role-name MyGatewayExecutionRole \ --policy-name GatewayPolicyEnginePermissions \ --policy-document file://gateway-permissions.json
Note
Cet exemple montre uniquement la politique dans AgentCore les autorisations. Des autorisations supplémentaires pour les cibles Amazon Bedrock AgentCore Gateway (Lambda, API Gateway, etc.) doivent être ajoutées en fonction de vos exigences d'intégration spécifiques.
Étape 3 : Prochaines étapes
Après avoir configuré le rôle d'exécution avec la politique requise dans AgentCore les autorisations, procédez à la création et à la configuration des ressources de stratégie. Pour obtenir des conseils détaillés, consultez :
-
Création d'un moteur de politiques - Voir Création d'un moteur de politiques
-
Rédaction des politiques de Cedar - Voir la référence linguistique de la politique de Cedar
Bonnes pratiques
-
Utiliser des rôles distincts - Conservez des rôles distincts pour l'exécution d'Amazon Bedrock AgentCore Gateway et la gestion des ressources
-
Appliquer le principe du moindre privilège : commencez par des ARN de ressources spécifiques plutôt que par des caractères génériques en production
-
Testez avec le mode LOG_ONLY : testez toujours l'intégration du moteur de politiques en mode LOG_ONLY avant d'appliquer les politiques
-
Activer la surveillance : configurez les CloudWatch journaux et le X-Ray suivi à des fins de dépannage et d'observabilité
-
Politiques de contrôle de version : stockez les politiques Cedar dans le contrôle de version en même temps que le code d'infrastructure
-
Utiliser des balises de ressources : appliquez des balises pour organiser et gérer Amazon Bedrock AgentCore Gateway et sa politique en AgentCore matière de ressources
-
Audits de sécurité réguliers : examinez régulièrement les politiques IAM pour vous assurer qu'elles respectent les principes du moindre privilège