View a markdown version of this page

Comprensione delle politiche Cedar - Amazon Bedrock AgentCore

Comprensione delle politiche Cedar

Policy in AgentCore utilizza le politiche Cedar per controllare l'accesso agli strumenti AgentCore Gateway. Questa sezione spiega la struttura delle politiche di Cedar, la semantica di valutazione e i concetti chiave.

Policy di esempio

Prendi in considerazione uno strumento di elaborazione dei rimborsi con questi requisiti:

  • Solo l'utente «John» può elaborare i rimborsi

  • I rimborsi sono limitati a 500$ o meno

La politica Cedar che impone questi requisiti:

permit( principal is AgentCore::OAuthUser, action == AgentCore::Action::"RefundTool___process_refund", resource == AgentCore::Gateway::"arn:aws:bedrock-agentcore:your-region:your-account-id:gateway/refund-gateway" ) when { principal.hasTag("username") && principal.getTag("username") == "John" && context.input.amount < 500 };

Questa politica consente l'elaborazione dei rimborsi solo quando l'utente è «John» e l'importo del rimborso è inferiore a $500.

Struttura delle policy

Le politiche Cedar consistono in tre componenti principali:

  1. Effetto: determina se consentire o negare l'accesso (permito) forbid

  2. Ambito: specifica il principale, l'azione e la risorsa a cui si applica la politica

  3. Condizione: definisce una logica aggiuntiva che deve essere soddisfatta (whenounless) e può fare riferimento ai parametri dello strumento (tramite il contesto) e al token OAuth (tramite i tag)

Effetti politici

Le politiche Cedar utilizzano due effetti per controllare l'accesso:

  • permit- Consente all'azione di procedere

  • forbid- Nega l'azione

Rifiuto per default

Tutte le azioni sono negate per impostazione predefinita. Se nessuna politica corrisponde a una richiesta, Cedar restituisce DENY. È necessario scrivere in modo esplicito politiche di autorizzazione per consentire le azioni.

Valutazione delle autorizzazioni

Cedar utilizza un modello di valutazione proibito-override-permessi:

  1. Cedar valuta tutte le politiche che si applicano alla richiesta

  2. Se una politica di divieto corrisponde, il risultato è NEGATO

  3. Se almeno una politica di autorizzazione corrisponde e nessuna politica di divieto corrisponde, il risultato è ALLOW

  4. Se nessuna politica corrisponde, il risultato è DENY (negazione predefinita)

Indipendenza delle politiche

Ogni politica Cedar viene valutata in modo indipendente. La valutazione di una politica dipende solo da:

  • L'ambito (principale, azione, risorsa)

  • Il contesto e i tag

Le politiche non fanno riferimento né dipendono da altre politiche.

Algoritmo di valutazione delle politiche

Quando viene valutata una richiesta, il motore delle politiche determina la decisione di autorizzazione utilizzando il seguente algoritmo:

  1. Se una forbid politica corrisponde alla richiesta, la decisione è NEGATA.

  2. Se nessuna forbid politica corrisponde alla richiesta e almeno una permit politica corrisponde, la decisione è ALLOW.

  3. Se forbid nessuna delle due permit politiche corrisponde alla richiesta, la decisione è NEGATA.

Questo modello di valutazione applica una posizione di negazione predefinita.

Una forbid politica non può mai portare a una decisione ALLOW. La unless clausola relativa a una forbid politica specifica le condizioni alle quali tale forbid politica non si applica; non concede l'autorizzazione e non sostituisce una politica corrispondente. permit