Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Akses sumber daya AWS menggunakan Peran Eksekusi IAM
Device Farm mendukung penetapan peran IAM yang akan diasumsikan oleh lingkungan runtime pengujian kustom selama eksekusi pengujian. Fitur ini memungkinkan pengujian Anda mengakses sumber daya AWS dengan aman di akun Anda, seperti bucket Amazon S3, tabel DynamoDB, atau layanan AWS lainnya yang menjadi sandaran aplikasi Anda.
Topik
Gambaran umum
Saat Anda menentukan peran eksekusi IAM, Device Farm akan mengasumsikan peran ini selama eksekusi pengujian, memungkinkan pengujian Anda berinteraksi dengan layanan AWS menggunakan izin yang ditentukan dalam peran tersebut.
Kasus penggunaan umum untuk peran eksekusi IAM meliputi:
-
Mengakses data uji yang disimpan di bucket Amazon S3
-
Mendorong artefak uji ke ember Amazon S3
-
Mengambil konfigurasi aplikasi dari AWS AppConfig
-
Menulis log pengujian dan metrik ke Amazon CloudWatch
-
Mengirim hasil pengujian atau pesan status ke antrian Amazon SQS
-
Memanggil fungsi AWS Lambda sebagai bagian dari alur kerja pengujian
Persyaratan peran IAM
Untuk menggunakan peran eksekusi IAM dengan Device Farm, peran Anda harus memenuhi persyaratan berikut:
-
Hubungan kepercayaan: Prinsipal layanan Device Farm harus dipercaya untuk mengambil peran tersebut. Kebijakan kepercayaan harus dimasukkan
devicefarm.amazonaws.com.rproxy.govskope.casebagai entitas tepercaya. -
Izin: Peran harus memiliki izin yang diperlukan untuk mengakses sumber daya AWS yang diperlukan pengujian Anda.
-
Durasi sesi: Durasi sesi maksimum peran harus setidaknya selama pengaturan batas waktu kerja proyek Device Farm Anda. Secara default, proyek Device Farm memiliki batas waktu kerja 150 menit, sehingga peran Anda harus mendukung durasi sesi minimal 150 menit.
-
Persyaratan akun yang sama: Peran IAM harus berada di akun AWS yang sama dengan yang digunakan untuk memanggil Device Farm. Asumsi peran lintas akun tidak didukung.
-
PassRole izin: Penelepon harus diberi wewenang untuk meneruskan peran IAM dengan kebijakan yang mengizinkan
iam:PassRoletindakan pada peran eksekusi yang ditentukan.
Contoh kebijakan kepercayaan
Contoh berikut menunjukkan kebijakan kepercayaan yang memungkinkan Device Farm mengambil peran eksekusi Anda. Kebijakan kepercayaan ini hanya boleh dilampirkan pada peran IAM tertentu yang ingin Anda gunakan dengan Device Farm, bukan peran lain di akun Anda:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "devicefarm.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Contoh kebijakan izin
Contoh berikut menunjukkan kebijakan izin yang memberikan akses ke layanan AWS umum yang digunakan dalam pengujian:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::my-test-bucket", "arn:aws:s3:::my-test-bucket/*" ] }, { "Effect": "Allow", "Action": [ "appconfig:GetConfiguration", "appconfig:StartConfigurationSession" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:log-group:/devicefarm/test-*" }, { "Effect": "Allow", "Action": [ "sqs:SendMessage", "sqs:GetQueueUrl" ], "Resource": "arn:aws:sqs:*:*:test-results-*" } ] }
Mengkonfigurasi peran eksekusi IAM
Anda dapat menentukan peran eksekusi IAM di tingkat proyek atau untuk pengujian individual. Ketika dikonfigurasi pada tingkat proyek, semua berjalan dalam proyek itu akan mewarisi peran eksekusi. Peran eksekusi yang dikonfigurasi saat menjalankan akan menggantikan apa pun yang dikonfigurasi pada proyek induknya.
Untuk petunjuk terperinci tentang mengonfigurasi peran eksekusi, lihat:
-
Membuat proyek di AWS Device Farm- untuk mengkonfigurasi peran eksekusi di tingkat proyek
-
Membuat uji coba di Device Farm- untuk mengonfigurasi peran eksekusi untuk proses individu
Anda juga dapat mengonfigurasi peran eksekusi menggunakan Device Farm API. Untuk informasi selengkapnya, lihat Referensi API Device Farm.
Praktik terbaik
Ikuti praktik terbaik ini saat mengonfigurasi peran eksekusi IAM untuk pengujian Device Farm Anda:
-
Prinsip hak istimewa terkecil: Berikan hanya izin minimum yang diperlukan agar pengujian Anda berfungsi. Hindari menggunakan izin yang terlalu luas seperti
*tindakan atau sumber daya. -
Gunakan izin khusus sumber daya: Jika memungkinkan, batasi izin untuk sumber daya tertentu (misalnya, bucket S3 tertentu atau tabel DynamoDB) daripada semua sumber daya dari suatu jenis.
-
Sumber daya pengujian dan produksi terpisah: Gunakan sumber daya dan peran pengujian khusus untuk menghindari pengaruh sistem produksi secara tidak sengaja selama pengujian.
-
Tinjauan peran reguler: Tinjau dan perbarui peran eksekusi Anda secara berkala untuk memastikan peran tersebut tetap memenuhi kebutuhan pengujian Anda dan mengikuti praktik terbaik keamanan.
-
Gunakan tombol kondisi: Pertimbangkan untuk menggunakan kunci kondisi IAM untuk lebih membatasi kapan dan bagaimana peran dapat digunakan.
Pemecahan masalah
Jika Anda mengalami masalah dengan peran eksekusi IAM, periksa hal berikut:
-
Hubungan kepercayaan: Verifikasi bahwa kebijakan kepercayaan peran termasuk
devicefarm.amazonaws.com.rproxy.govskope.casebagai layanan tepercaya. -
Izin: Periksa apakah peran tersebut memiliki izin yang diperlukan untuk layanan AWS yang coba diakses pengujian Anda.
-
Log pengujian: Tinjau log eksekusi pengujian untuk pesan kesalahan tertentu yang terkait dengan panggilan AWS API atau penolakan izin.