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

Concedere le autorizzazioni ai ruoli IAM è una pratica migliore rispetto alla concessione delle autorizzazioni ai singoli utenti. Per informazioni su come effettuare questa operazione, consulta Contesto: autorizzazioni multiaccount e utilizzo dei ruoli IAM.

In questo esercizio, un utente Account AWS possiede un bucket e ha un utente IAM nell'account. Per impostazione predefinita, l'utente non ha 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 possono utilizzare una policy del bucket, una politica 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:

  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 policy bucket e la policy 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' Account AWS utente amministratore come segue:

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 AWS Management Console. Per verificare le autorizzazioni, la procedura dettagliata utilizza gli strumenti della riga di comando ( AWS Command Line Interface CLI) e AWS Tools for Windows PowerShell, per verificare le autorizzazioni, non è necessario scrivere alcun codice.

Fase 0: preparazione della procedura guidata

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

    1. Registrare un account, se necessario. Si fa riferimento a questo account come Account A.

      1. Andare a https://aws.amazon.com/s3 e fare clic su Registrati.

      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 utente AccountAadmin e annota le credenziali di sicurezza dell'utente.

        Per istruzioni, consulta Creazione di un utente IAM nell' Account AWS nella Guida per l'utente di IAM.

      2. Concedi i privilegi di AccountAadmin amministratore allegando una politica utente che dia accesso completo.

        Per istruzioni, consulta Gestione di policy IAM nella Guida per l'utente di IAM.

      3. Annota l'URL di accesso degli utenti IAM per. AccountAadmin che dovrà essere utilizzato per accedere alla AWS Management Console. Per ulteriori informazioni su come individuarlo, consulta In che modo gli utenti effettuano l'accesso al tuo account nella Guida per l'utente IAM. Prendere nota dell'URL per ciascun account.

  2. Configura la AWS Command Line Interface (CLI) o la. AWS Tools for Windows PowerShell Assicurarsi di salvare le credenziali dell'utente amministratore nel modo seguente:

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

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

    Per istruzioni, consulta Configurazione degli strumenti per le procedure guidate di esempio.

Fase 1: creare risorse (un bucket e un utente IAM) nell'account A e concedere autorizzazioni

Utilizzando le credenziali dell'utente AccountAadmin nell'Account A e lo speciale URL di accesso utente IAM, accedi a AWS Management Console e procedi come segue:

  1. Creare le risorse (un bucket e un utente IAM)

    1. Creare un bucket nella console di Amazon S3. Annota il codice Regione AWS in cui l'hai creato. Per istruzioni, consulta Creazione di un bucket.

    2. Nella console IAM, procedi come segue:

      1. Crea un utente denominato Dave.

        Per step-by-step istruzioni, consulta Creating IAM users (AWS Management Console) nella IAM User Guide.

      2. Annota le UserDave credenziali.

      3. Prendere nota dell'Amazon Resource Name (ARN) per l'utente Dave. Nella console IAM, seleziona l'utente e la scheda Riepilogo fornisce l'ARN dell'utente.

  2. Concedere le autorizzazioni.

    Poiché il proprietario del bucket e l'account principale a cui appartiene l'utente sono gli stessi, Account AWS possono concedere le autorizzazioni all'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 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: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 di bucket e policy utente.

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

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

      Per istruzioni, consulta Gestione di policy inline nella Guida per l'utente di 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.

Esegui il test utilizzando il AWS CLI
  1. Aggiorna il file di AWS CLI configurazione aggiungendo il seguente profilo UserDaveAccount A. Per ulteriori informazioni, consulta Configurazione degli strumenti per le procedure guidate di esempio.

    [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. Caricate un oggetto di esempio utilizzando il AWS CLI put-object comando seguente.

    Il parametro --body nel comando identifica il file di origine da caricare. Se ad esempio il file si trova nella root dell'unità C: di un computer Windows, specificare 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
Esegui il test utilizzando il AWS Tools for Windows PowerShell
  1. Archiviare le credenziali di Dave come AccountADave. Servirsi quindi di queste credenziali per eseguire richieste PUT e GET su un oggetto.

    set-awscredentials -AccessKey AccessKeyID -SecretKey SecretAccessKey -storeas AccountADave
  2. Caricate un oggetto di esempio utilizzando il AWS Tools for Windows PowerShell Write-S3Object comando utilizzando le credenziali memorizzate 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