Elaborazione del contesto della richiesta - AWS Identity and Access Management

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à.

Elaborazione del contesto della richiesta

Quando AWS valuta e autorizza una richiesta, assembla le informazioni sulla richiesta in un contesto di richiesta. Il contesto della richiesta contiene tutte le informazioni che possono essere utilizzate nella valutazione delle policy.

  • Principale: l’utente, il ruolo o il principale utente federato che ha inviato la richiesta. Le informazioni sull'entità principale includono le policy associate a tale entità principale.

  • Azioni: una o più azioni che il principale desidera eseguire.

  • Risorse: uno o più oggetti AWS risorsa su cui vengono eseguite le azioni o le operazioni.

  • Dati sulla risorsa – I dati correlati alla risorsa che viene richiesta. Ciò può includere informazioni come il nome di una tabella DynamoDB o un tag su un'istanza Amazon. EC2

  • Dati di ambiente: informazioni sull'indirizzo IP, l'agente utente, lo stato SSL abilitato o l'ora del giorno.

Queste informazioni vengono confrontate con le policy applicabili per determinare se accettare o rifiutare la richiesta. Puoi organizzare queste informazioni sulla proprietà utilizzando il modello Principal, Action, Resource and Condition (PARC) per comprendere meglio come vengono valutate AWS le politiche.

Comprensione del modello PARC

Il modello PARC rappresenta il contesto della richiesta basato sui quattro elementi JSON nel linguaggio della policy:

  • Principal: l’entità che effettua la richiesta. Un principale rappresenta un utente umano o un carico di lavoro programmatico che può essere autenticato e quindi autorizzato a eseguire azioni negli Account AWS.

  • Action: l’operazione in corso. Spesso l’operazione verrà mappata a un’operazione API.

  • Resource: la risorsa AWS su cui viene eseguita l’operazione.

  • Condition: vincoli aggiuntivi che devono essere soddisfatti affinché la richiesta sia consentita.

Di seguito è illustrato un esempio di come il modello PARC potrebbe rappresentare un contesto della richiesta:

Principal: AIDA123456789EXAMPLE Action: s3:CreateBucket Resource: arn:aws:s3:::amzn-s3-demo-bucket1 Context: - aws:UserId=AIDA123456789EXAMPLE:BobsSession - aws:PrincipalAccount=123456789012 - aws:PrincipalOrgId=o-example - aws:PrincipalARN=arn:aws:iam::AIDA123456789EXAMPLE:role/HR - aws:MultiFactorAuthPresent=true - aws:CurrentTime=... - aws:EpochTime=... - aws:SourceIp=... - aws:PrincipalTag/dept=123 - aws:PrincipalTag/project=blue - aws:RequestTag/dept=123

Importanza del contesto della richiesta

Comprendere il contesto della richiesta e il modo in cui interagisce con la valutazione delle policy è fondamentale per le seguenti finalità:

  • Risoluzione dei problemi di accesso

  • Progettazione di policy efficaci e sicure

  • Comprensione dell’ambito completo delle autorizzazioni concesse da una policy

  • Previsione dell’esito delle valutazioni delle policy in vari scenari

Visualizzando il contesto della richiesta utilizzando il modello PARC, è possibile comprendere più facilmente come AWS prende le decisioni di autorizzazione e progetta le politiche in modo più efficace.

Come AWS utilizza il contesto della richiesta

Durante la valutazione delle politiche, AWS confronta le informazioni nel contesto della richiesta con le informazioni specificate in tutte le politiche applicabili. Ciò include politiche basate sull'identità, politiche basate sulle risorse, limiti delle autorizzazioni IAM, Organizations, Organizations e policy di sessione. SCPs RCPs

Per ogni tipo di policy, utilizza il contesto della richiesta per verificare AWS :

  • Se la policy si applica alla richiesta in base al principale.

  • Se l’operazione richiesta è consentita sulla risorsa specificata.

  • Se le condizioni specificate nella policy sono soddisfatte dal contesto della richiesta.

Il modo in cui AWS valuta le politiche dipende dai tipi di politiche che si applicano al contesto della richiesta. Questi tipi di policy possono essere utilizzati in un singolo Account AWS. Per ulteriori informazioni su questi tipi di policy, consulta Politiche e autorizzazioni in AWS Identity and Access Management. Per informazioni su come AWS valuta le politiche per l'accesso tra account diversi, consulta. Cross-account policy evaluation logic

  • AWS Organizations politiche di controllo delle risorse (RCPs): AWS Organizations RCPs specificano le autorizzazioni massime disponibili per le risorse all'interno degli account di un'organizzazione o di un'unità organizzativa (OU). RCPs si applicano alle risorse degli account dei membri e influiscono sulle autorizzazioni effettive per i responsabili, incluse le Utente root dell'account AWS, indipendentemente dal fatto che i responsabili appartengano all'organizzazione. RCPs non si applicano alle risorse dell'account di gestione dell'organizzazione e alle chiamate effettuate da ruoli collegati al servizio. Se una RCP è presente, le autorizzazioni concesse da policy basate su identità e policy basate su risorse alle risorse negli account membri sono effettive solo se l’RCP consente l’operazione.

  • AWS Organizations policy di controllo del servizio (SCPs): AWS Organizations SCPs specificano le autorizzazioni massime disponibili per i responsabili all'interno degli account di un'organizzazione o di un'unità organizzativa (OU). SCPs si applicano ai responsabili degli account dei membri, compresi ciascuno. Utente root dell'account AWS Se una SCP è presente, le autorizzazioni concesse da policy basate su identità e policy basate su risorse ai principali negli account membri sono effettive solo se l’SCP consente l’operazione. Le uniche eccezioni sono i principali dell'account di gestione dell'organizzazione e i ruoli collegati ai servizi.

  • Policy basate sulle risorse: le policy basate sulle risorse concedono le autorizzazioni per i principali specificati nella policy. Le autorizzazioni definiscono ciò che l'entità principale può fare con la risorsa a cui è collegata la policy.

  • Limiti delle autorizzazioni: i limiti delle autorizzazioni sono una funzionalità avanzata che imposta il numero massimo di autorizzazioni che una policy basata su identità può concedere a un’entità IAM (utente o ruolo). Quando si imposta un limite delle autorizzazioni per un'entità, l'entità può eseguire solo le operazioni consentite dalle sue policy basate su identità e dai suoi limiti delle autorizzazioni. In alcuni casi, un rifiuto implicito in un limite delle autorizzazioni può limitare le autorizzazioni concesse da una policy basata sulle risorse. Per ulteriori informazioni, consulta In che modo la logica del codice di applicazione AWS valuta le richieste per consentire o negare l'accesso.

  • Policy basate su identità: le policy basate su identità sono collegate a un'identità IAM (utente, gruppo di utenti o ruolo) e concede le autorizzazioni per entità IAM (utenti e ruoli). Se a una richiesta si applicano solo politiche basate sull'identità, AWS verifica che tutte queste politiche ne accertino almeno una. Allow

  • Policy di sessione: le policy di sessione sono policy che si inviano come parametro quando si crea in modo programmatico una sessione temporanea per un ruolo o una sessione utente federato. Per creare una sessione del ruolo in modo programmatico, è possibile utilizzare una delle operazioni API AssumeRole*. Quando esegui questa operazione e passi le policy di sessione, le autorizzazioni della sessione risultante sono l'intersezione della policy basata su identità dell'utente dell'entità IAM e delle policy di sessione. Per creare una sessione per l'utente federato, si utilizzano le chiavi di accesso dell'utente IAM per chiamare in modo programmatico l'operazione API GetFederationToken. Per ulteriori informazioni, consulta Policy di sessione.

Occorre ricordare che un rifiuto esplicito in una qualsiasi di queste policy sostituisce l'autorizzazione.

Nota

AWS Organizations le politiche dichiarative consentono di dichiarare e applicare a livello centralizzato la configurazione desiderata per un determinato Servizio AWS aspetto su larga scala all'interno dell'organizzazione. Poiché le policy dichiarative vengono applicate direttamente a livello di servizio, non influiscono direttamente sulle richieste di valutazione delle policy e non sono incluse nel contesto della richiesta. Per ulteriori informazioni, consulta Politiche dichiarative nella Guida per l'utente. AWS Organizations

Esempio di valutazione delle policy utilizzando il modello PARC

Per illustrare come il contesto della richiesta interagisce con la valutazione delle policy, prendiamo in considerazione un esempio di policy:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:CreateBucket", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1", "Condition": { "StringEquals": { "aws:PrincipalTag/dept": "123" } } } ] }

In questo esempio, la policy consentirebbe l’operazione CreateBucket solo quando il contesto della richiesta include un valore aws:PrincipalTag/dept di “123” e la risorsa corrisponde al nome del bucket amzn-s3-demo-bucket1. La tabella seguente mostra come AWS utilizza il contesto della richiesta per valutare questa policy e prendere decisioni di autorizzazione.

Policy Contesto della richiesta Risultato della valutazione
"StringEquals": { "aws:PrincipalTag/dept": "123" }
Principal: AIDA123456789EXAMPLE Action: s3:CreateBucket Resource: arn:aws:s3:::amzn-s3-demo-bucket1 Context: - aws:PrincipalTag/dept=123

Match

"StringEquals": { "aws:PrincipalTag/dept": "123" }
Principal: AIDA123456789EXAMPLE Action: s3:DeleteBucket Resource: arn:aws:s3:::amzn-s3-demo-bucket1 Context: - aws:PrincipalTag/dept=123

Nessuna corrispondenza

"StringEquals": { "aws:PrincipalTag/dept": "123" }
Principal: AIDA123456789EXAMPLE Action: s3:CreateBucket Resource: arn:aws:s3:::amzn-s3-demo-bucket1 Context: - aws:PrincipalTag/dept=321

Nessuna corrispondenza

"StringEquals": { "aws:PrincipalTag/dept": "123" }
Principal: AIDA123456789EXAMPLE Action: s3:CreateBucket Resource: arn:aws:s3:::amzn-s3-demo-bucket1 Context:

Nessun aws:PrincipalTag nella richiesta.

Nessuna corrispondenza