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

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

Quando riceve una richiesta per un'operazione su un oggetto, Amazon S3 converte tutte le autorizzazioni rilevanti, ovvero le autorizzazioni basate sulle risorse (lista di controllo accessi (ACL) dell'oggetto, policy del bucket e ACL del bucket) e le policy utente IAM, in un set di policy da valutare in fase di esecuzione. Valuta quindi l'insieme di policy risultante in una serie di fasi. In ogni fase, valuta un sottoinsieme di policy in tre contesti specifici: contesto dell'utente, contesto del bucket e contesto dell'oggetto:

  1. Contesto dell'utente: se il richiedente è un principale IAM, il principal deve disporre dell'autorizzazione concessa dall'Account AWS parent 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 il padre possiede anche la risorsa nella richiesta (bucket o oggetto), Amazon S3 valuta le policy delle risorse corrispondenti (policy del bucket, ACL del bucket e ACL dell'oggetto) allo stesso tempo.

    Nota

    Se l'Account AWS parent è il proprietario della risorsa (il bucket o l'oggetto), può concedere le autorizzazioni a livello di risorsa al principale IAM utilizzando la policy utente o la policy della risorsa.

  2. Contesto del bucket: in questo contesto Amazon S3 valuta le policy che appartengono all'Account AWS proprietario del bucket.

    Se Account AWS che possiede l'oggetto nella richiesta non è lo stesso del proprietario del bucket, Amazon S3 controlla le policy se il proprietario del bucket ha esplicitamente negato l'accesso all'oggetto. Se è stato impostato un rifiuto esplicito sull'oggetto, Amazon S3 non autorizza la richiesta.

  3. Contesto dell'oggetto – Il richiedente deve disporre delle autorizzazioni concesse dal proprietario dell'oggetto per eseguire un'operazione specifica sull'oggetto. In questa fase, Amazon S3 valuta l'ACL dell'oggetto.

    Nota

    Se il proprietario del bucket corrisponde a quello dell'oggetto, l'accesso all'oggetto può essere concesso nella policy del bucket, che viene valutata nel contesto del bucket. Se i proprietari sono differenti, il proprietario dell'oggetto devono utilizzare un'ACL dell'oggetto per concedere le autorizzazioni. Se l'Account AWS a cui appartiene l'oggetto è anche l'account padre al quale appartiene il principale IAM, è possibile configurare le autorizzazioni dell'oggetto in una policy utente, che viene valutata nel contesto dell'utente. Per ulteriori informazioni su come utilizzare queste policy di accesso alternative, consulta la sezione Passaggi che utilizzano le policy per gestire l'accesso alle risorse Amazon S3.

    Se il proprietario del bucket desidera possedere tutti gli oggetti del bucket e utilizzare le policy del bucket o le policy basate su IAM per gestire l'accesso a questi oggetti, è possibile applicare l'impostazione del proprietario del bucket per la proprietà degli oggetti. Con questa impostazione, in quanto proprietario del bucket possiedi automaticamente e hai il pieno controllo su ogni oggetto nel bucket. Le ACL del bucket e dell'oggetto non possono essere modificate e non sono più valutate per l'accesso. Per ulteriori informazioni, consulta Controllo della proprietà degli oggetti e disabilitazione degli ACL per il bucket.

Di seguito è riportata un'illustrazione della valutazione basata sul contesto per un'operazione su un oggetto.

Illustrazione che mostra la valutazione basata sul contesto per un'operazione su un oggetto.

Esempio di richiesta di operazione su un oggetto

In questo esempio, l'utente IAM Jill, il cui padre Account AWS è 1111-1111-1111, invia una richiesta di operazione su oggetto (ad esempio, GetObject) per un oggetto di proprietà di Account AWS 3333-3333-3333 in un bucket di proprietà di Account AWS 2222-2222-2222.

Illustrazione che mostra una richiesta di operazione su un oggetto.

Jill dovrà disporre dell'autorizzazione concessa dall'Account AWS parent, il proprietario del bucket, e dal proprietario dell'oggetto. 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 per verificare che l'Account AWS parent 1111-1111-1111 abbia concesso a Jill l'autorizzazione per eseguire l'operazione richiesta. Se Jill dispone di tale autorizzazione, Amazon S3 valuta il contesto del bucket. In caso contrario, Amazon S3 rifiuta la richiesta.

  2. Nel contesto del bucket, il proprietario del bucket, ovvero l'Account AWS 2222-2222-2222, è l'autorità del contesto. Amazon S3 valuta la policy del bucket per determinare se il proprietario del bucket ha negato in modo esplicito l'accesso all'oggetto.

  3. Nel contesto dell'oggetto, l'autorità del contesto è l'Account AWS 3333-3333-3333, ovvero il proprietario dell'oggetto. Amazon S3 valuta l'ACL dell'oggetto per determinare se Jill dispone dell'autorizzazione per accedere all'oggetto. In caso affermativo, Amazon S3 autorizza la richiesta.