Concessione di autorizzazioni per le operazioni in batch - 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à.

Concessione di autorizzazioni per le operazioni in batch

Prima di creare ed eseguire processi operazioni in batch S3, è necessario concedere le autorizzazioni necessarie. Per creare un processo di operazioni in batch Amazon S3, è necessaria l'autorizzazione utente s3:CreateJob. La stessa entità che crea il lavoro deve inoltre avere l'iam:PassRoleautorizzazione a passare il ruolo AWS Identity and Access Management (IAM) specificato per il lavoro a Batch Operations.

Per informazioni generali sulla specificazione IAM delle risorse, consulta IAMJSONpolicy, Resource elements nella Guida per l'IAMutente. Le sezioni seguenti forniscono informazioni sulla creazione di un IAM ruolo e sull'associazione di politiche.

Creazione di un ruolo S3 Batch Operations IAM

Perché Amazon S3 possa eseguire operazioni in batch S3 per tuo conto, occorre concedergli le opportune autorizzazioni. Concedi queste autorizzazioni tramite un ruolo AWS Identity and Access Management (IAM). Questa sezione fornisce esempi delle politiche di fiducia e autorizzazioni utilizzate durante la creazione di un IAM ruolo. Per ulteriori informazioni, consulta IAMi ruoli nella Guida per l'IAMutente. Per alcuni esempi, consulta Controllo delle autorizzazioni per le operazioni in Batch utilizzando i tag dei lavori e Copia di oggetti mediante operazioni in batch S3.

Nelle tue IAM politiche, puoi anche utilizzare le chiavi di condizione per filtrare le autorizzazioni di accesso per i job di S3 Batch Operations. Per ulteriori informazioni e un elenco completo delle chiavi di condizione specifiche di Amazon S3, consulta Azioni, risorse e chiavi di condizione per Amazon S3 nel Service Authorization Reference.

Per ulteriori informazioni sulle autorizzazioni per le API operazioni S3 in base ai tipi di risorse S3, consulta. Autorizzazioni richieste per le operazioni di Amazon API S3

Il video seguente mostra come configurare le IAM autorizzazioni per i lavori Batch Operations utilizzando il AWS Management Console.

Policy di attendibilità

Per consentire al responsabile del servizio S3 Batch Operations di assumere il IAM ruolo, allega la seguente politica di fiducia al ruolo.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"batchoperations.s3.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }

Allegare policy di autorizzazione

A seconda del tipo di operazioni, puoi collegare una delle policy seguenti.

Prima di configurare le autorizzazioni, tieni presente quanto segue:

  • A prescindere dall'operazione, Amazon S3 necessita delle autorizzazioni per leggere l'oggetto manifest dal bucket S3 e, facoltativamente, per scrivere un report nel bucket. Quindi, tutte le policy seguenti includono queste autorizzazioni.

  • Per i manifesti dei report di Amazon S3 Inventory, S3 Batch Operations richiede l'autorizzazione a leggere l'oggetto manifest.json e tutti i file di dati associati. CSV

  • Autorizzazioni specifiche della versione come s3:GetObjectVersion sono richieste solo quando si specifica l'ID versione degli oggetti.

  • Se esegui S3 Batch Operations su oggetti crittografati, il IAM ruolo deve avere accesso anche alle AWS KMS chiavi utilizzate per crittografarli.

  • Se invii un manifesto del rapporto di inventario crittografato con AWS KMS, la tua IAM policy deve includere le autorizzazioni "kms:Decrypt" e "kms:GenerateDataKey" per l'oggetto manifest.json e tutti i file di dati associati. CSV

  • Se il processo Batch Operations genera un manifesto in un bucket con le liste di controllo degli accessi (ACLs) abilitate e si trova in un altro Account AWS, è necessario concedere l's3:PutObjectAclautorizzazione nella IAM politica del IAM ruolo configurato per il processo batch. Se non si include questa autorizzazione, il processo batch ha esito negativo e viene visualizzato l'erroreError occurred when preparing manifest: Failed to write manifest.

Copia oggetti: PutObject

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:PutObject", "s3:PutObjectAcl", "s3:PutObjectTagging" ], "Effect": "Allow", "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*" }, { "Action": [ "s3:GetObject", "s3:GetObjectAcl", "s3:GetObjectTagging", "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-source-bucket", "arn:aws:s3:::amzn-s3-demo-source-bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*" ] } ] }

Sostituisci l'etichettatura degli oggetti: PutObjectTagging

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:PutObjectTagging", "s3:PutObjectVersionTagging" ], "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*" ] }, { "Effect":"Allow", "Action":[ "s3:PutObject" ], "Resource":[ "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*" ] } ] }

Elimina l'etichettatura degli oggetti: DeleteObjectTagging

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:DeleteObjectTagging", "s3:DeleteObjectVersionTagging" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*" ] } ] }

Sostituisci l'elenco di controllo degli accessi: PutObjectAcl

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:PutObjectAcl", "s3:PutObjectVersionAcl" ], "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*" ] }, { "Effect":"Allow", "Action":[ "s3:PutObject" ], "Resource":[ "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*" ] } ] }

Ripristina oggetti: RestoreObject

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:RestoreObject" ], "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*" ] }, { "Effect":"Allow", "Action":[ "s3:PutObject" ], "Resource":[ "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*" ] } ] }

Applica la conservazione di Object Lock: PutObjectRetention

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:GetBucketObjectLockConfiguration", "Resource": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket" ] }, { "Effect": "Allow", "Action": [ "s3:PutObjectRetention", "s3:BypassGovernanceRetention" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*" ] } ] }
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:GetBucketObjectLockConfiguration", "Resource": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket" ] }, { "Effect": "Allow", "Action": "s3:PutObjectLegalHold", "Resource": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*" ] } ] }

Replica oggetti esistenti: InitiateReplication con un manifesto generato da S3

Utilizza questa politica se utilizzi e archivi un manifesto generato da S3. Per ulteriori informazioni sull'utilizzo di Batch Operations per replicare oggetti esistenti, vedereReplica di oggetti esistenti con Batch Replication.

{ "Version":"2012-10-17", "Statement":[ { "Action":[ "s3:InitiateReplication" ], "Effect":"Allow", "Resource":[ "arn:aws:s3:::amzn-s3-demo-source-bucket/*" ] }, { "Action":[ "s3:GetReplicationConfiguration", "s3:PutInventoryConfiguration" ], "Effect":"Allow", "Resource":[ "arn:aws:s3:::amzn-s3-demo-source-bucket" ] }, { "Action":[ "s3:GetObject", "s3:GetObjectVersion" ], "Effect":"Allow", "Resource":[ "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*" ] }, { "Effect":"Allow", "Action":[ "s3:PutObject" ], "Resource":[ "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*", "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*" ] } ] }

Replica oggetti esistenti: InitiateReplication con un manifesto utente

Utilizza questa politica se utilizzi un manifesto fornito dall'utente. Per ulteriori informazioni sull'utilizzo di Batch Operations per replicare oggetti esistenti, vedereReplica di oggetti esistenti con Batch Replication.

{ "Version":"2012-10-17", "Statement":[ { "Action":[ "s3:InitiateReplication" ], "Effect":"Allow", "Resource":[ "arn:aws:s3:::amzn-s3-demo-source-bucket/*" ] }, { "Action":[ "s3:GetObject", "s3:GetObjectVersion" ], "Effect":"Allow", "Resource":[ "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*" ] }, { "Effect":"Allow", "Action":[ "s3:PutObject" ], "Resource":[ "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*" ] } ] }