View a markdown version of this page

Gunakan 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.

Gunakan 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 tugas-tugas berikut.

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

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

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

Pertimbangan kebijakan titik akhir VPC

Berikut ini adalah pertimbangan untuk kebijakan titik akhir VPC Anda:

  • Identitas pemanggil dievaluasi berdasarkan nilai Authorization header. Kebijakan titik akhir VPC dievaluasi terlebih dahulu, dan kemudian API Gateway mengevaluasi permintaan, berdasarkan jenis otorisasi yang dikonfigurasi pada permintaan metode. Tabel berikut menunjukkan bagaimana kebijakan titik akhir VPC dievaluasi berdasarkan konten nilai Authorization header.

    Isi nilai Authorization header

    Bagaimana kebijakan titik akhir VPC dievaluasi

    Tidak ada konten Invoker dievaluasi sebagai pengguna anonim
    Tanda tangan SIGv4 atau SIG V4a yang valid Invoker dievaluasi sebagai identitas IAM yang diautentikasi dari tanda tangan
    Tanda tangan SIGv4 atau SIG V4a tidak valid API Gateway menolak akses
    Non-SigV4 informasi otorisasi seperti token pembawa Invoker dievaluasi sebagai pengguna anonim
  • Jika kontrol akses bergantung pada penggunaan token pembawa, seperti otorisasi Lambda atau Amazon Cognito, Anda dapat mengontrol perimeter keamanan Anda dengan menggunakan properti sumber daya.

  • Jika kontrol otorisasi Anda menggunakan otorisasi IAM, Anda dapat mengontrol perimeter keamanan Anda dengan menggunakan properti sumber daya dan properti prinsipal.

  • 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 titik akhir 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 di mana Anda dapat menentukan yang berikut ini.

  • Prinsipal yang dapat melakukan tindakan.

  • Tindakan yang dapat dilakukan.

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

Ini mungkin tergantung pada isi header otorisasi Anda. Untuk informasi selengkapnya, lihat Pertimbangan kebijakan titik akhir VPC. Untuk contoh kebijakan tambahan, lihat Contoh kebijakan perimeter data di GitHub situs web.

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

Kebijakan contoh berikut hanya memberikan akses ke dua API tertentu melalui titik akhir VPC yang dilampirkan kebijakan.

JSON
{ "Version":"2012-10-17", "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

Kebijakan contoh berikut memberi pengguna akses ke GET metode untuk API tertentu melalui titik akhir VPC yang dilampirkan kebijakan tersebut.

JSON
{ "Version":"2012-10-17", "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

Kebijakan contoh berikut memberikan akses pengguna tertentu ke API tertentu melalui titik akhir VPC yang dilampirkan kebijakan tersebut.

Dalam hal ini, karena kebijakan membatasi akses ke prinsip-prinsip IAM tertentu, Anda harus mengatur metode ke atau. authorizationType AWS_IAM NONE

JSON
{ "Version":"2012-10-17", "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/*" ] } ] }

Contoh 4: Kebijakan titik akhir VPC yang memberikan pengguna akses ke nama domain khusus tertentu dan setiap API yang dipetakan ke domain

Kebijakan contoh berikut memberi pengguna akses ke nama domain khusus tertentu untuk API pribadi melalui titik akhir VPC yang dilampirkan kebijakan tersebut. Dengan kebijakan ini, selama pengguna telah membuat asosiasi akses nama domain antara titik akhir VPC dan nama domain khusus dan diberikan akses untuk memanggil nama domain kustom dan API pribadi apa pun yang dipetakan ke nama domain kustom, pengguna dapat memanggil API apa pun yang dipetakan ke nama domain kustom ini. Untuk informasi selengkapnya, lihat Nama domain kustom untuk API pribadi di API Gateway.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "execute-api:Invoke", "Resource": [ "*" ], "Condition": { "ArnEquals": { "execute-api:viaDomainArn": "arn:aws:execute-api:us-west-2:111122223333:/domainnames/private.test.com+f4g5h6" } } } ] }

Contoh 5: Kebijakan titik akhir VPC memberikan atau menolak akses ke API dan sumber daya domain tertentu

Kebijakan contoh berikut memberi pengguna akses ke API dan sumber daya domain tertentu. Dengan kebijakan ini, selama pengguna telah membuat asosiasi akses nama domain antara titik akhir VPC dan nama domain kustom dan diberikan akses untuk memanggil nama domain kustom dan API pribadi apa pun yang dipetakan ke nama domain khusus, pengguna dapat memanggil API pribadi dan sumber daya domain yang diizinkan. Untuk informasi selengkapnya, lihat Nama domain kustom untuk API pribadi di API Gateway.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "execute-api:Invoke", "Resource": [ "arn:aws:execute-api:us-west-2:111122223333:/domainnames/private.test.com+f4g5h6", "arn:aws:execute-api:us-west-2:111122223333:a1b2c3d4e5/*" ] }, { "Effect": "Deny", "Principal": { "AWS": "*" }, "Action": "execute-api:Invoke", "Resource": [ "arn:aws:execute-api:us-west-2:111122223333:a1b2c3d4e5/admin/*", "arn:aws:execute-api:us-west-2:111122223333:bcd123455/*" ] } ] }

Contoh 6: Kebijakan titik akhir VPC yang memberikan atau menolak akses oleh prinsipal dan sumber daya milik organisasi

Kebijakan contoh berikut memberikan akses ke prinsipal dan sumber daya milik organisasi.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Condition": { "StringEquals": { "aws:ResourceOrgID": "o-abcd1234", "aws:PrincipalOrgID": "o-abcd1234" } }, "Action": "*", "Resource": "*", "Effect": "Allow", "Principal": { "AWS": "*" }, "Sid": "AllowRequestsByOrgsIdentitiesToOrgsResources" } ] }