View a markdown version of this page

Kontrol akses untuk memanggil API - Amazon API Gateway

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 API Anda menggunakan izin IAM. Ketika otorisasi IAM diaktifkan, klien harus menggunakan Signature Version 4a (SigV4a) dan Signature Version 4 (SIGv4) untuk menandatangani permintaan mereka dengan kredenSIAL. AWS Untuk informasi selengkapnya, lihat T AWS anda Tangan Versi 4.

Pada bagian ini, kami menampilkan template pernyataan kebijakan IAM dan referensi pernyataan kebijakan. Referensi pernyataan kebijakan mencakup format Action dan Resource bidang yang terkait dengan layanan eksekusi API. Gunakan referensi ini untuk membuat pernyataan kebijakan IAM Anda. Saat membuat pernyataan kebijakan IAM, 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 API pribadi, Anda harus menggunakan kombinasi kebijakan sumber daya API Gateway dan kebijakan titik akhir VPC. Untuk informasi selengkapnya, lihat topik berikut:

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

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

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

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

catatan

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

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

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "execute-api:Invoke" ], "Resource": [ "arn:aws:execute-api:us-east-1:111111111111:api-id/*/GET/pets" ] }, { "Effect": "Deny", "Action": [ "execute-api:Invoke" ], "Resource": [ "arn:aws:execute-api:us-east-1:111111111111: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 kebijakan IAM:

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

Referensi pernyataan kebijakan IAM untuk mengeksekusi API di API Gateway

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

Format tindakan izin untuk mengeksekusi API di API Gateway

Ek API-executing Action spresi memiliki format umum berikut:

execute-api:action

di mana action ada API-executing tindakan yang tersedia:

  • *, yang mewakili semua tindakan berikut.

  • Memang gil, digunakan untuk memanggil API atas permintaan klien.

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

Format sumber daya izin untuk mengeksekusi API di API Gateway

Ek API-executing Resource spresi memiliki format umum berikut:

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

di mana:

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

  • account-idadalah Id AWS akun 12 digit pemilik REST API.

  • api-idadalah pengidentifikasi API Gateway yang telah ditetapkan ke API untuk metode tersebut.

  • stage-nameadalah nama tahap yang terkait dengan metode.

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

  • resource-path-specifieradalah jalan menuju metode yang diinginkan.

catatan

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

Beberapa contoh ekspresi sumber daya meliputi:

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

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

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

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

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