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 sont transmises de la demande à l'évaluation des politiques.
Traitement des demandes
Amazon Bedrock AgentCore Gateway traite deux informations clés pour 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'invocation réelle 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 de Cedar
La passerelle extrait les informations des deux sources et élabore 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" } } }
Composants :
- 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 réclamations 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" } }
Évaluation des politiques
Cedar évalue :
-
Contrôle principal : Le directeur OAuthUser est-il un ? ✓ (allumettes)
-
Contrôle de l'action : 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 une étiquette de nom d'utilisateur ? ✓ (oui, de JWT)
-
Est-ce que username = « refund-agent » ? ✓ (oui)
-
Est-ce que context.input.amount est inférieur à 500 ? ✓ (450 < 500)
-
Résultat : AUTORISER - Tous les chèques passent, le remboursement est autorisé.