Flusso di autorizzazione
Amazon Bedrock AgentCore Gateway valuta le policy di Cedar rispetto alle richieste in entrata. Questa sezione spiega in che modo le informazioni di autorizzazione passano dalla richiesta alla valutazione delle policy.
Elaborazione della richiesta
Amazon Bedrock AgentCore Gateway elabora due informazioni chiave per ogni richiesta:
-
Token JWT: contiene le affermazioni OAuth relative all'utente:
{ "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" } -
MCP Tool Call Request - La chiamata effettiva dello strumento:
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "RefundTool___process_refund", "arguments": { "orderId": "12345", "amount": 450, "reason": "Defective product" } } }
Richiesta di autorizzazione Cedar
Il Gateway estrae informazioni da entrambe le fonti e crea una richiesta di autorizzazione Cedar.
Richiesta di autorizzazione completa:
{ "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" } } }
Componenti:
- Principale
-
Creato dal claim secondario del token JWT:
AgentCore::OAuthUser::"12345678-1234-1234-1234-123456789012" - Azione
-
Estratto dal nome dello strumento:
AgentCore::Action::"RefundTool___process_refund" - Risorsa
-
L'istanza Gateway:
AgentCore::Gateway::"arn:aws:bedrock-agentcore:us-west-2:123456789012:gateway/refund-gateway" - Contesto
-
Contiene gli argomenti dello strumento:
{ "input": { "orderId": "12345", "amount": 450, "reason": "Defective product" } }
Entity Store: le affermazioni JWT vengono archiviate come tag sull' 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" } }
Valutazione delle politiche
Cedar valuta:
-
Controllo principale: il principale è un? OAuthUser ✓ (fiammiferi)
-
Controllo dell'azione: l'azione è RefundTool ___process_refund? ✓ (partite)
-
Controllo delle risorse: la risorsa è la porta di rimborso? ✓ (partite)
-
Controlli delle condizioni:
-
Il preside ha un tag per il nome utente? ✓ (sì, da JWT)
-
Il nome utente è = «agente di rimborso»? ✓ (sì)
-
Context.input.amount < 500? ✓ (450 < 500)
-
Risultato: ALLOW - Tutti i controlli vengono superati, il rimborso è autorizzato.