In che modo Amazon S3 autorizza una richiesta per un'operazione su un bucket - Amazon Simple Storage Service

In che modo Amazon S3 autorizza una richiesta per un'operazione su un bucket

Quando Amazon S3 riceve una richiesta per un'operazione su un bucket, Amazon S3 converte tutte le autorizzazioni pertinenti in una serie di policy da valutare in fase di esecuzione. Le autorizzazioni pertinenti includono le autorizzazioni basate sulle risorse (ad esempio, le policy di bucket e le ACL dei bucket) e le policy utente se la richiesta proviene da un principale IAM. Amazon S3 valuta quindi l'insieme di policy risultanti in una serie di passaggi in base a un contesto specifico, quello dell'utente o quello del bucket:

  1. Contesto utente - Se il richiedente è un principale IAM, il principale deve avere l'autorizzazione dell'Account AWS padre a cui appartiene. In questa fase, Amazon S3 valuta un sottoinsieme di policy appartenenti all'account padre (denominato anche autorità del contesto). Questo sottoinsieme include la policy utente che l'account padre ha associato al principale. Se l'account padre è anche proprietario della risorsa nella richiesta (in questo caso, il bucket), Amazon S3 valuta, allo stesso tempo, anche le policy della risorsa (la policy del bucket e l'ACL del bucket) corrispondenti. Ogni volta che viene eseguita una richiesta per un'operazione su un bucket, i log degli accessi del server registrano l'ID canonico del richiedente. Per ulteriori informazioni, consulta Registrazione delle richieste con registrazione dell'accesso al server.

  2. Contesto del bucket – Il richiedente deve disporre delle autorizzazioni concesse dal proprietario del bucket per eseguire un'operazione specifica sul bucket. In questa fase, Amazon S3 valuta un sottoinsieme di policy che appartengono all'Account AWS proprietario del bucket.

    Il proprietario del bucket può concedere l'autorizzazione utilizzando una policy del bucket o l'ACL del bucket. Se l'account Account AWS che possiede il bucket è anche l'account padre di un principale IAM, può configurare le autorizzazioni del bucket in una policy utente.

Di seguito è illustrato il grafico della valutazione basata sul contesto per un'operazione su un bucket.

Illustrazione che mostra la valutazione basata sul contesto per l'operazione del bucket.

Negli esempi seguenti viene illustrata la logica di valutazione.

Esempio 1: operazione su un bucket richiesta dal proprietario del bucket

In questo esempio, il proprietario del bucket invia una richiesta per un'operazione sul bucket utilizzando le credenziali dell'utente root dell'Account AWS.

Illustrazione che mostra un'operazione sul bucket richiesta dal proprietario del bucket.

Amazon S3 esegue la valutazione del contesto come indicato di seguito:

  1. Poiché la richiesta viene eseguita utilizzando le credenziali dell'utente root di un Account AWS, il contesto dell'utente non viene valutato.

  2. Nel contesto del bucket, Amazon S3 esamina la policy del bucket per determinare se il richiedente dispone dell'autorizzazione per eseguire l'operazione. Amazon S3 autorizza la richiesta.

Esempio 2: Operazione su un bucket richiesta da un Account AWS che non è il proprietario del bucket

In questo esempio, viene eseguita una richiesta utilizzando le credenziali dell'utente root dell'Account AWS 1111-1111-1111 per un'operazione sul bucket che appartiene all'Account AWS 2222-2222-2222. Nessun utente IAM è coinvolto in questa richiesta.

Illustrazione che mostra un'operazione sul bucket richiesta da un Account AWS che non è il proprietario del bucket.

In questo esempio, Amazon S3 valuta il contesto come segue:

  1. Poiché la richiesta viene eseguita utilizzando le credenziali dell'utente root di un Account AWS, il contesto dell'utente non viene valutato.

  2. Nel contesto del bucket, Amazon S3 esamina la policy del bucket. Se il proprietario del bucket (Account AWS 2222-2222-2222) non ha autorizzato l'Account AWS 1111-1111-1111 a eseguire l'operazione richiesta, Amazon S3 rifiuta la richiesta. Altrimenti, Amazon S3 accetta la richiesta ed esegue l'operazione.

Esempio 3: Operazione su un bucket richiesta da un principale IAM il cui Account AWS parent è anche il proprietario del bucket

Nell'esempio, la richiesta viene inviata da Jill, un utente IAM nell'Account AWS 1111-1111-1111, che è anche il proprietario del bucket.

Illustrazione che mostra un'operazione sul bucket richiesta da un principale IAM e dal proprietario del bucket.

Amazon S3 esegue la seguente valutazione del contesto:

  1. Poiché la richiesta proviene da un principale IAM, nel contesto dell'utente, Amazon S3 valuta tutte le policy appartenenti all'Account AWS parent per determinare se Jill dispone dell'autorizzazione per eseguire l'operazione.

    In questo esempio, l'Account AWS parent 1111-1111-1111, al quale appartiene il principal, è anche il proprietario del bucket. Di conseguenza, oltre alla policy dell'utente, Amazon S3 valuta anche la policy del bucket e la ACL del bucket nello stesso contesto, poiché appartengono allo stesso account.

  2. Poiché Amazon S3 ha valutato la policy del bucket e l'ACL del bucket come parte del contesto dell'utente, non valuta il contesto del bucket.

Esempio 4: Operazione su un bucket richiesta da un principale IAM il cui account Account AWS parent non è il proprietario del bucket

In questo esempio, la richiesta viene inviata da Jill, un utente IAM con Account AWS parent 1111-1111-1111, mentre il bucket è di proprietà di un altro Account AWS, 2222-2222-2222.

Illustrazione che mostra un'operazione sul bucket richiesta da un principale IAM che non è il proprietario del bucket.

Jill dovrà disporre delle autorizzazioni concesse sia dall'Account AWS parent che dal proprietario del bucket. Amazon S3 valuta il contesto come indicato di seguito:

  1. Poiché la richiesta proviene da un principale IAM, Amazon S3 valuta il contesto dell'utente esaminando le policy create dall'account per verificare che Jill disponga delle autorizzazioni necessarie. Se Jill ha l'autorizzazione, Amazon S3 passa a valutare il contesto del bucket. Se Jill non ha l'autorizzazione, nega la richiesta.

  2. Nel contesto del bucket, Amazon S3 verifica che il proprietario del bucket 2222-2222-2222 abbia concesso a Jill (o al suo Account AWS parent) l'autorizzazione per eseguire l'operazione richiesta. Se dispone di tale autorizzazione, Amazon S3 concede la richiesta ed esegue l'operazione. In caso contrario, Amazon S3 rifiuta la richiesta.