Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Configura l'accesso tra account in Athena ai bucket Amazon S3

Modalità Focus
Configura l'accesso tra account in Athena ai bucket Amazon S3 - Amazon Athena

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

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

Uno scenario comune di Amazon Athena è la concessione dell'accesso agli utenti in un account diverso da quello del proprietario del bucket, in modo che possano eseguire le query. In questo caso, occorre utilizzare una policy dei bucket per concedere l'accesso.

Nota

Per informazioni sull'accesso tra account diversi ai cataloghi di AWS Glue dati di Athena, vedere. Configurare l'accesso tra account ai cataloghi di AWS Glue dati

La seguente policy dei bucket di esempio, creata e applicata al bucket s3://amzn-s3-demo-bucket dal proprietario del bucket, concede l'accesso a tutti gli utenti nell'account 123456789123, che è un account diverso.

{ "Version": "2012-10-17", "Id": "MyPolicyID", "Statement": [ { "Sid": "MyStatementSid", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789123:root" }, "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] } ] }

Per concedere l'accesso a un determinato utente in un account, occorre sostituire la chiave Principal con una chiave che specifica l'utente anziché root. Ad esempio, per il profilo utente Dave, è necessario utilizzare arn:aws:iam::123456789123:user/Dave.

Configura l'accesso tra account diversi a un bucket crittografato con una chiave personalizzata AWS KMS

Se disponi di un bucket Amazon S3 crittografato con una chiave personalizzata AWS Key Management Service (AWS KMS), potresti dover concedere l'accesso ad esso agli utenti di un altro account Amazon Web Services.

La concessione dell'accesso a un bucket AWS KMS crittografato nell'Account A a un utente nell'Account B richiede le seguenti autorizzazioni:

  • La policy del bucket nell'Account A deve concedere l'accesso al ruolo assunto dall'Account B.

  • La politica AWS KMS chiave dell'Account A deve concedere l'accesso al ruolo assunto dall'utente nell'Account B.

  • Il ruolo AWS Identity and Access Management (IAM) assunto dall'Account B deve concedere l'accesso sia al bucket che alla chiave nell'Account A.

Nelle procedure seguenti viene descritto come concedere ciascuna di queste autorizzazioni.

Per concedere l'accesso al bucket nell'Account A all'utente nell'Account B
  • Nell'Account A, esaminare la policy del bucket S3 e verificare che sia presente un'istruzione che consenta l'accesso dall'ID dell'Account B.

    Ad esempio, la seguente policy del bucket consente l'accesso s3:GetObject all'ID 111122223333 dell'account:

    { "Id": "ExamplePolicy1", "Version": "2012-10-17", "Statement": [ { "Sid": "ExampleStmt1", "Action": [ "s3:GetObject" ], "Effect": "Allow", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*", "Principal": { "AWS": [ "111122223333" ] } } ] }
Per concedere l'accesso all'utente nell'account b dalla politica AWS KMS chiave nell'account a
  1. Nella politica AWS KMS chiave per l'Account A, concedi il ruolo assunto dalle autorizzazioni dell'Account B alle seguenti azioni:

    • kms:Encrypt

    • kms:Decrypt

    • kms:ReEncrypt*

    • kms:GenerateDataKey*

    • kms:DescribeKey

    Nell'esempio seguente viene concesso l'accesso alla chiave a un solo ruolo IAM.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowUseOfTheKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/role_name" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" } ] }
  2. Dall'Account A, esamina la politica chiave utilizzando la visualizzazione delle AWS Management Console politiche.

  3. Nella policy della chiave, verificare che l'istruzione seguente elenchi l'Account B come principal.

    "Sid": "Allow use of the key"
  4. Se l'istruzione "Sid": "Allow use of the key" non è presente, attenersi alla seguente procedura:

    1. Visualizzare la policy della chiave utilizzando la visualizzazione predefinita della console.

    2. Aggiungere l'ID dell'Account B come account esterno con accesso alla chiave.

Concessione dell'accesso al bucket e alla chiave nell'Account A dal ruolo IAM assunto dall'Account B
  1. Dall'Account B, apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Apri il ruolo IAM associato all'utente nell'Account B.

  3. Esamina l'elenco delle policy di autorizzazione applicate al ruolo IAM.

  4. Assicurarsi che venga applicata una policy che conceda l'accesso al bucket.

    L'istruzione di esempio seguente concede al ruolo IAM l'accesso alle operazioni s3:GetObject e s3:PutObject sul bucket amzn-s3-demo-bucket:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "ExampleStmt2", "Action": [ "s3:GetObject", "s3:PutObject" ], "Effect": "Allow", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*" } ] }
  5. Assicurarsi che venga applicata una policy che consenta l'accesso alla chiave.

    Nota

    Se il ruolo IAM assunto dall'Account B dispone già dell'accesso come amministratore, non è necessario concedere l'accesso alla chiave dalle policy IAM dell'utente.

    L'istruzione di esempio seguente concede al ruolo IAM l'accesso per utilizzare la chiave arn:aws:kms:us-west-2:123456789098:key/111aa2bb-333c-4d44-5555-a111bb2c33dd.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "ExampleStmt3", "Action": [ "kms:Decrypt", "kms:DescribeKey", "kms:Encrypt", "kms:GenerateDataKey", "kms:ReEncrypt*" ], "Effect": "Allow", "Resource": "arn:aws:kms:us-west-2:123456789098:key/111aa2bb-333c-4d44-5555-a111bb2c33dd" } ] }

Configura l'accesso tra account agli oggetti bucket

Gli oggetti caricati da un account (Account C) diverso dall'account proprietario del bucket (Account A) potrebbero richiedere un livello di oggetto esplicito ACLs che conceda l'accesso in lettura all'account che esegue la query (Account B). Per evitare questo requisito, l'Account C deve assumere un ruolo nell'Account A prima di collocare gli oggetti nel bucket dell'Account A. Per ulteriori informazioni, consulta Come posso fornire l'accesso tra account agli oggetti che si trovano nei bucket Amazon S3?.

PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.