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 IAM ruoli è una pratica migliore rispetto alla concessione delle autorizzazioni a singoli utenti. Per ulteriori informazioni su come concedere le autorizzazioni ai ruoli, consulta. IAM 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. Per impostazione predefinita, l'utente non dispone di autorizzazioni. IAM 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:

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. Iscriviti a 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, accedi alla IAMconsole ed esegui le seguenti operazioni:

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

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

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

        Per istruzioni, consulta Gestione delle IAM politiche nella Guida per l'IAMutente.

      3. Nota il codice di accesso IAM utente URL per AccountAadmin. Dovrai utilizzarlo URL quando accedi a. AWS Management Console Per ulteriori informazioni su dove trovare l'accessoURL, consulta Accedere AWS Management Console come IAM utente nella Guida per l'IAMutente. Nota il URL codice per 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 l'accesso speciale IAM dell'utenteURL, 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 IAMconsole, procedi come segue:

      1. Crea un utente chiamato Dave.

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

      2. Annota le UserDave credenziali.

      3. Nota l'Amazon Resource Name (ARN) per l'utente Dave. Nella IAMConsole, seleziona l'utente e la scheda Riepilogo lo fornisce. ARN

  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 all'oggetto nella policy del bucket (o in una politica). IAM

    1. Nella console Amazon S3, collega la seguente policy sui 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.

      Nella Principal dichiarazione, Dave viene identificato dal suo utente. ARN 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 in the IAMUser 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 un 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

    Esegui il seguente AWS CLI comando 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