Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Activation du verrouillage des objets S3 à l’aide des opérations par lot S3
Vous pouvez utiliser Amazon S3 Batch Operations avec S3 Object Lock pour gérer la rétention ou activer une conservation légale pour de nombreux objets Amazon S3 à la fois. Vous spécifiez la liste des objets cibles dans votre manifeste et l'envoyez aux tâches d'opérations par lot pour terminer. Pour plus d’informations, consultez Conservation d'un verrouillage d'objet S3 et Mise en suspens juridique du verrouillage des objets S3.
Les exemples suivants montrent comment créer un rôle AWS Identity and Access Management (IAM) avec des autorisations S3 Batch Operations et comment mettre à jour les autorisations de rôle pour créer des tâches qui activent Object Lock. Vous devez également disposer d'un CSV
manifeste identifiant les objets de votre tâche S3 Batch Operations. Pour de plus amples informations, veuillez consulter Spécification d'un manifeste.
Pour utiliser les exemples suivants, remplacez le
avec vos propres informations. espaces réservés aux entrées utilisateur
-
Créez un IAM rôle et attribuez les autorisations d'exécution à S3 Batch Operations.
Cette étape est obligatoire pour toutes les tâches d'opérations par lot S3.
export AWS_PROFILE='
aws-user
' read -d ''batch_operations_trust_policy
<<EOF { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "batchoperations.s3.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] } EOF aws iam create-role --role-namebatch_operations-objectlock
\ --assume-role-policy-document "${batch_operations_trust_policy
}" -
Configurez l'exécution des tâches d'opérations par lot S3 avec la fonctionnalité de verrouillage des objets S3.
Dans cette étape, vous autorisez le rôle à effectuer les opérations suivantes :
-
Exécutez la tâche de verrouillage des objets sur le compartiment S3 qui contient les objets cibles sur lesquels vous souhaitez exécuter la fonctionnalité d'opérations par lot.
-
Lisez le compartiment S3 dans lequel se trouvent le CSV fichier manifeste et les objets.
-
Écrivez les résultats de la tâche d'opérations par lot S3 dans le compartiment de rapports.
read -d ''
batch_operations_permissions
<<EOF { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:GetBucketObjectLockConfiguration", "Resource": [ "arn:aws:s3:::{{amzn-s3-demo-manifest-bucket
}}" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::{{amzn-s3-demo-manifest-bucket
}}/*" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::{{amzn-s3-demo-completion-report-bucket
}}/*" ] } ] } EOF aws iam put-role-policy --role-namebatch_operations-objectlock
\ --policy-nameobject-lock-permissions
\ --policy-document "${batch_operations_permissions
}" -
Les exemples suivants montrent comment créer un IAM rôle avec des autorisations S3 Batch Operations et comment mettre à jour les autorisations de rôle pour créer des tâches qui activent Object Lock à l'aide du AWS SDK for Java. Vous devez également disposer d'un manifeste CSV
identifiant les objets de votre tâche d'opérations par lot S3. Pour de plus amples informations, veuillez consulter Spécification d'un manifeste.
Procédez comme suit :
-
Créez un IAM rôle et attribuez les autorisations d'exécution à S3 Batch Operations. Cette étape est obligatoire pour toutes les tâches d'opérations par lot S3.
-
Configurez l'exécution des tâches d'opérations par lot S3 avec la fonctionnalité de verrouillage des objets S3.
Vous autorisez le rôle à effectuer les opérations suivantes :
-
Exécutez la tâche de verrouillage des objets sur le compartiment S3 qui contient les objets cibles sur lesquels vous souhaitez exécuter la fonctionnalité d'opérations par lot.
-
Lisez le compartiment S3 dans lequel se trouvent le CSV fichier manifeste et les objets.
-
Écrivez les résultats de la tâche d'opérations par lot S3 dans le compartiment de rapports.
-
public void createObjectLockRole() { final String roleName = "
batch_operations-object-lock
"; final String trustPolicy = "{" + " \"Version\": \"2012-10-17\", " + " \"Statement\": [ " + " { " + " \"Effect\": \"Allow\", " + " \"Principal\": { " + " \"Service\": [" + " \"batchoperations.s3.amazonaws.com\"" + " ]" + " }, " + " \"Action\": \"sts:AssumeRole\" " + " } " + " ]" + "}"; final String bopsPermissions = "{" + " \"Version\": \"2012-10-17\"," + " \"Statement\": [" + " {" + " \"Effect\": \"Allow\"," + " \"Action\": \"s3:GetBucketObjectLockConfiguration\"," + " \"Resource\": [" + " \"arn:aws:s3:::amzn-s3-demo-manifest-bucket
\"" + " ]" + " }," + " {" + " \"Effect\": \"Allow\"," + " \"Action\": [" + " \"s3:GetObject\"," + " \"s3:GetObjectVersion\"," + " \"s3:GetBucketLocation\"" + " ]," + " \"Resource\": [" + " \"arn:aws:s3:::amzn-s3-demo-manifest-bucket
/*\"" + " ]" + " }," + " {" + " \"Effect\": \"Allow\"," + " \"Action\": [" + " \"s3:PutObject\"," + " \"s3:GetBucketLocation\"" + " ]," + " \"Resource\": [" + " \"arn:aws:s3:::amzn-s3-demo-completion-report-bucket
/*\"" + " ]" + " }" + " ]" + "}"; final AmazonIdentityManagement iam = AmazonIdentityManagementClientBuilder.defaultClient(); final CreateRoleRequest createRoleRequest = new CreateRoleRequest() .withAssumeRolePolicyDocument(bopsPermissions) .withRoleName(roleName); final CreateRoleResult createRoleResult = iam.createRole(createRoleRequest); final PutRolePolicyRequest putRolePolicyRequest = new PutRolePolicyRequest() .withPolicyDocument(bopsPermissions) .withPolicyName("batch_operations-permissions
") .withRoleName(roleName); final PutRolePolicyResult putRolePolicyResult = iam.putRolePolicy(putRolePolicyRequest); }