Mengontrol izin untuk Operasi Batch S3 menggunakan tanda tugas - Amazon Simple Storage Service

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

Mengontrol izin untuk Operasi Batch S3 menggunakan tanda tugas

Untuk membantu mengelola tugas Operasi Batch S3, Anda dapat menambahkan tanda tugas. Dengan tanda tugas, Anda dapat mengontrol akses atas tugas Operasi Batch dan menerapkan tanda tersebut saat pekerjaan lain dibuat.

Anda dapat menerapkan hingga 50 tanda tugas untuk setiap tugas Operasi Batch. Dengan cara ini, Anda dapat menetapkan kebijakan yang sangat terperinci yang membatasi kumpulan pengguna yang dapat mengedit pekerjaan. Tanda tugas dapat memberikan atau membatasi kemampuan pengguna untuk membatalkan tugas, mengaktifkan tugas dalam status konfirmasi, atau mengubah tingkat prioritas tugas. Selain itu, Anda dapat memberlakukan tanda yang diterapkan ke semua tugas baru, dan menentukan pasangan nilai kunci yang diizinkan untuk tanda tersebut. Anda dapat menerapkan semua ketentuan ini menggunakan bahasa kebijakan IAM yang sama. Untuk informasi selengkapnya, lihat Kunci tindakan, sumber daya, dan kondisi untuk Amazon S3 di Referensi Otorisasi Layanan.

Contoh berikut menunjukkan cara menggunakan tanda tugas Operasi Batch S3 untuk mengizinkan pengguna dalam membuat dan mengedit tugas yang khusus dijalankan di dalam departemen (misalnya, departemen Keuangan atau Kepatuhan). Anda juga dapat menentukan tugas berdasarkan tahap pengembangan yang terkait dengan tugas tersebut, seperti QA atau Produksi.

Dalam contoh ini, Anda menggunakan tag pekerjaan Operasi Batch S3 dalam kebijakan AWS Identity and Access Management (IAM) untuk memberikan izin kepada pengguna untuk membuat dan mengedit hanya pekerjaan yang dijalankan di departemen mereka. Tentukan pekerjaan berdasarkan tahap pengembangan yang terkait dengan pekerjaan tersebut, seperti QA atau Produksi.

Contoh ini menggunakan departemen berikut, yang masing-masing menggunakan Operasi Batch dengan cara berbeda:

  • Keuangan

  • Kepatuhan

  • Kecerdasan Bisnis

  • Teknik

Mengontrol akses dengan menetapkan tanda ke pengguna dan sumber daya

Dalam skenario ini, administrator menggunakan kontrol akses berbasis atribut (ABAC). ABAC adalah strategi otorisasi IAM yang mendefinisikan izin dengan melampirkan tag ke pengguna dan sumber daya. AWS

Pengguna dan tugas diberi salah satu tanda departemen berikut ini:

Kunci : Nilai
  • department : Finance

  • department : Compliance

  • department : BusinessIntelligence

  • department : Engineering

    catatan

    Kunci dan nilai tanda tugas peka huruf besar kecil.

Dengan menggunakan strategi kontrol akses ABAC, Anda mengizinkan pengguna di departemen Keuangan untuk membuat dan mengelola pekerjaan Operasi Batch S3 dalam departemen mereka dengan mengasosiasikan tanda department=Finance dengan pengguna mereka.

Selain itu, Anda dapat melampirkan kebijakan terkelola ke pengguna IAM yang memungkinkan setiap pengguna di perusahaan untuk membuat atau memodifikasi tugas Operasi Batch S3 dalam departemen mereka masing-masing.

Kebijakan dalam contoh ini mencakup tiga pernyataan kebijakan:

  • Pernyataan pertama dalam kebijakan mengizinkan pengguna untuk membuat tugas Operasi Batch asalkan permintaan pembuatan tugas menyertakan tanda tugas yang sesuai dengan departemen masing-masing. Ini ditunjukkan dengan menggunakan sintaks "${aws:PrincipalTag/department}", yang diganti dengan tanda departemen pengguna pada waktu evaluasi kebijakan. Syarat ini terpenuhi ketika nilai yang diberikan untuk tanda departemen dalam permintaan ("aws:RequestTag/department") sesuai dengan departemen pengguna.

  • Pernyataan kedua dalam kebijakan ini memungkinkan pengguna untuk mengubah prioritas tugas atau memperbarui statusnya asalkan tugas yang sedang diperbarui sesuai dengan departemen pengguna.

  • Pernyataan ketiga memungkinkan pengguna untuk memperbarui tanda tugas Operasi Batch setiap saat melalui permintaan PutJobTagging asalkan (1) tanda departemen mereka dipertahankan dan (2) pekerjaan yang diperbarui berada dalam departemen mereka.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:CreateJob", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/department": "${aws:PrincipalTag/department}" } } }, { "Effect": "Allow", "Action": [ "s3:UpdateJobPriority", "s3:UpdateJobStatus" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/department": "${aws:PrincipalTag/department}" } } }, { "Effect": "Allow", "Action": "s3:PutJobTagging", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/department": "${aws:PrincipalTag/department}", "aws:ResourceTag/department": "${aws:PrincipalTag/department}" } } } ] }

Menandai pekerjaan Operasi Batch berdasarkan tahap dan memberlakukan batas prioritas pekerjaan

Semua pekerjaan Operasi Batch S3 memiliki prioritas numerik, yang digunakan Amazon S3 untuk memutuskan urutan pelaksanaan tugas. Untuk contoh ini, Anda membatasi prioritas maksimum yang dapat ditetapkan oleh sebagian besar pengguna ke tugas, dengan rentang prioritas lebih tinggi yang diperuntukkan bagi pengguna dengan hak istimewa dalam jumlah terbatas, sebagai berikut:

  • Kisaran prioritas tahap QA (rendah): 1-100

  • Kisaran prioritas tahap produksi (tinggi): 1-300

Untuk melakukannya, gunakan set tanda baru yang mewakili tahapan tugas:

Kunci : Nilai
  • stage : QA

  • stage : Production

Membuat dan memperbarui pekerjaan prioritas rendah dalam sebuah departemen

Kebijakan ini memperkenalkan dua pembatasan baru pada pembuatan dan pembaruan tugas Operasi Batch S3, selain pembatasan berbasis departemen:

  • Ini memungkinkan pengguna membuat atau memperbarui tugas di departemen mereka dengan ketentuan baru yang memerlukan tugas tersebut untuk menyertakan tanda stage=QA.

  • Ini memungkinkan pengguna membuat atau memperbarui prioritas tugas hingga prioritas maksimum baru sebesar 100.

{         "Version": "2012-10-17",         "Statement": [         {         "Effect": "Allow",         "Action": "s3:CreateJob",         "Resource": "*",         "Condition": {             "StringEquals": {                 "aws:RequestTag/department": "${aws:PrincipalTag/department}",                 "aws:RequestTag/stage": "QA"             },             "NumericLessThanEquals": {                 "s3:RequestJobPriority": 100             }         }     },     {         "Effect": "Allow",         "Action": [             "s3:UpdateJobStatus"         ],         "Resource": "*",         "Condition": {             "StringEquals": {                 "aws:ResourceTag/department": "${aws:PrincipalTag/department}"             }         }     },     {         "Effect": "Allow",         "Action": "s3:UpdateJobPriority",         "Resource": "*",         "Condition": {             "StringEquals": {                 "aws:ResourceTag/department": "${aws:PrincipalTag/department}",                 "aws:ResourceTag/stage": "QA"             },             "NumericLessThanEquals": {                 "s3:RequestJobPriority": 100             }         }     },     {         "Effect": "Allow",         "Action": "s3:PutJobTagging",         "Resource": "*",         "Condition": {             "StringEquals": {                 "aws:RequestTag/department" : "${aws:PrincipalTag/department}",                 "aws:ResourceTag/department": "${aws:PrincipalTag/department}",                 "aws:RequestTag/stage": "QA",                 "aws:ResourceTag/stage": "QA"             }         }     },     {         "Effect": "Allow",         "Action": "s3:GetJobTagging",         "Resource": "*"     }     ] }

Membuat dan memperbarui tugas prioritas tinggi dalam sebuah departemen

Sebagian kecil pengguna mungkin memerlukan kemampuan untuk membuat tugas dengan prioritas tinggi di QA maupun Produksi. Untuk mendukung kebutuhan ini, buat kebijakan terkelola yang diadaptasi dari kebijakan prioritas rendah pada bagian sebelumnya.

Kebijakan ini mengatur hal-hal berikut:

  • Memungkinkan pengguna membuat atau memperbarui tugas di departemen mereka dengan tanda stage=QA atau stage=Production.

  • Memungkinkan pengguna membuat atau memperbarui prioritas tigas hingga maksimum 300.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:CreateJob", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:RequestTag/stage": [ "QA", "Production" ] }, "StringEquals": { "aws:RequestTag/department": "${aws:PrincipalTag/department}" }, "NumericLessThanEquals": { "s3:RequestJobPriority": 300 } } }, { "Effect": "Allow", "Action": [ "s3:UpdateJobStatus" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/department": "${aws:PrincipalTag/department}" } } }, { "Effect": "Allow", "Action": "s3:UpdateJobPriority", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:ResourceTag/stage": [ "QA", "Production" ] }, "StringEquals": { "aws:ResourceTag/department": "${aws:PrincipalTag/department}" }, "NumericLessThanEquals": { "s3:RequestJobPriority": 300 } } }, { "Effect": "Allow", "Action": "s3:PutJobTagging", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/department": "${aws:PrincipalTag/department}", "aws:ResourceTag/department": "${aws:PrincipalTag/department}" }, "ForAnyValue:StringEquals": { "aws:RequestTag/stage": [ "QA", "Production" ], "aws:ResourceTag/stage": [ "QA", "Production" ] } } } ] }