Kontrol akses ke a REST API dengan IAM izin - APIGerbang Amazon

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:

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. IAMActionElemen 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.