Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Anda dapat menggunakan Operasi Batch Amazon S3 dengan Kunci Objek S3 untuk mengelola retensi atau mengaktifkan penahanan hukum untuk banyak objek Amazon S3 sekaligus. Anda menetapkan daftar objek target dalam manifest Anda dan mengirimkannya ke Batch Operations untuk diselesaikan. Untuk informasi selengkapnya, silakan lihat Retensi Kunci Objek S3 dan Penahanan Legal Kunci Objek S3.
Contoh berikut menunjukkan cara membuat peran AWS Identity and Access Management (IAM) dengan izin Operasi Batch S3 dan memperbarui izin peran untuk membuat pekerjaan yang mengaktifkan Object Lock. Anda juga harus memiliki CSV
manifes yang mengidentifikasi objek untuk pekerjaan Operasi Batch S3 Anda. Untuk informasi selengkapnya, lihat Menentukan manifes.
Untuk menggunakan contoh berikut, ganti
dengan informasi Anda sendiri. user input
placeholders
-
Membuat peran IAM dan menetapkan izin Operasi Batch S3 yang akan dijalankan.
Langkah ini diperlukan untuk semua pekerjaan Operasi Batch 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
}" -
Menetapkan Operasi Batch S3 dengan Kunci Objek S3 yang akan dijalankan.
Pada langkah ini, izinkan peran untuk melakukan hal-hal berikut ini:
-
Menjalankan Kunci Objek pada bucket S3 yang berisi objek target yang akan dijalankan oleh Operasi Batch.
-
Membaca bucket S3 tempat file CSV manifes dan objeknya berada.
-
Menulis hasil pekerjaan Operasi Batch S3 ke bucket pelaporan.
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
}" -
Contoh berikut menunjukkan cara membuat peran IAM dengan izin Operasi Batch S3, dan memperbarui izin peran untuk membuat pekerjaan yang mengaktifkan Kunci Objek dengan menggunakan. AWS SDK for Java Anda juga harus memiliki manifes CSV
yang mengidentifikasi objek untuk pekerjaan Operasi Batch S3 Anda. Untuk informasi selengkapnya, lihat Menentukan manifes.
Lakukan langkah-langkah berikut ini:
-
Membuat peran IAM dan menetapkan izin Operasi Batch S3 yang akan dijalankan. Langkah ini diperlukan untuk semua pekerjaan Operasi Batch S3.
-
Menetapkan Operasi Batch S3 dengan Kunci Objek S3 yang akan dijalankan.
Izinkan peran tersebut untuk melakukan hal-hal berikut ini:
-
Menjalankan Kunci Objek pada bucket S3 yang berisi objek target yang akan dijalankan oleh Operasi Batch.
-
Membaca bucket S3 tempat file CSV manifes dan objeknya berada.
-
Menulis hasil pekerjaan Operasi Batch S3 ke bucket pelaporan.
-
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);
}