Mengaktifkan Kunci Objek S3 menggunakan Operasi Batch S3 - Amazon Simple Storage Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengaktifkan Kunci Objek S3 menggunakan Operasi Batch S3

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 Kunci Objek. 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 placeholder masukan pengguna dengan informasi Anda sendiri.

  1. Buat IAM peran dan tetapkan izin Operasi Batch S3 untuk 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-name batch_operations-objectlock \ --assume-role-policy-document "${batch_operations_trust_policy}"
  2. Menetapkan Operasi Batch S3 dengan Kunci Objek S3 yang akan dijalankan.

    Pada langkah ini, izinkan peran untuk melakukan hal-hal berikut ini:

    1. Menjalankan Kunci Objek pada bucket S3 yang berisi objek target yang akan dijalankan oleh Operasi Batch.

    2. Baca bucket S3 tempat CSV file manifes dan objek berada.

    3. 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-name batch_operations-objectlock \ --policy-name object-lock-permissions \ --policy-document "${batch_operations_permissions}"

Contoh berikut menunjukkan cara membuat IAM peran 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:

  1. Buat IAM peran dan tetapkan izin Operasi Batch S3 untuk dijalankan. Langkah ini diperlukan untuk semua pekerjaan Operasi Batch S3.

  2. Menetapkan Operasi Batch S3 dengan Kunci Objek S3 yang akan dijalankan.

    Izinkan peran tersebut untuk melakukan hal-hal berikut ini:

    1. Menjalankan Kunci Objek pada bucket S3 yang berisi objek target yang akan dijalankan oleh Operasi Batch.

    2. Baca bucket S3 tempat CSV file manifes dan objek berada.

    3. 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); }