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, lihat Retensi Kunci Objek S3 dan Pegangan hukum S3 Object Lock.

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 user input placeholders dengan informasi Anda sendiri.

  1. 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-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. Membaca bucket S3 tempat file CSV manifes dan objeknya 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 peran IAM dengan izin Operasi Batch S3, dan memperbarui izin peran untuk membuat pekerjaan yang mengaktifkan Kunci Objek dengan menggunakan. AWS SDK untuk 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. Membuat peran IAM dan menetapkan izin Operasi Batch S3 yang akan 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. Membaca bucket S3 tempat file CSV manifes dan objeknya 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); }