Contoh kebijakan - AWS Batch

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

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 batch:Image (ID gambar kontainer) adalah "string1" dan kunci kondisi batch:LogDriver (driver log kontainer) adalah "string2.” 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 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 batch:Image (ID gambar kontainer) adalah "string1" atau kunci kondisi batch:LogDriver (driver log kontainer) adalah "string2.” 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 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" ] } } } ] }