Bagaimana App Runner bekerja dengan IAM - AWS App Runner

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

Bagaimana App Runner bekerja dengan IAM

Sebelum Anda menggunakan IAM untuk mengelola akses AWS App Runner, Anda harus memahami IAM fitur apa yang tersedia untuk digunakan dengan App Runner. Untuk mendapatkan tampilan tingkat tinggi tentang cara kerja App Runner dan AWS layanan lainnyaIAM, lihat AWS Layanan yang Bekerja dengan IAM di IAMPanduan Pengguna.

Untuk topik keamanan App Runner lainnya, lihatKeamanan di App Runner.

Kebijakan berbasis identitas App Runner

Dengan kebijakan IAM berbasis identitas, Anda dapat menentukan tindakan dan sumber daya yang diizinkan atau ditolak serta kondisi di mana tindakan diizinkan atau ditolak. App Runner mendukung tindakan, sumber daya, dan kunci kondisi tertentu. Untuk mempelajari semua elemen yang Anda gunakan dalam JSON kebijakan, lihat Referensi Elemen IAM JSON Kebijakan di Panduan IAM Pengguna.

Tindakan

Administrator dapat menggunakan AWS JSON kebijakan untuk menentukan siapa yang memiliki akses ke apa. Yaitu, principal dapat melakukan tindakan pada suatu sumber daya, dan dalam suatu syarat.

ActionElemen JSON kebijakan menjelaskan tindakan yang dapat Anda gunakan untuk mengizinkan atau menolak akses dalam kebijakan. Tindakan kebijakan biasanya memiliki nama yang sama dengan AWS API operasi terkait. Ada beberapa pengecualian, seperti tindakan khusus izin yang tidak memiliki operasi yang cocok. API Ada juga beberapa operasi yang memerlukan beberapa tindakan dalam suatu kebijakan. Tindakan tambahan ini disebut tindakan dependen.

Menyertakan tindakan dalam kebijakan untuk memberikan izin untuk melakukan operasi terkait.

Tindakan kebijakan di App Runner menggunakan awalan berikut sebelum tindakan:. apprunner: Misalnya, untuk memberikan izin kepada seseorang untuk menjalankan EC2 instans Amazon dengan EC2 RunInstances API operasi Amazon, Anda menyertakan ec2:RunInstances tindakan tersebut dalam kebijakan mereka. Pernyataan kebijakan harus memuat elemen Action atau NotAction. App Runner mendefinisikan serangkaian tindakannya sendiri yang menjelaskan tugas yang dapat Anda lakukan dengan layanan ini.

Untuk menetapkan beberapa tindakan dalam satu pernyataan, pisahkan dengan koma seperti berikut:

"Action": [ "apprunner:CreateService", "apprunner:CreateConnection" ]

Anda dapat menentukan beberapa tindakan menggunakan wildcard (*). Sebagai contoh, untuk menentukan semua tindakan yang dimulai dengan kata Describe, sertakan tindakan berikut:

"Action": "apprunner:Describe*"

Untuk melihat daftar tindakan Pelari Aplikasi, lihat Tindakan yang ditentukan oleh AWS App Runner dalam Referensi Otorisasi Layanan.

Sumber daya

Administrator dapat menggunakan AWS JSON kebijakan untuk menentukan siapa yang memiliki akses ke apa. Yaitu, principal dapat melakukan tindakan pada suatu sumber daya, dan dalam suatu syarat.

Elemen Resource JSON kebijakan menentukan objek atau objek yang tindakan tersebut berlaku. Pernyataan harus menyertakan elemen Resource atau NotResource. Sebagai praktik terbaik, tentukan sumber daya menggunakan Amazon Resource Name (ARN). Anda dapat melakukan ini untuk tindakan yang mendukung jenis sumber daya tertentu, yang dikenal sebagai izin tingkat sumber daya.

Untuk tindakan yang tidak mendukung izin di tingkat sumber daya, misalnya operasi pencantuman, gunakan wildcard (*) untuk menunjukkan bahwa pernyataan tersebut berlaku untuk semua sumber daya.

"Resource": "*"

Sumber daya App Runner memiliki ARN struktur berikut:

arn:aws:apprunner:region:account-id:resource-type/resource-name[/resource-id]

Untuk informasi selengkapnya tentang formatARNs, lihat Amazon Resource Names (ARNs) dan Ruang Nama AWS Layanan di. Referensi Umum AWS

Misalnya, untuk menentukan my-service layanan dalam pernyataan Anda, gunakan yang berikut iniARN:

"Resource": "arn:aws:apprunner:us-east-1:123456789012:service/my-service"

Untuk menentukan semua layanan milik akun tertentu, gunakan wildcard (*):

"Resource": "arn:aws:apprunner:us-east-1:123456789012:service/*"

Beberapa tindakan App Runner, seperti untuk membuat sumber daya, tidak dapat dilakukan pada sumber daya tertentu. Dalam kasus tersebut, Anda harus menggunakan wildcard (*).

"Resource": "*"

Untuk melihat daftar jenis sumber daya App Runner dan jenisnyaARNs, lihat Sumber daya yang ditentukan oleh AWS App Runner dalam Referensi Otorisasi Layanan. Untuk mempelajari tindakan mana yang dapat Anda tentukan ARN dari setiap sumber daya, lihat Tindakan yang ditentukan oleh AWS App Runner.

Kunci syarat

Administrator dapat menggunakan AWS JSON kebijakan untuk menentukan siapa yang memiliki akses ke apa. Yaitu, di mana utama dapat melakukan tindakan pada sumber daya, dan dalam kondisi apa.

Elemen Condition (atau blok Condition) akan memungkinkan Anda menentukan kondisi yang menjadi dasar suatu pernyataan berlaku. Elemen Condition bersifat opsional. Anda dapat membuat ekspresi bersyarat yang menggunakan operator kondisi, misalnya sama dengan atau kurang dari, untuk mencocokkan kondisi dalam kebijakan dengan nilai-nilai yang diminta.

Jika Anda menentukan beberapa elemen Condition dalam sebuah pernyataan, atau beberapa kunci dalam elemen Condition tunggal, maka AWS akan mengevaluasinya menggunakan operasi AND logis. Jika Anda menentukan beberapa nilai untuk satu kunci kondisi, AWS mengevaluasi kondisi menggunakan OR operasi logis. Semua kondisi harus dipenuhi sebelum izin pernyataan diberikan.

Anda juga dapat menggunakan variabel placeholder saat menentukan kondisi. Misalnya, Anda dapat memberikan izin IAM pengguna untuk mengakses sumber daya hanya jika ditandai dengan nama IAM pengguna mereka. Untuk informasi selengkapnya, lihat elemen IAM kebijakan: variabel dan tag di Panduan IAM Pengguna.

AWS mendukung kunci kondisi global dan kunci kondisi khusus layanan. Untuk melihat semua kunci kondisi AWS global, lihat kunci konteks kondisi AWS global di Panduan IAM Pengguna.

App Runner mendukung penggunaan beberapa kunci kondisi global. Untuk melihat semua kunci kondisi AWS global, lihat Kunci Konteks Kondisi AWS Global di Panduan IAM Pengguna.

App Runner mendefinisikan satu set kunci kondisi khusus layanan. Selain itu, App Runner mendukung kontrol akses berbasis tag, yang diimplementasikan menggunakan tombol kondisi. Untuk detailnya, lihat Otorisasi berdasarkan tag App Runner.

Untuk melihat daftar kunci kondisi App Runner, lihat Kunci kondisi untuk AWS App Runner Referensi Otorisasi Layanan. Untuk mempelajari tindakan dan sumber daya yang dapat Anda gunakan kunci kondisi, lihat Tindakan yang ditentukan oleh AWS App Runner.

Contoh

Untuk melihat contoh kebijakan berbasis identitas App Runner, lihat. Contoh kebijakan berbasis identitas App Runner

Kebijakan berbasis sumber daya App Runner

App Runner tidak mendukung kebijakan berbasis sumber daya.

Otorisasi berdasarkan tag App Runner

Anda dapat melampirkan tag ke resource App Runner atau meneruskan tag dalam permintaan ke App Runner. Untuk mengendalikan akses berdasarkan tag, berikan informasi tentang tag di elemen kondisi dari kebijakan menggunakan kunci kondisi apprunner:ResourceTag/key-name, aws:RequestTag/key-name, atau aws:TagKeys. Untuk informasi selengkapnya tentang menandai resource App Runner, lihat. Mengonfigurasi layanan App Runner

Untuk melihat contoh kebijakan berbasis identitas untuk membatasi akses ke sumber daya berdasarkan tag pada sumber daya tersebut, lihat Mengontrol akses ke layanan App Runner berdasarkan tag.

Izin pengguna App Runner

Untuk menggunakan App Runner, IAM pengguna memerlukan izin untuk tindakan App Runner. Cara umum untuk memberikan izin kepada pengguna adalah dengan melampirkan kebijakan ke IAM pengguna atau grup. Untuk informasi selengkapnya tentang mengelola izin pengguna, lihat Mengubah izin untuk IAM pengguna di Panduan IAM Pengguna.

App Runner menyediakan dua kebijakan terkelola yang dapat Anda lampirkan ke pengguna.

  • AWSAppRunnerReadOnlyAccess— Memberikan izin untuk membuat daftar dan melihat detail tentang sumber daya Pelari Aplikasi.

  • AWSAppRunnerFullAccess— Memberikan izin untuk semua tindakan App Runner.

Untuk kontrol izin pengguna yang lebih terperinci, Anda dapat membuat kebijakan khusus dan melampirkannya ke pengguna Anda. Untuk detailnya, lihat Membuat IAM kebijakan di Panduan IAM Pengguna.

Untuk contoh kebijakan pengguna, lihatKebijakan pengguna.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "apprunner:List*", "apprunner:Describe*" ], "Resource": "*" } ] }
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": [ "arn:aws:iam::*:role/aws-service-role/apprunner.amazonaws.com/AWSServiceRoleForAppRunner", "arn:aws:iam::*:role/aws-service-role/networking.apprunner.amazonaws.com/AWSServiceRoleForAppRunnerNetworking" ], "Condition": { "StringLike": { "iam:AWSServiceName": [ "apprunner.amazonaws.com", "networking.apprunner.amazonaws.com" ] } } }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringLike": { "iam:PassedToService": "apprunner.amazonaws.com" } } }, { "Sid": "AppRunnerAdminAccess", "Effect": "Allow", "Action": "apprunner:*", "Resource": "*" } ] }

Peran Pelari IAM Aplikasi

IAMPeran adalah entitas di dalam Anda Akun AWS yang memiliki izin khusus.

Peran terkait layanan

Peran terkait AWS layanan memungkinkan layanan mengakses sumber daya di layanan lain untuk menyelesaikan tindakan atas nama Anda. Peran terkait layanan muncul di IAM akun Anda dan dimiliki oleh layanan. IAMAdministrator dapat melihat tetapi tidak mengedit izin untuk peran terkait layanan.

App Runner mendukung peran terkait layanan. Untuk informasi tentang membuat atau mengelola peran terkait layanan App Runner, lihat. Menggunakan peran terkait layanan untuk App Runner

Peran layanan

Fitur ini memungkinkan layanan untuk menerima peran layanan atas nama Anda. Peran ini mengizinkan layanan untuk mengakses sumber daya di layanan lain untuk menyelesaikan tindakan atas nama Anda. Peran layanan muncul di IAM akun Anda dan dimiliki oleh akun. Ini berarti bahwa IAM pengguna dapat mengubah izin untuk peran ini. Namun, melakukan hal itu dapat merusak fungsionalitas layanan.

App Runner mendukung beberapa peran layanan.

Peran akses

Peran akses adalah peran yang digunakan App Runner untuk mengakses gambar di Amazon Elastic Container Registry ECR (Amazon) di akun Anda. Diperlukan untuk mengakses gambar di AmazonECR, dan tidak diperlukan dengan Amazon ECR Public. Sebelum membuat layanan berdasarkan gambar di AmazonECR, gunakan IAM untuk membuat peran layanan dan gunakan kebijakan AWSAppRunnerServicePolicyForECRAccess terkelola di dalamnya. Anda kemudian dapat meneruskan peran ini ke App Runner saat memanggil AuthenticationConfigurationanggota SourceConfigurationparameter, atau saat Anda menggunakan konsol App Runner untuk membuat layanan. CreateServiceAPI

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecr:GetDownloadUrlForLayer", "ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:DescribeImages", "ecr:GetAuthorizationToken" ], "Resource": "*" } ] }
catatan

Jika Anda membuat kebijakan kustom sendiri untuk peran akses Anda, pastikan "Resource": "*" untuk menentukan ecr:GetAuthorizationToken tindakan tersebut. Token dapat digunakan untuk mengakses ECR registri Amazon apa pun yang dapat Anda akses.

Saat membuat peran akses, pastikan untuk menambahkan kebijakan kepercayaan yang menyatakan prinsip layanan App Runner build.apprunner.amazonaws.com sebagai entitas tepercaya.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "build.apprunner.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Jika Anda menggunakan konsol App Runner untuk membuat layanan, konsol dapat secara otomatis membuat peran akses untuk Anda dan memilihnya untuk layanan baru. Konsol juga mencantumkan peran lain di akun Anda, dan Anda dapat memilih peran yang berbeda jika Anda mau.

Peran contoh

Peran instans adalah peran opsional yang digunakan App Runner untuk memberikan izin ke tindakan AWS layanan yang diperlukan instance komputasi layanan Anda. Anda perlu memberikan peran instance ke App Runner jika kode aplikasi Anda memanggil AWS actions (APIs). Sematkan izin yang diperlukan dalam peran instans Anda atau buat kebijakan kustom Anda sendiri dan gunakan dalam peran instance. Kami tidak memiliki cara untuk mengantisipasi panggilan mana yang digunakan kode Anda. Oleh karena itu, kami tidak menyediakan kebijakan terkelola untuk tujuan ini.

Sebelum membuat layanan App Runner, gunakan IAM untuk membuat peran layanan dengan kebijakan kustom atau tertanam yang diperlukan. Anda kemudian dapat meneruskan peran ini ke App Runner sebagai peran instance saat memanggil InstanceRoleArn anggota InstanceConfigurationparameter, atau saat Anda menggunakan konsol App Runner untuk membuat layanan. CreateServiceAPI

Saat membuat peran instance, pastikan untuk menambahkan kebijakan kepercayaan yang menyatakan prinsip layanan App Runner tasks.apprunner.amazonaws.com sebagai entitas tepercaya.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "tasks.apprunner.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Jika Anda menggunakan konsol App Runner untuk membuat layanan, konsol akan mencantumkan peran di akun Anda, dan Anda dapat memilih peran yang Anda buat untuk tujuan ini.

Untuk informasi tentang membuat layanan, lihatMembuat layanan App Runner.