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.
Flux d'autorisation
Amazon Bedrock AgentCore Gateway évalue les politiques de Cedar par rapport aux demandes entrantes. Cette section explique comment les informations d'autorisation circulent de la demande à l'évaluation de la politique.
Traitement des demandes
Amazon Bedrock AgentCore Gateway traite deux informations clés issues de chaque demande :
-
JWT Token - Contient des allégations OAuth concernant l'utilisateur :
{ "sub": "12345678-1234-1234-1234-123456789012", "iss": "https://cognito-idp.us-east-1.amazonaws.com/us-east-1_Vg2efaoGO", "username": "refund-agent", "scope": "aws.cognito.signin.user.admin refund:write", "role": "admin", "department": "finance" } -
Demande d'appel à l'outil MCP - L'appel réel de l'outil :
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "RefundTool___process_refund", "arguments": { "orderId": "12345", "amount": 450, "reason": "Defective product" } } }
Demande d'autorisation Cedar
La passerelle extrait les informations des deux sources et crée une demande d'autorisation Cedar.
Demande d'autorisation complète :
{ "principal": "AgentCore::OAuthUser::\"12345678-1234-1234-1234-123456789012\"", "action": "AgentCore::Action::\"RefundTool___process_refund\"", "resource": "AgentCore::Gateway::\"arn:aws:bedrock-agentcore:us-west-2:123456789012:gateway/refund-gateway\"", "context": { "input": { "orderId": "12345", "amount": 450, "reason": "Defective product" } } }
Composantes :
- Principal
-
Créé à partir de la sous-réclamation du jeton JWT :
AgentCore::OAuthUser::"12345678-1234-1234-1234-123456789012" - Action
-
Extrait du nom de l'outil :
AgentCore::Action::"RefundTool___process_refund" - Ressource
-
L'instance Gateway :
AgentCore::Gateway::"arn:aws:bedrock-agentcore:us-west-2:123456789012:gateway/refund-gateway" - Contexte
-
Contient les arguments de l'outil :
{ "input": { "orderId": "12345", "amount": 450, "reason": "Defective product" } }
Entity Store - Les revendications JWT sont stockées sous forme de balises sur l' OAuthUser entité :
{ "uid": { "type": "AgentCore::OAuthUser", "id": "12345678-1234-1234-1234-123456789012" }, "attrs": { "id": "12345678-1234-1234-1234-123456789012" }, "tags": { "username": "refund-agent", "iss": "https://cognito-idp.us-east-1.amazonaws.com/us-east-1_Vg2efaoGO", "scope": "aws.cognito.signin.user.admin refund:write", "role": "admin", "department": "finance" } }
Contexte de session pour les politiques temporelles
Lorsqu'un x-amzn-bedrock-agentcore-policy-session-id en-tête est présent, la passerelle inclut le contexte de session dans la demande d'autorisation transmise au moteur de politique. Le contexte de session fournit l'historique des actions accumulées pour la session en cours. Les règles de politique temporelle évaluent les contraintes au fil du temps à l'aide de cet historique.
{ "principal": "AgentCore::OAuthUser::\"12345678-1234-1234-1234-123456789012\"", "action": "AgentCore::Action::\"PaymentTool___transfer_funds\"", "resource": "AgentCore::Gateway::\"arn:aws:bedrock-agentcore:us-west-2:123456789012:gateway/my-gateway\"", "context": { "input": { "amount": 500, "recipient": "account-789" } }, "sessionId": "12345678-1234-1234-1234-123456789012" }
Le sessionId champ associe la demande en cours à l'historique de sa session. Le moteur de politiques résout l'état de la session et évalue toutes les règles temporelles applicables par rapport à la chaîne d'actions accumulée.
Pour plus de détails sur la fourniture de l'ID de session, le cycle de vie de la session et la manière dont l'identité se propage lors d'appels à sauts multiples, voir Sessions de politique et propagation d'identité.
Évaluation des politiques
Cedar évalue :
-
Vérification principale : le directeur OAuthUser est-il un ? ✓ (allumettes)
-
Contrôle des actions : l'action est-elle RefundTool ___process_refund ? ✓ (allumettes)
-
Vérification des ressources : la ressource est-elle la passerelle de remboursement ? ✓ (allumettes)
-
Contrôles d'état :
-
Le principal a-t-il un tag de nom d'utilisateur ? ✓ (oui, de JWT)
-
Est-ce que le nom d'utilisateur est = « agent de remboursement » ? ✓ (oui)
-
Est-ce que context.input.amount est < 500 ? ✓ (450 < 500)
-
Résultat : AUTORISER - Tous les chèques sont acceptés, le remboursement est autorisé.