Elaborazione del contesto della richiesta
Quando AWS valuta e autorizza una richiesta, assembla le relative informazioni in un contesto della 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 della risorsa AWS su cui vengono eseguite le azioni o le operazioni.
-
Dati sulla risorsa – I dati correlati alla risorsa che viene richiesta. Possono essere incluse informazioni quali un nome di tabella di 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. È possibile organizzare queste informazioni sulla proprietà utilizzando il modello Principale, Azione, Risorsa e Condizione (PARC) per comprendere meglio come vengono valutate le policy AWS.
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 in che modo AWS prende le decisioni di autorizzazione e progettare le policy in modo più efficace.
In che modo AWS utilizza il contesto della richiesta
Durante la valutazione delle policy, AWS confronta le informazioni nel contesto della richiesta con le informazioni specificate in tutte le policy applicabili. Ciò include policy basate sull'identità, policy basate sulle risorse, limiti delle autorizzazioni IAM, SCP e RCP di AWS Organizations e policy di sessione.
Per ogni tipo di policy, AWS utilizza il contesto della richiesta per verificare:
-
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 policy dipende dal tipo di policy applicabile 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 Policy e autorizzazioni in AWS Identity and Access Management. Per informazioni su come AWS valuta le policy per l'accesso tra account, consulta Logica di valutazione della policy multiaccount.
-
Policy di controllo delle risorse (RCP) AWS Organizations: le RCP di AWS Organizations specificano il numero massimo di autorizzazioni per le risorse all'interno degli account dell'organizzazione o dell'unità organizzativa (UO). L'RCP si applica alle risorse negli account membri e può influire sulle autorizzazioni valide per i principali, tra cui Utente root dell'account AWS, indipendentemente dal fatto che i principali appartengano o meno alla tua organizzazione. Le RCP 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.
-
Policy di controllo dei servizi (SCP) AWS Organizations: le SCP di AWS Organizations specificano il numero massimo di autorizzazioni per i principali all'interno di account in un'organizzazione o un'unità organizzativa (UO). Le SCP si applicano ai principali negli account membri, compreso ogni 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 le policy basate su identità, AWS verifica tutte queste policy per almeno un
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 APIGetFederationToken. Per ulteriori informazioni, consulta Policy di sessione.
Occorre ricordare che un rifiuto esplicito in una qualsiasi di queste policy sostituisce l'autorizzazione.
Nota
Le policy dichiarative AWS Organizations consentono di dichiarare e applicare centralmente la configurazione desiderata per un determinato Servizio AWS 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 Policy dichiarative nella Guida per l'utente di 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:
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 |
|---|---|---|
|
|
Match |
|
|
Nessuna corrispondenza |
|
|
Nessuna corrispondenza |
|
Nessun |
Nessuna corrispondenza |