Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Contoh kebijakan
Contoh berikut menunjukkan pernyataan kebijakan yang dapat Anda gunakan untuk mengontrol izin yang dimiliki pengguna. AWS Batch
Contoh-contoh
Akses hanya-baca
Kebijakan berikut memberikan izin kepada pengguna untuk menggunakan semua tindakan AWS Batch API dengan nama yang dimulai dengan Describe
dan. List
Kecuali pernyataan lain memberi mereka izin untuk melakukannya, pengguna tidak memiliki izin untuk melakukan tindakan apa pun pada sumber daya. Secara default, mereka ditolak izin untuk menggunakan tindakan API.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "batch:Describe*", "batch:List*" ], "Resource": "*" } ] }
Membatasi ke pengguna POSIX, gambar Docker, tingkat hak istimewa, dan peran pada pengiriman pekerjaan
Kebijakan berikut memungkinkan pengguna POSIX untuk mengelola kumpulan definisi pekerjaan terbatas mereka sendiri.
Gunakan pernyataan pertama dan kedua untuk mendaftar dan membatalkan pendaftaran nama definisi pekerjaan apa pun yang namanya diawali dengan A_. JobDef
Pernyataan pertama juga menggunakan kunci konteks bersyarat untuk membatasi pengguna POSIX, status istimewa, dan nilai-nilai citra kontainer dalam ketentuan tugas containerProperties
. Untuk informasi selengkapnya, lihat RegisterJobDefinition di dalam Referensi API AWS Batch. Dalam contoh ini, definisi pekerjaan hanya dapat didaftarkan ketika pengguna POSIX disetel kenobody
. Bendera istimewa diatur kefalse
. Terakhir, gambar diatur ke myImage
dalam repositori Amazon ECR.
penting
Docker menyelesaikan user
parameter ke pengguna itu uid
dari dalam gambar kontainer. Dalam kebanyakan kasus, ini ditemukan di file /etc/passwd
dalam citra kontainer. Resolusi nama ini dapat dihindari dengan menggunakan nilai uid
langsung dalam ketentuan tugas dan kebijakan IAM apa pun yang terkait. Baik operasi API AWS Batch maupun kunci bersyarat IAM batch:User
mendukung nilai numerik.
Gunakan pernyataan ketiga untuk membatasi hanya peran tertentu pada definisi pekerjaan.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "batch:RegisterJobDefinition" ], "Resource": [ "arn:aws:batch:
<aws_region>
:<aws_account_id>
:job-definition/JobDefA_*" ], "Condition": { "StringEquals": { "batch:User": [ "nobody" ], "batch:Image": [ "<aws_account_id>
.dkr.ecr.<aws_region>
.amazonaws.com/myImage" ] }, "Bool": { "batch:Privileged": "false" } } }, { "Effect": "Allow", "Action": [ "batch:DeregisterJobDefinition" ], "Resource": [ "arn:aws:batch:<aws_region>
:<aws_account_id>
:job-definition/JobDefA_*" ] }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::<aws_account_id>
:role/MyBatchJobRole" ] } ] }
Batasi awalan definisi pekerjaan pada pengajuan pekerjaan
Gunakan kebijakan berikut untuk mengirimkan pekerjaan ke antrian pekerjaan apa pun dengan nama definisi pekerjaan apa pun yang dimulai dengan JobDefA
.
penting
Ketika membuat cakupan akses tingkat sumber daya untuk pengiriman tugas, Anda harus menyediakan antrean tugas dan tipe sumber daya ketentuan tugas.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "batch:SubmitJob" ], "Resource": [ "arn:aws:batch:
<aws_region>
:<aws_account_id>
:job-definition/JobDefA_*", "arn:aws:batch:<aws_region>
:<aws_account_id>
:job-queue/*" ] } ] }
Batasi antrian pekerjaan
Gunakan kebijakan berikut untuk mengirimkan pekerjaan ke antrian pekerjaan tertentu yang diberi nama queue1 dengan nama definisi pekerjaan apa pun.
penting
Ketika membuat cakupan akses tingkat sumber daya untuk pengiriman tugas, Anda harus menyediakan antrean tugas dan tipe sumber daya ketentuan tugas.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "batch:SubmitJob" ], "Resource": [ "arn:aws:batch:
<aws_region>
:<aws_account_id>
:job-definition/*", "arn:aws:batch:<aws_region>
:<aws_account_id>
:job-queue/queue1" ] } ] }
Tolak tindakan saat mengkondisikan semua tombol cocok dengan string
Kebijakan berikut menolak akses ke operasi RegisterJobDefinitionAPI ketika kunci kondisi
AWS Batch mengevaluasi kunci kondisi pada setiap kontainer. Ketika sebuah pekerjaan mencakup beberapa kontainer seperti pekerjaan paralel multi-node, kontainer mungkin memiliki konfigurasi yang berbeda. Jika beberapa kunci kondisi dievaluasi dalam satu pernyataan, mereka digabungkan menggunakan batch:Image
(ID gambar kontainer) adalah "string1
" dan kunci kondisi batch:LogDriver
(driver log kontainer) adalah "string2.”AND
logika. Jadi, jika salah satu dari beberapa kunci kondisi tidak cocok untuk wadah, Deny
efeknya tidak diterapkan untuk wadah itu. Sebaliknya, wadah yang berbeda dalam pekerjaan yang sama mungkin ditolak.
Untuk daftar kunci kondisiAWS Batch, lihat Kunci kondisi untuk AWS Batch dalam Referensi Otorisasi Layanan. Kecualibatch:ShareIdentifier
, semua tombol batch
kondisi dapat digunakan dengan cara ini. Kunci batch:ShareIdentifier
kondisi didefinisikan untuk pekerjaan, bukan definisi pekerjaan.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "batch:RegisterJobDefinition" ], "Resource": [ "*" ] }, { "Effect": "Deny", "Action": "batch:RegisterJobDefinition", "Resource": "*", "Condition": { "StringEquals": { "batch:Image": "
string1
", "batch:LogDriver": "string2
" } } } ] }
Tolak tindakan ketika tombol kondisi apa pun cocok dengan string
Kebijakan berikut menolak akses ke operasi RegisterJobDefinitionAPI ketika kunci kondisi
Ketika sebuah pekerjaan mencakup beberapa kontainer seperti pekerjaan paralel multi-node, kontainer mungkin memiliki konfigurasi yang berbeda. Jika beberapa kunci kondisi dievaluasi dalam satu pernyataan, mereka digabungkan menggunakan batch:Image
(ID gambar kontainer) adalah "string1
" atau kunci kondisi batch:LogDriver
(driver log kontainer) adalah "string2.”AND
logika. Jadi, jika salah satu dari beberapa kunci kondisi tidak cocok untuk wadah, Deny
efeknya tidak diterapkan untuk wadah itu. Sebaliknya, wadah yang berbeda dalam pekerjaan yang sama mungkin ditolak.
Untuk daftar kunci kondisiAWS Batch, lihat Kunci kondisi untuk AWS Batch dalam Referensi Otorisasi Layanan. Kecualibatch:ShareIdentifier
, semua tombol batch
kondisi dapat digunakan dengan cara ini. (Kunci batch:ShareIdentifier
kondisi didefinisikan untuk pekerjaan, bukan definisi pekerjaan.)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "batch:RegisterJobDefinition" ], "Resource": [ "*" ] }, { "Effect": "Deny", "Action": [ "batch:RegisterJobDefinition" ], "Resource": [ "*" ], "Condition": { "StringEquals": { "batch:Image": [ "
string1
" ] } } }, { "Effect": "Deny", "Action": [ "batch:RegisterJobDefinition" ], "Resource": [ "*" ], "Condition": { "StringEquals": { "batch:LogDriver": [ "string2
" ] } } } ] }
Gunakan tombol batch:ShareIdentifier
kondisi
Gunakan kebijakan berikut untuk mengirimkan lowongan yang menggunakan definisi jobDefA
pekerjaan ke antrian jobqueue1
pekerjaan dengan pengenal lowCpu
berbagi.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "batch:SubmitJob" ], "Resource": [ "arn:aws::batch:
<aws_region>
:<aws_account_id>
:job-definition/JobDefA", "arn:aws::batch:<aws_region>
:<aws_account_id>
:job-queue/jobqueue1" ], "Condition": { "StringEquals": { "batch:ShareIdentifier": [ "lowCpu" ] } } } ] }