Logica di valutazione della policy multiaccount - 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à.

Logica di valutazione della policy multiaccount

Puoi consentire a un principale in un account di accedere alle risorse in un secondo account. Questo è chiamato accesso tra account. Quando consenti l'accesso tra account, l'account in cui si trova il principale viene denominato l'account attendibile . L'account in cui si trova la risorsa è l'account che concede fiducia .

Per consentire l'accesso tra account, collega una policy basata sulle risorse alla risorsa che desideri condividere. Devi inoltre collegare una policy basata sull'identità all'identità che agisce come il principale nella richiesta. La policy basata su risorse nell'account che concede fiducia deve specificare il principale dell'account attendibile che avrà accesso alla risorsa. Puoi specificare l'intero account o i relativi IAM utenti, utenti federati, IAM ruoli o sessioni con ruolo presunto. È inoltre possibile specificare un AWS servizio come principale. Per ulteriori informazioni, consulta Come specificare un preside.

La policy basata su identità del principale deve consentire l'accesso richiesto alla risorsa nel servizio che concede fiducia. È possibile farlo specificando la ARN risorsa o consentendo l'accesso a tutte le risorse (*).

InIAM, puoi allegare una politica basata sulle risorse a un IAM ruolo per consentire ai responsabili di altri account di assumere quel ruolo. La policy basata sulle risorse del ruolo è denominata policy di attendibilità del ruolo. Dopo aver assunto tale ruolo, i principali consentiti possono utilizzare le credenziali temporanee risultanti per accedere a più risorse nell'account. Questo accesso è definito nella policy di autorizzazioni basata su identità del ruolo. Per informazioni sul perché consentire l'accesso tra account utilizzando i ruoli è diverso dal consentire l'accesso tra account utilizzando altre policy basate sulle risorse, consulta Accesso alle risorse su più account in IAM.

Importante

Altri servizi possono influire sulla logica di valutazione dei criteri. Ad esempio, AWS Organizations supporta politiche di controllo dei servizi che possono essere applicate ai responsabili di uno o più account. AWS Resource Access Manager supporta frammenti di policy che controllano le azioni che i mandanti sono autorizzati a eseguire sulle risorse condivise con loro.

Determinare se una richiesta tra account è consentita

Per le richieste tra account, il richiedente nell'AccountA attendibile deve disporre di una policy basata su identità. Tale policy deve consentire di effettuare una richiesta alla risorsa nell' che concede fiducia AccountB. Inoltre, la policy basata sulle risorse nell'AccountB deve consentire al richiedente nell'AccountA di accedere alla risorsa.

Quando effettui una richiesta tra più account, AWS esegue due valutazioni. AWS valuta la richiesta nell'account affidabile e nell'account fidato. Per ulteriori informazioni su come una richiesta viene valutata all'interno di un singolo account, consulta Determinazione se una richiesta è consentita o rifiutata in un account. La richiesta è consentita solo se entrambe le valutazioni restituiscono come decisione Allow.

Valutazione tra account
  1. Quando un principale in un account effettua una richiesta per accedere a una risorsa in un altro account, questa è una richiesta tra account.

  2. Il principale che esegue la richiesta esiste nell'account attendibile (AccountA). Quando AWS valuta questo account, verifica la politica basata sull'identità e tutte le politiche che possono limitare una politica basata sull'identità. Per ulteriori informazioni, consulta Valutazione delle policy in un singolo account.

  3. La risorsa richiesta esiste nell'account che concede fiducia (AccountB). Quando AWS valuta questo account, controlla la politica basata sulle risorse allegata alla risorsa richiesta e tutte le politiche che possono limitare una politica basata sulle risorse. Per ulteriori informazioni, consulta Valutazione delle policy in un singolo account.

  4. AWS consente la richiesta solo se entrambe le valutazioni delle politiche dell'account consentono la richiesta.

Esempio di valutazione della policy multiaccount

Nell'esempio seguente viene illustrato uno scenario in cui a un utente in un account vengono concesse autorizzazioni da una policy basata sulle risorse in un secondo account.

Supponiamo che Carlos sia uno sviluppatore con un IAM utente denominato carlossalazar nell'account 1111. Vuole salvare un file nel bucket amzn-s3-demo-bucket-production-logs di Amazon S3 nell'account 222222222222.

Supponiamo inoltre che la seguente politica sia allegata all'carlossalazarIAMutente.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowS3ListRead", "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": "*" }, { "Sid": "AllowS3ProductionObjectActions", "Effect": "Allow", "Action": "s3:*Object*", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket-production/*" }, { "Sid": "DenyS3Logs", "Effect": "Deny", "Action": "s3:*", "Resource": [ "arn:aws:s3:::*log*", "arn:aws:s3:::*log*/*" ] } ] }

L'istruzione AllowS3ListRead in questa policy consente a Carlos di visualizzare un elenco di tutti i bucket in Amazon S3. L'istruzione AllowS3ProductionObjectActions consente a Carlos l'accesso completo al bucket amzn-s3-demo-bucket-production. L'istruzione DenyS3Logs nega a Carlos l'accesso a qualsiasi bucket di S3 il cui nome includa log. Nega anche l'accesso a tutti gli oggetti in quei bucket.

Inoltre, la seguente policy basata sulle risorse (denominata policy del bucket) è collegata al bucket amzn-s3-demo-bucket-production nell'account 222222222222.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject*", "s3:PutObject*", "s3:ReplicateObject", "s3:RestoreObject" ], "Principal": { "AWS": "arn:aws:iam::111111111111:user/carlossalazar" }, "Resource": "arn:aws:s3:::amzn-s3-demo-bucket-production/*" } ] }

Questo criterio consente all'utente carlossalazar di accedere agli oggetti nel bucket amzn-s3-demo-bucket-production. Può creare e modificare, ma non eliminare gli oggetti nel bucket. Non riesce a gestire il bucket da solo.

Quando Carlos fa la sua richiesta di salvare un file nel amzn-s3-demo-bucket-production-logs bucket, AWS determina quali politiche si applicano alla richiesta. In questo caso, la policy basata su identità collegata all'utente carlossalazar è la sola policy valida nell'account 111111111111. Nell'account 222222222222, non esiste una policy basata sulle risorse collegata al bucket amzn-s3-demo-bucket-production-logs. Quando AWS valuta l'account111111111111, restituisce una decisione diDeny. Questo perché l'istruzione DenyS3Logs nella policy basata su identità nega esplicitamente l'accesso a qualsiasi bucket di log. Per ulteriori informazioni su come una richiesta viene valutata all'interno di un singolo account, consulta Determinazione se una richiesta è consentita o rifiutata in un account.

Poiché la richiesta viene negata esplicitamente all'interno di uno degli account, la decisione finale è di negare la richiesta.

Richiesta a amzn-s3- bucket demo-bucket-production-logs

Supponiamo che Carlos si accorga allora del suo errore e cerchi di salvare il file nel bucket. Production AWS controlla innanzitutto l'account 111111111111 per determinare se la richiesta è consentita. Si applica solo la politica basata sull'identità e consente la richiesta. AWS quindi controlla l'account. 222222222222 Vale solo la policy basata sulle risorse collegata al bucket Production e consente la richiesta. Poiché entrambi gli account consentono la richiesta, la decisione finale è di consentire la richiesta.

Richiesta a bucket di produzione