Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Penyedia API: Bagikan nama domain kustom pribadi Anda menggunakan API Gateway AWS CLI
Anda dapat membagikan nama domain kustom pribadi menggunakan API Gateway AWS CLI, tetapi sebaiknya gunakan AWS RAM untuk mengurangi biaya operasional Anda. Untuk petunjuk tentang cara menggunakan AWS RAM untuk membagikan nama domain kustom pribadi Anda, lihatPenyedia API: Bagikan nama domain kustom pribadi Anda menggunakan AWS RAM.
Untuk berbagi nama domain kustom pribadi menggunakan API Gateway AWS CLI, Anda memberikan Akun AWS akses lain untuk membuat asosiasi akses nama domain dan memanggil nama domain kustom pribadi Anda. Anda melakukan ini dengan memperbarui managementPolicy untuk layanan Manajemen Gateway API dan policy untuk execute-api layanan untuk nama domain kustom pribadi Anda. Anda juga perlu memberikan akses untuk titik akhir VPC konsumen API dalam kebijakan sumber daya untuk API pribadi apa pun yang dipetakan ke nama domain kustom pribadi Anda.
Konsumen API masih perlu membuat asosiasi akses nama domain di akun mereka sendiri antara titik akhir VPC mereka dan nama domain kustom pribadi Anda. Anda tidak bisa melakukan ini untuk mereka.
Berikan akses ke nama domain kustom pribadi Anda
Untuk memberikan akses ke nama domain kustom pribadi Anda
-
Untuk memperbarui layanan Manajemen Gateway API, Anda membuat file JSON yang berisi operasi patch untuk memperbarui kebijakan.
managementPolicyBerikut inipatch-managementPolicy.jsonmenggantikan kebijakan saat inimanagementPolicydengan contoh kebijakan yang memberikan akses Akun AWS 111122223333 dan 444455556666 untuk membuat asosiasi akses nama domain dengan nama domain kustom pribadi.private.example.com[{ "op": "replace", "path": "/managementPolicy", "value": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":[\"arn:aws:iam::111122223333:root\", \"arn:aws:iam::444455556666:root\"]},\"Action\":\"apigateway:CreateAccessAssociation\",\"Resource\":\"arn:aws:apigateway:us-west-2:111122223333:/domainnames/private.example.com+abcd1234\"}]}" }]Perintah update-domain-name berikut memperbarui penggunaan.
managementPolicypatch-managementPolicy.jsonaws apigateway update-domain-name \ --domain-name private.example.com \ --domain-name-id abcd1234 \ --patch-operations file://patch-managementPolicy.jsonSetelah Anda memberikan akses, Anda perlu memberi tahu konsumen API bahwa mereka dapat membentuk asosiasi akses nama domain. Jika Anda menggunakan AWS RAM, AWS RAM akan melakukan langkah ini untuk Anda.
-
Untuk memperbarui
execute-apilayanan, Anda membuat file JSON yang berisi operasi patch untuk memperbarui kebijakan.policyBerikut inipatch-policy.jsonmenggantikan kebijakan saat inipolicydengan contoh kebijakan yang memberikan dua titik akhir VPC untuk memanggil nama domain kustom pribadi.private.example.com[{ "op": "replace", "path": "/policy", "value": "{\"Version\": \"2012-10-17\",\"Statement\": [{\"Effect\": \"Allow\",\"Principal\": \"*\",\"Action\": \"execute-api:Invoke\",\"Resource\": \"arn:aws:execute-api:us-west-2:111122223333:/domainnames/private.example.com+abcd1234\"},{\"Effect\": \"Deny\",\"Principal\": \"*\",\"Action\": \"execute-api:Invoke\",\"Resource\": \"arn:aws:execute-api:us-west-2:111122223333:/domainnames/private.example.com+abcd1234\",\"Condition\": {\"StringNotEquals\": {\"aws:SourceVpce\": [\"vpce-abcd1234\",\"vpce-xyzz0000\"]}}}]}" }]Gunakan perintah update-domain-name berikut untuk memperbarui penggunaan.
policypatch-policy.jsonaws apigateway update-domain-name \ --domain-name private.example.com \ --domain-name-id abcd1234 \ --patch-operations file://patch-policy.json
Tolak akses ke nama domain kustom pribadi Anda
Untuk berhenti membagikan nama domain kustom pribadi Anda, Anda harus menolak asosiasi akses nama domain antara nama domain kustom pribadi Anda dan titik akhir VPC konsumen API.
Untuk menolak akses ke nama domain kustom pribadi Anda
-
Per
reject-domain-name-access-associationintah berikut menolak asosiasi akses nama domain.aws apigateway reject-domain-name-access-association \ --domain-name-access-association-arn arn:aws:apigateway:us-west-2:444455556666:/domainnameaccessassociations/domainname/private.example.com+abcd1234/vpcesource/vpce-abcd1234 \ --domain-name-arn arn:aws:apigateway:us-west-2:111122223333:/domainnames/private.example.com+abcd1234 -
Ubah
patch-managementPolicy.jsonuntuk menghapus akses akun penyedia API untuk membuat asosiasi akses nama domain dengan nama domain kustom pribadi Anda. Berikut inipatch-managementPolicy.jsonmenghapus satu akun darimanagementPolicy:[{ "op": "replace", "path": "/managementPolicy", "value": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":\"*\",\"Action\":\"apigateway:CreateAccessAssociation\",\"Resource\":\"arn:aws:apigateway:us-west-2:111122223333:/domainnames/private.example.com+abcd1234\"}]}" }]Perintah update-domain-name berikut untuk memperbarui penggunaan.
managementPolicypatch-managementPolicy.jsonaws apigateway update-domain-name \ --domain-name private.example.com \ --domain-name-id abcd1234 \ --patch-operations file://patch-managementPolicy.json -
Ubah
patch-policy.jsonuntuk menghapus akses titik akhir VPC penyedia API untuk memanggil nama domain kustom pribadi Anda. Berikut inipatch-policy.jsonmenghapus ID titik akhir VPC dari:policy[{ "op": "replace", "path": "/policy", "value": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":\"*\",\"Action\":\"execute-api:Invoke\",\"Resource\":\"arn:aws:execute-api:us-west-2:111122223333:/domainnames/private.example.com+abcd1234\"},{\"Effect\":\"Deny\",\"Principal\":\"*\",\"Action\":\"execute-api:Invoke\",\"Resource\":\"arn:aws:execute-api:us-west-2:111122223333:/domainnames/private.example.com+abcd1234\",\"Condition\":{\"StringNotEquals\":{\"aws:SourceVpce\":\"vpce-abcd1234\"}}}]}" }]Perintah update-domain-name berikut memperbarui penggunaan.
policypatch-policy.jsonaws apigateway update-domain-name \ --domain-name private.example.com \ --domain-name-id abcd1234 \ --patch-operations file://patch-policy.json
Contoh kebijakan yang digunakan dalam prosedur ini
Bagian berikut menunjukkan contoh kebijakan yang digunakan dalam prosedur sebelumnya.
Contoh kebijakan berikut adalah untuk layanan Manajemen Gateway API Amazon. managementPolicy Kebijakan ini memberikan akses Akun AWS 111122223333 dan 444455556666 untuk membuat asosiasi akses nama domain dengan nama domain kustom pribadi. private.example.com
Contoh kebijakan berikut adalah kebijakan policy untuk execute-api layanan. Kebijakan ini memberikan titik akhir VPC vpce-abcd1234 dan vpce-xyzz0000 akses untuk memanggil nama domain kustom pribadi.