In che modo Amazon S3 autorizza una richiesta - Amazon Simple Storage Service

In che modo Amazon S3 autorizza una richiesta

Quando Amazon S3 riceve una richiesta, ad esempio un'operazione su un bucket o su un oggetto, verifica innanzitutto che il richiedente disponga delle autorizzazioni necessarie. Amazon S3 valuta tutte le policy di accesso pertinenti, le policy utente e le policy basate sulle risorse (policy del bucket, lista di controllo degli accessi (ACL) del bucket e lista ACL dell'oggetto) per decidere se autorizzare la richiesta.

Nota

Se il controllo delle autorizzazioni di Amazon S3 non trova autorizzazioni valide, viene restituito un errore di autorizzazione negata Accesso negato (403 Non consentito). Per ulteriori informazioni, consulta Risoluzione dei problemi relativi agli errori di accesso negato (403 Accesso negato) in Amazon S3.

Per determinare se il richiedente ha il permesso di eseguire un'operazione specifica, Amazon S3 esegue le seguenti operazioni, in ordine, quando riceve una richiesta:

  1. Converte tutte le policy di accesso pertinenti (policy utente, policy bucket e ACL) in fase di esecuzione in un insieme di policy da valutare.

  2. Valuta l'insieme di policy risultante nelle fasi successive. In ciascuna fase, Amazon S3 valuta un sottoinsieme di policy in un contesto specifico, in base all'autorità del contesto.

    1. Contesto dell'utente – Nel contesto dell'utente l'account padre a cui l'utente appartiene è l'autorità del contesto.

      Amazon S3 valuta un sottoinsieme di policy di proprietà dell'account padre. Questo sottoinsieme include la policy utente che l'account padre ha associato all'utente. Se il padre possiede anche la risorsa nella richiesta (bucket o oggetto), Amazon S3 valuta anche le policy delle risorse corrispondenti (policy del bucket, ACL del bucket e ACL dell'oggetto) allo stesso tempo.

      Per eseguire l'operazione, un utente deve essere autorizzato da un account padre.

      Questa fase si applica solo se la richiesta viene eseguita da un utente in un Account AWS. Se la richiesta viene eseguita utilizzando le credenziali dell'utente root di un Account AWS, Amazon S3 ignora questa fase.

    2. Contesto del bucket: nel contesto del bucket, Amazon S3 valuta le policy che appartengono all'account Account AWS proprietario del bucket.

      Se la richiesta riguarda un'operazione su un bucket, il richiedente deve essere disporre dell'autorizzazione concessa dal proprietario del bucket. Se la richiesta riguarda un oggetto, Amazon S3 valuta tutte le policy appartenenti al proprietario del bucket per verificare che quest'ultimo non abbia negato in modo esplicito l'accesso all'oggetto. Se è stato impostato un rifiuto esplicito, Amazon S3 non autorizza la richiesta.

    3. Contesto dell'oggetto – Se la richiesta riguarda un oggetto, Amazon S3 valuta il sottoinsieme di policy che appartengono al proprietario dell'oggetto.

Di seguito sono riportati alcuni scenari di esempio che illustrano come Amazon S3 autorizza una richiesta.

Esempio - Il richiedente è un principale IAM

Se il richiedente è un principale IAM, Amazon S3 deve determinare se l'Account AWS parent, al quale appartiene il principale, ha concesso al principale l'autorizzazione necessaria per eseguire l'operazione. Inoltre, se la richiesta riguarda un'operazione su un bucket, ad esempio una richiesta per elencare il contenuto del bucket, Amazon S3 deve verificare che il proprietario del bucket abbia concesso al richiedente l'autorizzazione per eseguire l'operazione. Per eseguire un'operazione specifica su una risorsa, un principale IAM deve disporre dell'autorizzazione concessa sia dall'Account AWS parent al quale appartiene sia dall'Account AWS proprietario della risorsa.

Esempio - Il richiedente è un principale IAM - Se la richiesta è per un'operazione su un oggetto che non è di proprietà del proprietario del bucket

Se la richiesta è per un'operazione su un oggetto che non è di proprietà del proprietario del bucket, oltre ad assicurarsi che il richiedente abbia i permessi del proprietario dell'oggetto, Amazon S3 deve anche controllare la policy del bucket per assicurarsi che il proprietario del bucket non abbia impostato un rifiuto esplicito sull'oggetto. Il proprietario del bucket (che paga la fattura) può negare in modo esplicito l'accesso agli oggetti nel bucket, indipendentemente dall'utente a cui appartiene. Il proprietario del bucket può anche eliminare tutti gli oggetti nel bucket.

Per impostazione predefinita, quando un altro Account AWS carica un oggetto nel bucket per uso generico S3, tale account (l’autore dell’oggetto) è proprietario dell’oggetto, ne ha accesso e può fornire ad altri utenti l’accesso tramite le liste di controllo degli accessi (ACL). È possibile utilizzare Proprietà dell’oggetto per modificare questo comportamento predefinito in modo che le ACL siano disabilitate e che tu, in qualità di proprietario del bucket, diventi automaticamente proprietario di tutti gli oggetti presenti nel bucket per uso generico. Di conseguenza, il controllo degli accessi per i dati è basato su policy, come policy utente IAM, policy di bucket S3, policy endpoint del cloud privato virtuale (VPC) e policy di controllo dei servizi di AWS Organizations. Per ulteriori informazioni, consulta Controllo della proprietà degli oggetti e disabilitazione degli ACL per il bucket.

Per ulteriori informazioni su come Amazon S3 valuta le policy di accesso per autorizzare o negare le richieste di operazioni su bucket e oggetti, consulta i seguenti argomenti: