Kontrol akses untuk memanggil API - APIGerbang Amazon

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

Kontrol akses untuk memanggil API

Di bagian ini, Anda mempelajari tentang model izin untuk mengontrol akses ke IAM izin API penggunaan Anda. Kami menampilkan pernyataan IAM kebijakan templat dan referensi pernyataan kebijakan. Referensi pernyataan kebijakan mencakup format Action dan Resource bidang yang terkait dengan layanan API eksekusi. Gunakan referensi ini untuk membuat pernyataan IAM kebijakan Anda. Saat membuat pernyataan IAM kebijakan, Anda mungkin perlu mempertimbangkan bagaimana kebijakan sumber daya API Gateway memengaruhi alur kerja otorisasi. Untuk informasi selengkapnya, lihat Bagaimana kebijakan sumber daya API Gateway memengaruhi alur kerja otorisasi.

Untuk pribadiAPIs, Anda harus menggunakan kombinasi kebijakan sumber daya API Gateway dan kebijakan VPC titik akhir. Untuk informasi selengkapnya, lihat topik berikut.

Kontrol siapa yang dapat memanggil API metode API Gateway dengan IAM kebijakan

Untuk mengontrol siapa yang dapat atau tidak dapat memanggil yang disebarkan API dengan IAM izin, buat dokumen IAM kebijakan dengan izin yang diperlukan. Template untuk dokumen kebijakan semacam itu ditampilkan sebagai berikut.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Permission", "Action": [ "execute-api:Execution-operation" ], "Resource": [ "arn:aws:execute-api:region:account-id:api-id/stage/METHOD_HTTP_VERB/Resource-path" ] } ] }

Di sini, Permission akan diganti oleh Allow atau Deny tergantung pada apakah Anda ingin memberikan atau mencabut izin yang disertakan. Execution-operationakan digantikan oleh operasi yang didukung oleh layanan API eksekusi. METHOD_HTTP_VERBsingkatan dari HTTP kata kerja yang didukung oleh sumber daya yang ditentukan. Resource-pathadalah placeholder untuk URL jalur API Resource instance yang digunakan yang mendukung kata tersebut. METHOD_HTTP_VERB Untuk informasi selengkapnya, lihat Referensi pernyataan IAM kebijakan untuk mengeksekusi API di API Gateway.

catatan

Agar IAM kebijakan efektif, Anda harus mengaktifkan IAM otentikasi pada API metode dengan menyetel AWS_IAM properti metodeauthorizationType. Gagal melakukannya akan membuat API metode ini dapat diakses publik.

Misalnya, untuk memberikan izin kepada pengguna untuk melihat daftar hewan peliharaan yang diekspos oleh yang ditentukanAPI, tetapi untuk menolak izin pengguna untuk menambahkan hewan peliharaan ke daftar, Anda dapat menyertakan pernyataan berikut dalam IAM kebijakan:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "execute-api:Invoke" ], "Resource": [ "arn:aws:execute-api:us-east-1:account-id:api-id/*/GET/pets" ] }, { "Effect": "Deny", "Action": [ "execute-api:Invoke" ], "Resource": [ "arn:aws:execute-api:us-east-1:account-id:api-id/*/POST/pets" ] } ] }

Untuk memberikan izin kepada pengguna untuk melihat hewan peliharaan tertentu yang diekspos oleh API yang dikonfigurasi sebagaiGET /pets/{petId}, Anda dapat menyertakan pernyataan berikut dalam IAM kebijakan:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "execute-api:Invoke" ], "Resource": [ "arn:aws:execute-api:us-east-1:account-id:api-id/*/GET/pets/a1b2" ] } ] }

Referensi pernyataan IAM kebijakan untuk mengeksekusi API di API Gateway

Informasi berikut menjelaskan format Tindakan dan Sumber Daya dari pernyataan IAM kebijakan izin akses untuk mengeksekusi. API

Format tindakan izin untuk mengeksekusi API di Gateway API

ActionEkspresi API -executing memiliki format umum berikut:

execute-api:action

di mana action adalah tindakan API -eksekusi yang tersedia:

  • *, yang mewakili semua tindakan berikut.

  • Invoke, digunakan untuk memanggil API permintaan klien.

  • InvalidateCache, digunakan untuk membatalkan API cache atas permintaan klien.

Format sumber daya izin untuk mengeksekusi API di Gateway API

ResourceEkspresi API -executing memiliki format umum berikut:

arn:aws:execute-api:region:account-id:api-id/stage-name/HTTP-VERB/resource-path-specifier

di mana:

  • region adalah AWS wilayah (seperti us-east-1 atau * untuk semua AWS wilayah) yang sesuai dengan yang digunakan API untuk metode tersebut.

  • account-id adalah 12 digit ID AWS akun REST API pemilik.

  • api-id adalah pengidentifikasi yang telah ditetapkan API Gateway ke metode API for.

  • stage-name adalah nama tahap yang terkait dengan metode.

  • HTTP-VERB adalah HTTP kata kerja untuk metode ini. Ini bisa menjadi salah satu dari yang berikut:GET,POST,PUT,DELETE,PATCH.

  • resource-path-specifier adalah jalan menuju metode yang diinginkan.

catatan

Jika Anda menentukan wildcard (*), Resource ekspresi akan menerapkan wildcard ke ekspresi lainnya.

Beberapa contoh ekspresi sumber daya meliputi:

  • arn:aws:execute-api:*:*:*untuk jalur sumber daya apa pun di tahap apa pun, untuk mana pun API di AWS wilayah mana pun.

  • arn:aws:execute-api:us-east-1:*:*untuk jalur sumber daya apa pun di tahap apa pun, untuk mana pun API di AWS wilayahus-east-1.

  • arn:aws:execute-api:us-east-1:*:api-id/*untuk jalur sumber daya apa pun di tahap apa pun, untuk API dengan pengidentifikasi api-id di AWS wilayah us-east-1.

  • arn:aws:execute-api:us-east-1:*:api-id/test/*untuk jalur sumber daya apa pun dalam tahaptest, untuk API dengan pengidentifikasi api-id di AWS wilayah us-east-1.

Untuk mempelajari selengkapnya, lihat Referensi API Gateway Amazon Resource Name (ARN).