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 kami menyarankan Anda menggunakannya AWS RAM untuk mengurangi overhead 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 membagikan 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 melakukannya dengan memperbarui managementPolicy untuk layanan API Gateway Management 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 setiap pribadi yang APIs 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 dapat 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 tambalan untuk memperbarui kebijakan.
managementPolicyBerikut inipatch-managementPolicy.jsonmenggantikan kebijakan saat inimanagementPolicydengan contoh kebijakan yang memberikan Akun AWS 111122223333 dan 444455556666 akses 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\"}]}" }]update-domain-namePerintah berikut memperbarui
managementPolicypenggunaanpatch-managementPolicy.json.aws 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 tambalan 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 update-domain-nameperintah berikut untuk memperbarui
policypenggunaanpatch-policy.json.aws 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
-
reject-domain-name-access-associationPerintah 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 untuk 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\"}]}" }]update-domain-namePerintah berikut untuk memperbarui
managementPolicypenggunaanpatch-managementPolicy.json.aws 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 untuk 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\"}}}]}" }]update-domain-namePerintah berikut memperbarui
policypenggunaanpatch-policy.json.aws 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 Amazon API Gateway Management. managementPolicy Kebijakan ini memberikan Akun AWS 111122223333 dan 444455556666 akses 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 vpce-abcd1234 titik akhir VPC vpce-xyzz0000 dan akses untuk memanggil nama domain kustom pribadi.