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,
akan diganti oleh Permission
Allow
atau Deny
tergantung pada apakah Anda ingin memberikan atau mencabut izin yang disertakan.
akan digantikan oleh operasi yang didukung oleh layanan API eksekusi. Execution-operation
singkatan dari HTTP kata kerja yang didukung oleh sumber daya yang ditentukan. METHOD_HTTP_VERB
adalah placeholder untuk URL jalur API Resource-path
Resource
instance yang digunakan yang mendukung kata tersebut.
Untuk informasi selengkapnya, lihat Referensi pernyataan IAM kebijakan untuk mengeksekusi API di API Gateway. METHOD_HTTP_VERB
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/
, Anda dapat menyertakan pernyataan berikut dalam IAM kebijakan:{petId}
{ "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
Action
Ekspresi 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
Resource
Ekspresi 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 (sepertius-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:*:
untuk jalur sumber daya apa pun di tahap apa pun, untuk API dengan pengidentifikasiapi-id
/*api-id
di AWS wilayah us-east-1. -
arn:aws:execute-api:us-east-1:*:
untuk jalur sumber daya apa pun dalam tahapapi-id
/test
/*test
, untuk API dengan pengidentifikasiapi-id
di AWS wilayah us-east-1.
Untuk mempelajari selengkapnya, lihat Referensi API Gateway Amazon Resource Name (ARN).