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 delle autorizzazioni per le operazioni in batch Amazon S3
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 job deve inoltre avere l'iam:PassRole
autorizzazione a passare il ruolo AWS Identity and Access Management (IAM) specificato per il job a Batch Operations.
Per informazioni generali sulla specifica delle risorse IAM, consulta Elementi delle policy IAM JSON e Resource nella Guida per l'utente IAM. Nelle sezioni seguenti vengono fornite informazioni sulla creazione di un ruolo IAM e sul collegamento delle policy.
Creazione di un ruolo IAM di operazioni in batch S3
Perché Amazon S3 possa eseguire operazioni in batch S3 per tuo conto, occorre concedergli le opportune autorizzazioni. Queste autorizzazioni vengono concesse tramite un ruolo AWS Identity and Access Management (IAM). Questa sezione fornisce esempi delle policy di attendibilità e di autorizzazione che si possono usare quando si crea un ruolo IAM. Per ulteriori informazioni, consulta Ruoli IAM nella Guida per l'utente IAM. Per alcuni esempi, consulta Controllo delle autorizzazioni per S3 Batch Operations utilizzando i tag di processo e Copia di oggetti mediante operazioni in batch S3.
Nelle policy IAM è inoltre possibile utilizzare le chiavi di condizione per filtrare le autorizzazioni di accesso per i processi di operazioni in batch Amazon S3. 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.
Nel video seguente sono incluse le istruzioni su come impostare le autorizzazioni IAM per i processi di operazioni in batch utilizzando la AWS Management Console.
Policy di trust
Per consentire al principale del servizio di operazioni in batch S3 di assumere il ruolo IAM, collega la seguente policy di attendibilità 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 manifest di report di Amazon S3 Inventory, S3 Batch Operations richiede l'autorizzazione per leggere l'oggetto manifest.json e tutti i file di dati CSV associati.
-
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 ruolo IAM deve avere accesso anche alle AWS KMS chiavi utilizzate per crittografarli.
-
Se invii un manifesto del report di inventario crittografato con AWS KMS, la tua policy IAM deve includere le autorizzazioni
"kms:GenerateDataKey"
per l'oggetto manifest.json"kms:Decrypt"
e tutti i file di dati CSV associati. Se il processo Batch Operations genera un manifest in un bucket con ACL abilitati e si trova in un AWS account diverso, è necessario concedere l'
s3:PutObjectAcl
autorizzazione nella policy IAM del ruolo IAM configurato per il processo batch. Se non si include questa autorizzazione, il processo batch ha esito negativo e viene visualizzato l'errore.Error 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:::
DestinationBucket
/*" }, { "Action": [ "s3:GetObject", "s3:GetObjectAcl", "s3:GetObjectTagging", "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::SourceBucket
", "arn:aws:s3:::SourceBucket
/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::ManifestBucket
/*" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::ReportBucket
/*" ] } ] }
Sostituisci l'etichettatura degli oggetti: PutObjectTagging
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:PutObjectTagging", "s3:PutObjectVersionTagging" ], "Resource": "arn:aws:s3:::
TargetResource
/*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::ManifestBucket
/*" ] }, { "Effect":"Allow", "Action":[ "s3:PutObject" ], "Resource":[ "arn:aws:s3:::ReportBucket
/*" ] } ] }
Elimina l'etichettatura degli oggetti: DeleteObjectTagging
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:DeleteObjectTagging", "s3:DeleteObjectVersionTagging" ], "Resource": [ "arn:aws:s3:::
TargetResource
/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::ManifestBucket
/*" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::ReportBucket
/*" ] } ] }
Sostituisci l'elenco di controllo degli accessi: PutObjectAcl
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:PutObjectAcl", "s3:PutObjectVersionAcl" ], "Resource": "arn:aws:s3:::
TargetResource
/*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::ManifestBucket
/*" ] }, { "Effect":"Allow", "Action":[ "s3:PutObject" ], "Resource":[ "arn:aws:s3:::ReportBucket
/*" ] } ] }
Ripristina oggetti: RestoreObject
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:RestoreObject" ], "Resource": "arn:aws:s3:::
TargetResource
/*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::ManifestBucket
/*" ] }, { "Effect":"Allow", "Action":[ "s3:PutObject" ], "Resource":[ "arn:aws:s3:::ReportBucket
/*" ] } ] }
Applica la conservazione di Object Lock: PutObjectRetention
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:GetBucketObjectLockConfiguration", "Resource": [ "arn:aws:s3:::
TargetResource
" ] }, { "Effect": "Allow", "Action": [ "s3:PutObjectRetention", "s3:BypassGovernanceRetention" ], "Resource": [ "arn:aws:s3:::TargetResource
/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::ManifestBucket
/*" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::ReportBucket
/*" ] } ] }
Applica la conservazione legale di Object Lock: PutObjectLegalHold
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:GetBucketObjectLockConfiguration", "Resource": [ "arn:aws:s3:::
TargetResource
" ] }, { "Effect": "Allow", "Action": "s3:PutObjectLegalHold", "Resource": [ "arn:aws:s3:::TargetResource
/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::ManifestBucket
/*" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::ReportBucket
/*" ] } ] }
Replica oggetti esistenti: InitiateReplication con un manifesto generato da S3
Utilizza questa policy se utilizzi e archivia un manifesto generato da S3. Per ulteriori informazioni sull'utilizzo di Batch Operations per la replica di oggetti esistenti, consulta la sezione Replica di oggetti esistenti con S3 Batch Replication.
{ "Version":"2012-10-17", "Statement":[ { "Action":[ "s3:InitiateReplication" ], "Effect":"Allow", "Resource":[ "arn:aws:s3:::
*** replication source bucket ***
/*" ] }, { "Action":[ "s3:GetReplicationConfiguration", "s3:PutInventoryConfiguration" ], "Effect":"Allow", "Resource":[ "arn:aws:s3:::*** replication source bucket ***
" ] }, { "Action":[ "s3:GetObject", "s3:GetObjectVersion" ], "Effect":"Allow", "Resource":[ "arn:aws:s3:::*** manifest bucket ***
/*" ] }, { "Effect":"Allow", "Action":[ "s3:PutObject" ], "Resource":[ "arn:aws:s3:::*** completion report bucket ****
/*", "arn:aws:s3:::*** manifest bucket ****
/*" ] } ] }
Replica oggetti esistenti: InitiateReplication con un manifesto utente
Utilizza questa policy se impieghi un manifesto fornito dall'utente. Per ulteriori informazioni sull'utilizzo di Batch Operations per la replica di oggetti esistenti, consulta la sezione Replica di oggetti esistenti con S3 Batch Replication.
{ "Version":"2012-10-17", "Statement":[ { "Action":[ "s3:InitiateReplication" ], "Effect":"Allow", "Resource":[ "arn:aws:s3:::
*** replication source bucket ***
/*" ] }, { "Action":[ "s3:GetObject", "s3:GetObjectVersion" ], "Effect":"Allow", "Resource":[ "arn:aws:s3:::*** manifest bucket ***
/*" ] }, { "Effect":"Allow", "Action":[ "s3:PutObject" ], "Resource":[ "arn:aws:s3:::*** completion report bucket ****
/*" ] } ] }