View a markdown version of this page

Esempio 1: il proprietario del bucket concede agli utenti le autorizzazioni per il bucket - Amazon Simple Storage Service

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à.

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.

In questa procedura dettagliata, an Account AWS possiede un bucket e l'account include un utente IAM. Per impostazione predefinita, l'utente non dispone di autorizzazioni. Per eseguire qualsiasi attività, l'account padre deve concedere le autorizzazioni all'utente. Il proprietario del bucket e l'account padre sono uguali. Pertanto, per concedere all'utente le autorizzazioni sul bucket, Account AWS può utilizzare una bucket policy, una user policy 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:

Un AWS account che concede le autorizzazioni.
  1. L'amministratore dell'account crea una policy bucket per concedere un set di autorizzazioni all'utente.

  2. L'amministratore dell'account collega una policy utente all'utente per concedere ulteriori autorizzazioni.

  3. L'utente prova quindi le autorizzazioni concesse tramite la politica del bucket e la politica utente.

Per questo esempio, avrai bisogno di 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'amministratore come illustrato nella tabella seguente.

ID account Account denominato Utente amministratore nell'account

1111-1111-1111

Account A

AccountAadmin

Nota

L'utente amministratore in questo esempio è AccountAadmin, che si riferisce 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 le autorizzazioni, la procedura dettagliata utilizza gli strumenti della 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

  1. Assicurati di avere una Account AWS e che abbia un utente con privilegi di amministratore.

    1. Registrati per un Account AWS, se necessario. Si fa riferimento a questo account come Account A.

      1. Vai a https://aws.amazon.com/s3 e scegli Crea un AWS account.

      2. Seguire le istruzioni su schermo.

        AWS ti avviserà via e-mail quando il tuo account sarà attivo e disponibile per l'uso.

    2. Nell'account A, crea un utente amministratore AccountAadmin. Utilizzando le credenziali dell'Account A, accedere alla console IAM ed effettuare quanto segue:

      1. Crea l'utente AccountAadmin e annota le credenziali di sicurezza dell'utente.

        Per istruzioni, consulta Creazione di un utente IAM in Account AWS nella Guida all'utente IAM.

      2. Concedi i privilegi di amministratore AccountAadmin allegando una politica utente che consente l'accesso completo.

        Per istruzioni, consulta Gestione delle policy IAM nella Guida all'utente IAM.

      3. Nota l' Sign-In URL 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 Console di gestione AWS come utente IAM nella IAM User Guide. Annota l'URL di ciascun account.

  2. Configura il AWS CLI o il. AWS Tools for Windows PowerShell Assicurati di salvare le credenziali dell'utente amministratore come segue:

    • Se si utilizza il AWS CLI, crea un profilo,AccountAadmin, nel file di configurazione.

    • Se usi il AWS Tools for Windows PowerShell, assicurati di memorizzare le credenziali per la sessione come. AccountAadmin

    Per istruzioni, consulta l’argomento 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 lo speciale URL di accesso dell'utente IAM, accedi a Console di gestione AWS ed esegui quanto segue:

  1. Creare risorse di un bucket e di un utente IAM

    1. Nella console di Amazon S3 creare un bucket. Annota il codice Regione AWS in cui hai creato il bucket. Per istruzioni, consulta l’argomento Creazione di un bucket per uso generico.

    2. Nella Console IAM, procedi come segue:

      1. Crea un utente di nome Dave.

        Per istruzioni dettagliate, consulta Creazione di utenti IAM (console) nella Guida all'utente IAM.

      2. Annota le credenziali UserDave.

      3. 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.

  2. Concedi i permessi.

    Poiché il proprietario del bucket e l'account principale a cui appartiene l'utente sono gli stessi, Account AWS può concedere le autorizzazioni utente utilizzando una policy del 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).

    1. Nella console Amazon S3, allega la seguente policy del bucket a. awsexamplebucket1

      La policy include due dichiarazioni.

      • La prima istruzione concede a Dave le autorizzazioni per le operazioni sul bucket s3:GetBucketLocation e s3:ListBucket.

      • La seconda istruzione concede l'autorizzazione s3:GetObject. Poiché l'Account A è anche proprietario dell'oggetto, l'amministratore dell'account può concedere l'autorizzazione s3:GetObject.

      Nell'istruzione Principal Dave è identificato dall'ARN utente. Per ulteriori informazioni sugli elementi delle policy, consultare Policy e autorizzazioni in Amazon S3.

      JSON
      { "Version":"2012-10-17", "Statement": [ { "Sid": "statement1", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:user/Dave" }, "Action": [ "s3:GetBucketLocation", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::awsexamplebucket1" ] }, { "Sid": "statement2", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:user/Dave" }, "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::awsexamplebucket1/*" ] } ] }
    2. 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.

      JSON
      { "Version":"2012-10-17", "Statement": [ { "Sid": "PermissionForObjectOperations", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::awsexamplebucket1/*" ] } ] }

      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.

Verifica le autorizzazioni utilizzando il AWS CLI
  1. Aggiorna il file di AWS CLI configurazione aggiungendo il seguente UserDaveAccountA profilo. Per ulteriori informazioni, consulta Impostazione degli strumenti per le visite guidate.

    [profile UserDaveAccountA] aws_access_key_id = access-key aws_secret_access_key = secret-access-key region = us-east-1
  2. Verificare che Dave possa eseguire le operazioni autorizzate nella policy utente. Carica un oggetto di esempio utilizzando il seguente AWS CLI put-object comando.

    Il parametro --body nel 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 specifica c:\HappyFace.jpg. Il parametro --key fornisce il nome della chiave dell'oggetto.

    aws s3api put-object --bucket awsexamplebucket1 --key HappyFace.jpg --body HappyFace.jpg --profile UserDaveAccountA

    Eseguite il AWS CLI comando seguente per ottenere l'oggetto.

    aws s3api get-object --bucket awsexamplebucket1 --key HappyFace.jpg OutputFile.jpg --profile UserDaveAccountA
Verifica le autorizzazioni utilizzando il AWS Tools for Windows PowerShell
  1. Memorizza le credenziali di Dave come AccountADave. Si utilizzano quindi queste credenziali per PUT e GET un oggetto.

    set-awscredentials -AccessKey AccessKeyID -SecretKey SecretAccessKey -storeas AccountADave
  2. Carica un oggetto di esempio utilizzando il AWS Tools for Windows PowerShell Write-S3Object comando utilizzando le credenziali archiviate dell'utente Dave.

    Write-S3Object -bucketname awsexamplebucket1 -key HappyFace.jpg -file HappyFace.jpg -StoredCredentials AccountADave

    Scaricare l'oggetto caricato in precedenza.

    Read-S3Object -bucketname awsexamplebucket1 -key HappyFace.jpg -file Output.jpg -StoredCredentials AccountADave