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 processo deve avere anche l'autorizzazione iam:PassRole per trasmettere il ruolo AWS Identity and Access Management (IAM) specificato per il processo a Operazioni in batch.
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 possono essere 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 le operazioni in batch 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 per un elenco completo delle chiavi di condizione specifiche per Amazon S3, consulta Azioni, risorse e chiavi di condizione per Amazon S3 in Riferimento alle autorizzazioni di servizio.
Per ulteriori informazioni sulle autorizzazioni alle operazioni API S3 per tipi di risorse S3, consulta Autorizzazioni necessarie per le operazioni API di Amazon S3.
Nel video seguente sono incluse le istruzioni su come impostare le autorizzazioni IAM per i processi di operazioni in batch utilizzando la Console di gestione AWS.
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.
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:GetObjectVersionsono richieste solo quando si specifica l'ID versione degli oggetti. -
Se le operazioni in batch S3 vengono eseguite su oggetti crittografati, anche il ruolo IAM dovrà avere accesso alle chiavi AWS KMS utilizzate per crittografarli.
-
Se si invia il manifesto di un report di inventario crittografato con AWS KMS, la policy IAM deve includere i permessi
"kms:Decrypt"e"kms:GenerateDataKey"per l'oggetto manifest.json e tutti i file di dati CSV associati. Se il processo di Operazioni in batch genera un manifesto in un bucket che ha liste di controllo degli accessi (ACL) abilitate e si trova in un altro Account AWS, è necessario concedere l'autorizzazione
s3:PutObjectAclnella policy IAM del ruolo IAM configurato per il processo batch. Se non si include questa autorizzazione, il processo batch fallisce con l'erroreError occurred when preparing manifest: Failed to write manifest.
Copia gli oggetti: PutObject
Sostituisci i tag degli oggetti: PutObjectTagging
Elimina l'etichettatura degli oggetti: DeleteObjectTagging
Sostituisci la lista di controllo degli accessi: PutObjectAcl
Ripristina gli oggetti: RestoreObject
Applica la conservazione Object Lock: PutObjectRetention
Applica il blocco legale Object Lock: PutObjectLegalHold
Replica gli oggetti esistenti: InitiateReplication con un manifesto generato da S3
Usa questa policy se si utilizza e si memorizza un manifesto generato da S3. Per ulteriori informazioni sull'uso delle Operazioni in batch per replicare gli oggetti esistenti, consulta Replica di oggetti esistenti con Replica in batch.
Replica gli oggetti esistenti: InitiateReplication con un manifesto utente
Usa questa policy se si utilizza un manifesto fornito dall'utente. Per ulteriori informazioni sull'uso delle Operazioni in batch per replicare gli oggetti esistenti, consulta Replica di oggetti esistenti con Replica in batch.
Calcola il checksum: consenti GetObject, GetObjectVersion, RestoreObject e PutObject
Utilizza questa policy per utilizzare l’operazione Calcola il checksum con Operazioni in batch S3. Le autorizzazioni per GetObject, GetObjectVersion e RestoreObject sono necessarie per ottenere e leggere i byte dei dati archiviati. Sostituisci i segnaposto per l’input dell’utente con le informazioni appropriate. Per ulteriori informazioni su Calcola il checksum, consulta Verifica dell’integrità degli oggetti per i dati a riposo in Amazon S3.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:RestoreObject" ], "Resource": [ "arn:aws:s3:::/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket1/*" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket2/*" ] } ] }amzn-s3-demo-bucket3