Menggunakan kebijakan titik akhir VPC untuk API pribadi di API Gateway - Amazon API Gateway

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

Menggunakan kebijakan titik akhir VPC untuk API pribadi di API Gateway

Untuk meningkatkan keamanan API pribadi Anda, Anda dapat membuat kebijakan titik akhir VPC. Kebijakan titik akhir VPC adalah kebijakan sumber daya IAM yang Anda lampirkan ke titik akhir VPC. Untuk informasi selengkapnya, lihat Mengontrol Akses ke Layanan dengan VPC Endpoints.

Anda mungkin ingin membuat kebijakan titik akhir VPC untuk melakukan hal berikut:

  • Izinkan hanya organisasi atau sumber daya tertentu untuk mengakses titik akhir VPC Anda dan menjalankan API Anda.

  • Gunakan satu kebijakan dan hindari kebijakan berbasis sesi atau berbasis peran untuk mengontrol lalu lintas ke API Anda.

  • Kencangkan perimeter keamanan aplikasi Anda saat bermigrasi dari tempat ke AWS lokasi.

Pertimbangan kebijakan titik akhir VPC

  • Identitas invoker dievaluasi berdasarkan nilai Authorization header. Tergantung pada AndaauthorizationType, ini dapat menyebabkan kesalahan 403 IncompleteSignatureException atau 403 InvalidSignatureException kesalahan. Tabel berikut menunjukkan nilai Authorization header untuk masing-masingauthorizationType.

    authorizationType

    Authorizationheader dievaluasi?

    Nilai Authorization header yang diizinkan

    NONEdengan kebijakan akses penuh default Tidak Tidak lulus
    NONEdengan kebijakan akses khusus Ya Harus berupa nilai SiGv4 yang valid
    IAM Ya Harus berupa nilai SiGv4 yang valid
    CUSTOM atau COGNITO_USER_POOLS Tidak Tidak lulus
  • Jika kebijakan membatasi akses ke prinsipal IAM tertentu, misalnyaarn:aws:iam::account-id:role/developer, Anda harus menyetel metode API Anda ke atau. authorizationType AWS_IAM NONE Untuk petunjuk lebih lanjut tentang cara mengatur metode authorizationType untuk, lihatMetode untuk REST API di API Gateway.

  • Kebijakan titik akhir VPC dapat digunakan bersama dengan kebijakan sumber daya API Gateway. Kebijakan sumber daya API Gateway menentukan prinsipal mana yang dapat mengakses API. Kebijakan endpoint menentukan siapa yang dapat mengakses VPC dan API mana yang dapat dipanggil dari titik akhir VPC. API pribadi Anda memerlukan kebijakan sumber daya tetapi Anda tidak perlu membuat kebijakan titik akhir VPC kustom.

Contoh kebijakan titik akhir VPC

Anda dapat membuat kebijakan untuk titik akhir Amazon Virtual Private Cloud untuk Amazon API Gateway yang dapat Anda tentukan:

  • Prinsipal yang dapat melakukan tindakan.

  • Tindakan yang dapat dilakukan.

  • Sumber daya yang dapat memiliki tindakan yang dilakukan pada mereka.

Untuk melampirkan kebijakan ke titik akhir VPC, Anda harus menggunakan konsol VPC. Untuk informasi selengkapnya, lihat Mengontrol Akses ke Layanan dengan VPC Endpoints.

Contoh 1: Kebijakan titik akhir VPC yang memberikan akses ke dua API

Contoh kebijakan berikut hanya memberikan akses ke dua API tertentu melalui titik akhir VPC tempat kebijakan dilampirkan.

{ "Statement": [ { "Principal": "*", "Action": [ "execute-api:Invoke" ], "Effect": "Allow", "Resource": [ "arn:aws:execute-api:us-east-1:123412341234:a1b2c3d4e5/*", "arn:aws:execute-api:us-east-1:123412341234:aaaaa11111/*" ] } ] }

Contoh 2: Kebijakan titik akhir VPC yang memberikan akses ke metode GET

Contoh kebijakan berikut memberi pengguna akses ke GET metode untuk API tertentu melalui titik akhir VPC tempat kebijakan dilampirkan.

{ "Statement": [ { "Principal": "*", "Action": [ "execute-api:Invoke" ], "Effect": "Allow", "Resource": [ "arn:aws:execute-api:us-east-1:123412341234:a1b2c3d4e5/stageName/GET/*" ] } ] }

Contoh 3: Kebijakan titik akhir VPC yang memberikan akses pengguna tertentu ke API tertentu

Contoh kebijakan berikut memberikan akses pengguna tertentu ke API tertentu melalui titik akhir VPC tempat kebijakan dilampirkan.

Dalam hal ini, karena kebijakan membatasi akses ke prinsipal IAM tertentu, Anda harus menyetel metode ke atauauthorizationType. AWS_IAM NONE

{ "Statement": [ { "Principal": { "AWS": [ "arn:aws:iam::123412341234:user/MyUser" ] }, "Action": [ "execute-api:Invoke" ], "Effect": "Allow", "Resource": [ "arn:aws:execute-api:us-east-1:123412341234:a1b2c3d4e5/*" ] } ] }