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 ARN la risorsa.

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 le politiche di controllo dei servizi e le politiche di controllo delle risorse che possono essere applicate ai responsabili e alle risorse di uno o più account. AWS Resource Access Manager supporta frammenti di policy che controllano le azioni che i responsabili 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 fiduciario e nell'account fidato. Per ulteriori informazioni su come una richiesta viene valutata all'interno di un singolo account, consulta In che modo la logica del codice di AWS applicazione valuta le richieste di consentire o negare l'accesso. 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, controlla la policy basata su identità e le eventuali policy che possono limitare una policy basata su identità. Per ulteriori informazioni, consulta Valutazione delle policy basate su identità con i limiti delle autorizzazioni.

  3. La risorsa richiesta esiste nell'account che concede fiducia (AccountB). Quando AWS valuta questo account, controlla la policy basata sulle risorse collegata alla risorsa richiesta e le eventuali policy che possono limitare una policy basata sulle risorse. Per ulteriori informazioni, consulta Valutazione delle policy basate su identità con policy basate su risorse.

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

Esempio di valutazione della policy multiaccount

L'esempio seguente mostra uno scenario in cui a un ruolo in un account vengono concesse le autorizzazioni da una politica basata sulle risorse in un secondo account.

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

Supponiamo inoltre che al Demo IAM ruolo sia associata la seguente politica.

{ "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.

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:role/Demo" }, "Resource": "arn:aws:s3:::amzn-s3-demo-bucket-production/*" } ] }

Questa politica consente al Demo ruolo di accedere agli oggetti nel amzn-s3-demo-bucket-production bucket. Il ruolo può creare e modificare, ma non eliminare gli oggetti nel bucket. Il ruolo non può gestire il bucket stesso.

Quando Carlos richiede di salvare un file nel amzn-s3-demo-bucket-production-logs bucket, AWS determina quali politiche si applicano alla richiesta. In questo caso, la politica basata sull'identità allegata al Demo ruolo è l'unica politica applicabile all'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 di. Deny 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 In che modo la logica del codice di AWS applicazione valuta le richieste di consentire o negare l'accesso.

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