Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Kontrol akses untuk menjalankan API

Mode fokus
Kontrol akses untuk menjalankan API - Amazon API Gateway

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

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

Di bagian ini, Anda mempelajari tentang model izin untuk mengontrol akses ke API Anda menggunakan izin IAM. Kami menampilkan templat 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 pribadi APIs, 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 diterapkan dengan izin IAM, buat dokumen kebijakan IAM 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 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 diterapkan yang mendukung hal tersebut. METHOD_HTTP_VERB Untuk informasi selengkapnya, lihat Referensi pernyataan kebijakan IAM untuk menjalankan API di API Gateway.

catatan

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

Misalnya, untuk memberikan izin kepada 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:

{ "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 kebijakan IAM:

{ "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 kebijakan IAM untuk menjalankan API di API Gateway

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

Format tindakan izin untuk menjalankan API di API Gateway

ActionEkspresi pelaksana API memiliki format umum berikut:

execute-api:action

di action mana tindakan pelaksana API yang tersedia:

  • *, yang mewakili semua tindakan berikut.

  • Invoke, digunakan untuk memanggil API atas permintaan klien.

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

Format sumber daya izin untuk menjalankan API di API Gateway

ResourceEkspresi pelaksana API 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 diterapkan untuk metode tersebut.

  • account-idadalah Id AWS akun 12 digit dari 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 ini. Ini bisa menjadi salah satu dari yang berikut: GET, POST, PUT, DELETE, PATCH.

  • resource-path-specifieradalah 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 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 di tahap apa pun, untuk API dengan pengenal api-id di AWS wilayah us-east-1.

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

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

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.