APIContoh kebijakan sumber daya gateway - APIGerbang Amazon

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

APIContoh kebijakan sumber daya gateway

Halaman ini menyajikan beberapa contoh kasus penggunaan umum untuk kebijakan sumber daya API Gateway.

Contoh kebijakan berikut menggunakan sintaks yang disederhanakan untuk menentukan API sumber daya. Sintaks yang disederhanakan ini adalah cara singkat yang dapat Anda rujuk ke API sumber daya, alih-alih menentukan Nama Sumber Daya Amazon lengkap (). ARN APIGateway mengonversi sintaks yang disingkat menjadi penuh ARN saat Anda menyimpan kebijakan. Misalnya, Anda dapat menentukan sumber daya execute-api:/stage-name/GET/pets dalam kebijakan sumber daya. APIGateway mengonversi sumber daya menjadi arn:aws:execute-api:us-east-2:123456789012:aabbccddee/stage-name/GET/pets saat Anda menyimpan kebijakan sumber daya. APIGateway membangun penuh ARN dengan menggunakan Wilayah saat ini, ID AWS akun Anda, dan ID dari kebijakan sumber daya REST API yang terkait dengan kebijakan sumber daya. Anda dapat menggunakan execute-api:/* untuk mewakili semua tahapan, metode, dan jalur di saat iniAPI. Untuk informasi tentang bahasa kebijakan akses, lihat Ikhtisar bahasa kebijakan akses untuk Amazon API Gateway.

Contoh: Izinkan peran di AWS akun lain untuk menggunakan API

Contoh kebijakan sumber daya berikut memberikan API akses dalam satu AWS akun ke dua peran di akun yang berbeda AWS melalui protokol Signature Version 4 (SigV4). Secara khusus, peran pengembang dan administrator untuk AWS akun yang diidentifikasi oleh account-id-2 diberikan execute-api:Invoke tindakan untuk menjalankan GET tindakan pada pets resource (API) di AWS akun Anda.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::account-id-2:role/developer", "arn:aws:iam::account-id-2:role/Admin" ] }, "Action": "execute-api:Invoke", "Resource": [ "execute-api:/stage/GET/pets" ] } ] }

Contoh: Tolak API lalu lintas berdasarkan alamat atau jangkauan IP sumber

Contoh kebijakan sumber daya berikut menyangkal (memblokir) lalu lintas masuk ke API dari dua blok alamat IP sumber yang ditentukan.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "execute-api:Invoke", "Resource": [ "execute-api:/*" ] }, { "Effect": "Deny", "Principal": "*", "Action": "execute-api:Invoke", "Resource": [ "execute-api:/*" ], "Condition" : { "IpAddress": { "aws:SourceIp": ["192.0.2.0/24", "198.51.100.0/24" ] } } } ] }

Contoh: API Tolak lalu lintas berdasarkan alamat IP sumber atau rentang saat menggunakan pribadi API

Contoh kebijakan sumber daya berikut menyangkal (memblokir) lalu lintas masuk ke pribadi API dari dua blok alamat IP sumber yang ditentukan. Saat menggunakan pribadiAPIs, VPC titik akhir untuk execute-api menulis ulang alamat IP sumber asli. aws:VpcSourceIpKondisi memfilter permintaan terhadap alamat IP pemohon asli.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "execute-api:Invoke", "Resource": [ "execute-api:/*" ] }, { "Effect": "Deny", "Principal": "*", "Action": "execute-api:Invoke", "Resource": [ "execute-api:/*" ], "Condition" : { "IpAddress": { "aws:VpcSourceIp": ["192.0.2.0/24", "198.51.100.0/24"] } } } ] }

Contoh: Izinkan API lalu lintas pribadi berdasarkan sumber VPC atau titik VPC akhir

Contoh kebijakan sumber daya berikut mengizinkan lalu lintas masuk ke private API hanya dari virtual private cloud (VPC) atau VPC endpoint tertentu.

Contoh kebijakan sumber daya ini menentukan sumber: VPC

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "execute-api:Invoke", "Resource": [ "execute-api:/*" ] }, { "Effect": "Deny", "Principal": "*", "Action": "execute-api:Invoke", "Resource": [ "execute-api:/*" ], "Condition" : { "StringNotEquals": { "aws:SourceVpc": "vpc-1a2b3c4d" } } } ] }

Contoh kebijakan sumber daya ini menentukan titik VPC akhir sumber:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "execute-api:Invoke", "Resource": [ "execute-api:/*" ] }, { "Effect": "Deny", "Principal": "*", "Action": "execute-api:Invoke", "Resource": [ "execute-api:/*" ], "Condition" : { "StringNotEquals": { "aws:SourceVpce": "vpce-1a2b3c4d" } } } ] }