バッチ操作を使用したオブジェクトロック保持の設定
以下の例では、ルールでマニフェストバケット内のオブジェクトの S3 オブジェクトロック保持を設定できるようにします。
s3:PutObjectRetention
アクセス許可を含めるようにロールを更新すると、バケット内のオブジェクトにオブジェクトロック保持を適用できます。
export AWS_PROFILE='
aws-user
' read -d ''retention_permissions
<<EOF { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObjectRetention" ], "Resource": [ "arn:aws:s3:::{{ManifestBucket
}}/*" ] } ] } EOF aws iam put-role-policy --role-namebops-objectlock
--policy-nameretention-permissions
--policy-document "${retention_permissions
}"
public void allowPutObjectRetention() { final String roleName = "
bops-object-lock
"; final String retentionPermissions = "{" + " \"Version\": \"2012-10-17\"," + " \"Statement\": [" + " {" + " \"Effect\": \"Allow\"," + " \"Action\": [" + " \"s3:PutObjectRetention\"" + " ]," + " \"Resource\": [" + " \"arn:aws:s3:::ManifestBucket
*\"" + " ]" + " }" + " ]" + "}"; final AmazonIdentityManagement iam = AmazonIdentityManagementClientBuilder.defaultClient(); final PutRolePolicyRequest putRolePolicyRequest = new PutRolePolicyRequest() .withPolicyDocument(retentionPermissions) .withPolicyName("retention-permissions
") .withRoleName(roleName); final PutRolePolicyResult putRolePolicyResult = iam.putRolePolicy(putRolePolicyRequest); }