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 delle autorizzazioni ai ruoli IAM è una pratica migliore rispetto alla concessione delle autorizzazioni a singoli utenti. Per ulteriori informazioni su come concedere le autorizzazioni ai ruoli IAM, consulta. Comprensione delle autorizzazioni tra account e utilizzo dei ruoli IAM

In questa procedura dettagliata, un utente 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 possono 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:

Diagramma che mostra 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 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'utente Account AWS e all'utente 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 AWS Management Console. 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 un account 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 su 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 amministratoreAccountAadmin. 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 Creating an IAM user in your Account AWS nella IAM User Guide.

      2. Concedi i privilegi di amministratore AccountAadminallegando una policy utente che dia accesso completo.

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

      3. Nota l'URL di accesso dell'utente IAM per. AccountAadmin che dovrà essere utilizzato per accedere alla AWS Management Console. Per ulteriori informazioni su dove trovare l'URL di accesso, consulta Accedere AWS Management Console come utente IAM nella IAM User Guide. Annota l'URL di ogni account.

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

    • 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 dettagliate.

Passaggio 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 utente IAM, accedi a AWS Management Console e procedi come segue:

  1. Crea le risorse di un bucket e di un utente IAM

    1. Nella console di Amazon S3 creare un bucket. Nota Regione AWS in che modo hai creato il bucket. Per istruzioni, consulta Creazione di un bucket.

    2. Nella console IAM, procedi come segue:

      1. Crea un utente chiamato Dave.

        Per step-by-step istruzioni, consulta Creazione di utenti IAM (console) nella Guida per l'utente IAM.

      2. Prendi nota delle UserDave credenziali.

      3. Prendi 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. Concedi 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 politica 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 Politiche e autorizzazioni in Amazon S3.

      { "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 Managing IAMPolicies nella IAM User Guide. 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 Configurazione degli strumenti per le procedure dettagliate.

    [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. Ad esempio, se il file si trova nella radice dell'unità C: su una Windows macchina, si specificac:\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 Queste credenziali vengono quindi utilizzate per PUT aggiungere un oggetto. GET

    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