Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Kontrol akses ke a REST API dengan IAM izin
Anda mengontrol akses ke Amazon API Gateway API dengan IAMizin dengan mengontrol akses ke dua proses komponen API Gateway berikut:
-
Untuk membuat, menerapkan, dan mengelola API di API Gateway, Anda harus memberikan izin API pengembang untuk melakukan tindakan yang diperlukan yang didukung oleh komponen API manajemen Gateway. API
-
Untuk memanggil deployed API atau untuk me-refresh API caching, Anda harus memberikan izin API pemanggil untuk melakukan IAM tindakan yang diperlukan didukung oleh komponen API eksekusi Gateway. API
Kontrol akses untuk dua proses melibatkan model izin yang berbeda, dijelaskan selanjutnya.
APIModel izin gerbang untuk membuat dan mengelola API
Untuk mengizinkan API pengembang membuat dan mengelola API di API Gateway, Anda harus membuat kebijakan IAM izin yang memungkinkan API pengembang tertentu untuk membuat, memperbarui, menyebarkan, melihat, atau menghapus entitas yang diperlukanAPI. Anda melampirkan kebijakan izin ke pengguna, peran, atau grup.
Untuk memberikan akses, menambahkan izin ke pengguna, grup, atau peran Anda:
-
Pengguna dan grup di AWS IAM Identity Center:
Buat rangkaian izin. Ikuti instruksi di Buat rangkaian izin di Panduan Pengguna AWS IAM Identity Center .
-
Pengguna yang dikelola IAM melalui penyedia identitas:
Buat peran untuk federasi identitas. Ikuti petunjuk dalam Membuat peran untuk penyedia identitas pihak ketiga (federasi) di Panduan IAM Pengguna.
-
IAMpengguna:
-
Buat peran yang dapat diambil pengguna Anda. Ikuti petunjuk dalam Membuat peran bagi IAM pengguna di Panduan IAM Pengguna.
-
(Tidak disarankan) Pasang kebijakan langsung ke pengguna atau tambahkan pengguna ke grup pengguna. Ikuti petunjuk di Menambahkan izin ke pengguna (konsol) di Panduan IAM Pengguna.
-
Untuk informasi selengkapnya tentang cara menggunakan model izin ini, lihatAPIKebijakan berbasis identitas gateway.
APIModel izin gateway untuk memanggil API
Untuk mengizinkan API pemanggil memanggil API atau menyegarkan caching, Anda harus membuat IAM kebijakan yang mengizinkan API pemanggil tertentu untuk memanggil API metode yang otentikasi pengguna diaktifkan. APIPengembang menetapkan authorizationType
properti metode AWS_IAM
untuk mengharuskan pemanggil mengirimkan kredensyal pengguna untuk diautentikasi. Kemudian, Anda melampirkan kebijakan ke pengguna, peran, atau grup.
Dalam pernyataan kebijakan IAM izin ini, IAM Resource
elemen berisi daftar API metode yang digunakan yang diidentifikasi oleh HTTP kata kerja dan jalur sumber daya API Gateway yang diberikan. IAMAction
Elemen berisi tindakan API eksekusi API Gateway yang diperlukan. Tindakan ini mencakup execute-api:Invoke
atauexecute-api:InvalidateCache
, di mana execute-api
menunjuk komponen API eksekusi yang mendasari API Gateway.
Untuk informasi selengkapnya tentang cara menggunakan model izin ini, lihatKontrol akses untuk memanggil API.
Ketika terintegrasi API dengan AWS layanan (misalnya, AWS Lambda) di bagian belakang, API Gateway juga harus memiliki izin untuk mengakses AWS sumber daya terintegrasi (misalnya, menjalankan fungsi Lambda) atas nama pemanggil. API Untuk memberikan izin ini, buat IAM peran AWS layanan untuk jenis API Gateway. Saat Anda membuat peran ini di konsol IAM Manajemen, peran yang dihasilkan ini berisi kebijakan IAM kepercayaan berikut yang mendeklarasikan API Gateway sebagai entitas tepercaya yang diizinkan untuk mengambil peran:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "apigateway.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Jika Anda membuat IAM peran dengan memanggil perintah create-role CLI atau SDK metode yang sesuai, Anda harus memberikan kebijakan kepercayaan di atas sebagai parameter masukan. assume-role-policy-document
Jangan mencoba membuat kebijakan semacam itu secara langsung di konsol IAM Manajemen atau memanggil perintah AWS CLI create-policy atau metode yang sesuai. SDK
Agar API Gateway memanggil AWS layanan terintegrasi, Anda juga harus melampirkan kebijakan IAM izin yang sesuai peran ini untuk memanggil AWS layanan terintegrasi. Misalnya, untuk memanggil fungsi Lambda, Anda harus menyertakan kebijakan IAM izin berikut dalam peran: IAM
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "lambda:InvokeFunction", "Resource": "*" } ] }
Perhatikan bahwa Lambda mendukung kebijakan akses berbasis sumber daya, yang menggabungkan kebijakan kepercayaan dan izin. Saat mengintegrasikan fungsi API dengan Lambda menggunakan API konsol Gateway, Anda tidak diminta untuk menyetel peran IAM ini secara eksplisit, karena konsol menetapkan izin berbasis sumber daya pada fungsi Lambda untuk Anda, dengan persetujuan Anda.
catatan
Untuk memberlakukan kontrol akses ke AWS layanan, Anda dapat menggunakan model izin berbasis pemanggil, di mana kebijakan izin langsung dilampirkan ke pengguna atau grup pemanggil, atau model izin berbasis peran, di mana kebijakan izin dilampirkan ke peran yang dapat diasumsikan oleh Gateway. IAM API Kebijakan izin mungkin berbeda dalam kedua model. Misalnya, kebijakan berbasis pemanggil memblokir akses sementara kebijakan berbasis peran mengizinkannya. Anda dapat memanfaatkan ini untuk meminta pengguna mengakses AWS layanan melalui API Gateway API saja.