Esempio 1: il proprietario del bucket concede agli utenti le autorizzazioni per il bucket
Importante
La concessione di autorizzazioni ai ruoli IAM è una pratica migliore rispetto alla concessione di autorizzazioni ai singoli utenti. Per ulteriori informazioni su come concedere autorizzazioni ai ruoli IAM, consulta Comprendere le autorizzazioni multi-account e utilizzare i ruoli IAM.
Argomenti
In questa guida, un Account AWS possiede un bucket e l'account include un utente IAM Per impostazione predefinita, l'utente non ha permessi. Per eseguire qualsiasi attività, l'account padre deve concedere le autorizzazioni all'utente. Il proprietario del bucket e l'account padre sono uguali. Per concedere le autorizzazioni utente sul bucket, quindi, l'Account AWS può utilizzare una policy del bucket, una policy utente o entrambe. Il proprietario dell'account concederà alcune autorizzazioni con una policy del bucket e altre con una policy utente.
La seguenti fasi riepilogano la procedura guidata:
-
L'amministratore dell'account crea una policy bucket per concedere un set di autorizzazioni all'utente.
-
L'amministratore dell'account collega una policy utente all'utente per concedere ulteriori autorizzazioni.
-
L'utente prova quindi le autorizzazioni concesse tramite la policy bucket e la policy utente.
Per questo esempio, è necessario un Account AWS. Anziché utilizzare le credenziali dell'utente root dell'account, sarà necessario creare un utente amministratore (consultare Informazioni sull'uso di un utente amministratore per creare risorse e concedere autorizzazioni). Ci riferiamo all'utente Account AWS e all'utente amministratore come mostrato nella tabella seguente.
| ID account | Account denominato | Utente amministratore nell'account |
|---|---|---|
|
|
Account A |
AccountAadmin |
Nota
L'utente amministratore in questo esempio è AccountAadmin, che fa riferimento all'account A e non AccountAdmin.
Tutte le attività di creazione degli utenti e assegnazione delle autorizzazioni vengono effettuate nella Console di gestione AWS. Per verificare i permessi, la guida utilizza gli strumenti a riga di comando AWS Command Line Interface (AWS CLI) e AWS Tools for Windows PowerShell, quindi non è necessario scrivere alcun codice.
Preparazione della spiegazione passo per passo
-
Assicurati di disporre di un Account AWS e che sia disponibile un utente con privilegi di amministratore.
-
Registrare un Account AWS, se necessario. Si fa riferimento a questo account come Account A.
-
Accedi a https://aws.amazon.com/s3
e scegli Crea un account AWS. -
Seguire le istruzioni su schermo.
AWS comunicherà via e-mail quando l'account è attivo e pronto all'uso.
-
-
Nell'account A, crea un utente amministratore
AccountAadmin. Utilizzando le credenziali dell'Account A, accedere alla console IAMed effettuare quanto segue: -
Crea l'utente
AccountAadmine annota le credenziali di sicurezza dell'utente.Per istruzioni, consulta Creazione di un utente IAM in Account AWS nella Guida all'utente IAM.
-
Concedere i privilegi di amministratore ad AccountAadmin allegando una policy utente che dia accesso completo.
Per istruzioni, consulta Gestione delle policy IAM nella Guida all'utente IAM.
-
Annota l'URL di accesso dell'utente IAM per AccountAadmin. che dovrà essere utilizzato per accedere alla Console di gestione AWS. Per ulteriori informazioni su dove trovare l'URL di accesso, consulta Accedi a Console di gestione AWS come utente IAM in Guida all'utente IAM. Annota l'URL di ciascun account.
-
-
-
Imposta AWS CLI o AWS Tools for Windows PowerShell. Assicurati di salvare le credenziali dell'utente amministratore come segue:
-
Se si utilizza AWS CLI, crea un profilo,
AccountAadmin, nel file di configurazione. -
Se si utilizza AWS Tools for Windows PowerShell, assicurati di memorizzare le credenziali per la sessione come
AccountAadmin.
Per istruzioni, consulta Impostazione degli strumenti per le visite guidate.
-
Fase 1: Creare risorse nell'account A e concedere le autorizzazioni
Utilizzando le credenziali dell'utente AccountAadmin nell'account A e l'URL speciale di accesso dell'utente IAM, accedi a Console di gestione AWS e procedere come segue:
-
Creare risorse di un bucket e di un utente IAM
-
Nella console di Amazon S3 creare un bucket. Si noti Regione AWS in cui è stato creato il bucket. Per istruzioni, consulta Creazione di un bucket per uso generico.
-
Nella Console IAM
, procedi come segue: -
Crea un utente di nome Dave.
Per istruzioni dettagliate, consulta Creazione di utenti IAM (console) nella Guida all'utente IAM.
-
Annota le credenziali
UserDave. -
Annota il nome della risorsa Amazon (ARN) per l'utente Dave. Nella Console IAM
, seleziona l'utente e la scheda Riepilogo fornisce l'ARN dell'utente.
-
-
-
Concedi i permessi.
Poiché il proprietario del bucket e l'account parent a cui appartiene l'utente corrispondono, l'Account AWS può concedere le autorizzazioni all'utente tramite una policy bucket, una policy utente o entrambe. come in questo esempio. Se l'oggetto è anche di proprietà dello stesso account, il proprietario del bucket può concedere le autorizzazioni per l'oggetto nella policy bucket (o una policy IAM).
-
Nella console di Amazon S3, collegare la seguente policy bucket a
awsexamplebucket1.La policy include due dichiarazioni.
-
La prima istruzione concede a Dave le autorizzazioni per le operazioni sul bucket
s3:GetBucketLocationes3:ListBucket. -
La seconda istruzione concede l'autorizzazione
s3:GetObject. Poiché l'Account A è anche proprietario dell'oggetto, l'amministratore dell'account può concedere l'autorizzaziones3:GetObject.
Nell'istruzione
PrincipalDave è identificato dall'ARN utente. Per ulteriori informazioni sugli elementi delle policy, consultare Policy e autorizzazioni in Amazon S3. -
-
Creare una policy inline per l'utente Dave mediante la policy che segue. La policy concede a Dave l'autorizzazione
s3:PutObject. È necessario aggiornare la policy specificando il nome del bucket.Per istruzioni, consulta Gestione delle policy IAM nella Guida all'utente IAM. Tenere presente che è necessario accedere alla console tramite le credenziali dell'Account A.
-
Fase 2: testare le autorizzazioni
Utilizzando le credenziali di Dave, verificare che le autorizzazioni funzionino correttamente. È possibile utilizzare una delle due procedure di seguito.
Testa le autorizzazioni usando il metodo AWS CLI
-
Aggiorna il file di configurazione di AWS CLI aggiungendo il seguente profilo
UserDaveAccountA. Per ulteriori informazioni, consulta Impostazione degli strumenti per le visite guidate.[profile UserDaveAccountA] aws_access_key_id =access-keyaws_secret_access_key =secret-access-keyregion =us-east-1 -
Verificare che Dave possa eseguire le operazioni autorizzate nella policy utente. Carica un oggetto di esempio tramite il seguente comando AWS CLI
put-object.Il parametro
--bodynel comando identifica il file di origine da caricare. Ad esempio, se il file si trova nella radice dell'unità C: su un computer Windows, si specificac:\HappyFace.jpg. Il parametro--keyfornisce il nome della chiave dell'oggetto.aws s3api put-object --bucketawsexamplebucket1--keyHappyFace.jpg--bodyHappyFace.jpg--profile UserDaveAccountAEsegui questo comando della AWS CLI per ottenere l'oggetto.
aws s3api get-object --bucket awsexamplebucket1 --keyHappyFace.jpgOutputFile.jpg--profile UserDaveAccountA
Testa le autorizzazioni usando il metodo AWS Tools for Windows PowerShell
-
Memorizza le credenziali di Dave come
AccountADave. Si utilizzano quindi queste credenziali perPUTeGETun oggetto.set-awscredentials -AccessKeyAccessKeyID-SecretKeySecretAccessKey-storeas AccountADave -
Carica un oggetto di esempio utilizzando il comando AWS Tools for Windows PowerShell
Write-S3Objectutilizzando le credenziali archiviate di Dave.Write-S3Object -bucketnameawsexamplebucket1-keyHappyFace.jpg-fileHappyFace.jpg-StoredCredentials AccountADaveScaricare l'oggetto caricato in precedenza.
Read-S3Object -bucketnameawsexamplebucket1-keyHappyFace.jpg-fileOutput.jpg-StoredCredentials AccountADave