Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Flusso di autorizzazioni
Amazon Bedrock AgentCore Gateway valuta le politiche di Cedar rispetto alle richieste in arrivo. Questa sezione spiega come le informazioni di autorizzazione fluiscono dalla richiesta alla valutazione delle politiche.
Elaborazione della richiesta
Amazon Bedrock AgentCore Gateway elabora due informazioni chiave per ciascuna richiesta:
-
Token JWT: contiene dichiarazioni OAuth sull'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 - L'effettiva chiamata 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 le 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 dalla rivendicazione secondaria 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 attestazioni 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" } }
Contesto della sessione per le politiche temporali
Quando è presente un'x-amzn-bedrock-agentcore-policy-session-idintestazione, il Gateway include il contesto della sessione nella richiesta di autorizzazione passata al policy engine. Il contesto della sessione fornisce la cronologia delle azioni accumulata per la sessione corrente. Le regole di politica temporale valutano i vincoli nel tempo utilizzando questa cronologia.
{ "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" }
Il sessionId campo collega la richiesta corrente alla cronologia della sessione. Il policy engine risolve lo stato della sessione e valuta tutte le regole temporali applicabili rispetto alla catena di azioni accumulata.
Per dettagli sulla fornitura dell'ID di sessione, sul ciclo di vita della sessione e su come l'identità si propaga tra chiamate multi-hop, vedi Sessioni di policy e propagazione dell'identità. Sessioni di policy e propagazione delle identità
Valutazione delle politiche
Cedar valuta:
-
Controllo principale: il preside è un? OAuthUser ✓ (corrisponde)
-
Controllo dell'azione: l'azione è RefundTool ___process_refund? ✓ (corrisponde)
-
Controllo delle risorse: la risorsa è il gateway per i rimborsi? ✓ (corrisponde)
-
Controlli delle condizioni:
-
Il preside ha il tag del nome utente? ✓ (sì, da JWT)
-
Il nome utente è = «refund-agent»? ✓ (sì)
-
context.input.amount è < 500? ✓ (450 < 500)
-
Risultato: CONSENTI - Tutti i controlli vengono superati, il rimborso è autorizzato.