View a markdown version of this page

Penyedia API: Bagikan nama domain kustom pribadi Anda menggunakan AWS RAM - Amazon API Gateway

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 AWS RAM

Anda dapat menyediakan konsumen API di Akun AWS akses lain ke nama domain kustom pribadi Anda. Di bagian ini, Anda mempelajari cara membagikan nama domain kustom pribadi Anda menggunakan AWS RAM dan cara mengontrol akses ke nama domain kustom pribadi Anda.

Pertimbangan untuk membagikan nama domain kustom pribadi Anda

Pertimbangan berikut mungkin memengaruhi cara Anda memberikan akses ke nama domain kustom pribadi Anda menggunakan AWS RAM. Untuk mempelajari cara membagikan nama domain kustom pribadi Anda tanpa menggunakan AWS RAM, lihatPenyedia API: Bagikan nama domain kustom pribadi Anda menggunakan API Gateway AWS CLI.

  • Nama domain kustom pribadi dibagikan di Wilayah AWS level tersebut. Baik nama domain kustom pribadi dan titik akhir VPC harus sama Wilayah AWS.

  • Anda dapat menggunakan satu pembagian sumber daya dengan beberapa prinsipal, dan setelah Anda membuat berbagi sumber daya, Anda dapat menambahkan lebih banyak prinsipal ke dalamnya. Sebaiknya jika memungkinkan, Anda menggunakan kembali berbagi sumber daya Anda.

  • Anda selalu perlu memberikan akses titik akhir VPC konsumen API untuk memanggil nama domain kustom pribadi Anda dan API pribadi apa pun yang dipetakan ke dalamnya.

  • Jika konsumen API dan penyedia API berada di organisasi yang sama menggunakan AWS Organizations, pembagian sumber daya diterima secara otomatis. Anda masih perlu membuat pembagian sumber daya menggunakan AWS RAM.

  • Jika konsumen API dan penyedia API berada di organisasi yang sama menggunakan AWS Organizations dan berbagi sumber daya dalam organisasi Anda diaktifkan, semua prinsipal dalam organisasi yang Anda bagikan secara otomatis diberikan akses ke berbagi sumber daya. Tidak perlu undangan dan Anda dapat melewati pembagian sumber daya.

  • Jika konsumen API tidak menerima pembagian sumber daya dalam waktu 12 jam, penyedia API harus membagikan sumber daya lagi.

  • Setelah Anda membuat berbagi sumber daya, AWS RAM perbarui layanan Manajemen Gateway API Amazon untuk nama domain kustom pribadi Anda untuk mencegah akses ke kepala sekolah tanpa allow akses eksplisit. managementPolicy Untuk informasi selengkapnya, lihat Men entukan apakah permintaan diizinkan atau ditolak dalam akun di Panduan Pengguna IAM.

    Yang diperbarui managementPolicy akan terlihat seperti berikut:

    JSON
    { "Version":"2012-10-17", "Id": "abcd1234-1234-abcd-abcd-1234abcdefg", "Statement": [ { "Sid": "APIGatewayPrivateDomainNameManagementPolicyDefaultPermission-org", "Effect": "Allow", "Principal": "*", "Action": "apigateway:CreateAccessAssociation", "Resource": "arn:aws:apigateway:us-west-2:111122223333:/domainnames/private.example.com+abcd1234", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "o-1234abcd" }, "StringNotEquals": { "aws:PrincipalAccount": "111122223333" } } } ] }

    AWS RAM telah mencegah kepala sekolah tanpa allow akses eksplisit untuk membuat asosiasi akses dengan nama domain kustom pribadi Anda, dengan menambahkan yang berikut:

    "StringNotEquals": { "aws:PrincipalAccount": "111122223333" }

    Anda masih dapat menggunakan prinsip di Akun AWS siapa yang membuat nama domain kustom pribadi untuk membuat asosiasi akses nama domain.

Izinkan akun lain untuk membuat asosiasi akses nama domain dengan nama domain kustom pribadi Anda

Pertama, Anda memberikan akses ke yang lain Akun AWS untuk membuat asosiasi akses nama domain dengan nama domain kustom pribadi Anda.

Konsol Manajemen AWS

Untuk menggunakan Konsol Manajemen AWS, lihat Membuat berbagi sumber daya AWS RAM di Panduan AWS RAM Pengguna.

Untuk Pilih jenis sumber daya, pilih Domain Kustom Pribadi Gateway API.

AWS CLI

Pembagian sumber daya berikut membuat berbagi sumber daya untuk nama domain kustom pribadi Anda. Diperlukan beberapa menit untuk menyelesaikan sumber daya dan asosiasi utama. Untuk kepala sekolah, berikan ID akun atau ID Organisasi, sepertiarn:aws:organizations::123456789012:organization/o-1234abcd. Anda dapat menyediakan beberapa prinsipal untuk berbagi sumber daya Anda.

aws ram create-resource-share \ --region us-west-2 \ --name privateCustomDomain-resource-share \ --permission-arns arn:aws:ram::aws:permission/APIGatewayPrivateDomainNameManagementPolicyDefaultPermission \ --resource-arns arn:aws:apigateway:us-west-2:111122223333:/domainnames/private.example.com+abcd1234 \ --principals 222222222222

Setelah Anda memberikan akses ke akun lain Akun AWS, konsumen API di akun tersebut harus membuat asosiasi akses nama domain antara titik akhir VPC mereka dengan nama domain kustom pribadi Anda. Anda tidak dapat membuat asosiasi akses nama domain untuk mereka. Untuk informasi selengkapnya, lihat Mengaitkan titik akhir VPC Anda dengan nama domain kustom pribadi bersama.

Izinkan akun lain untuk memanggil nama domain kustom pribadi Anda

Selanjutnya, Anda memberikan akses untuk titik akhir VPC konsumen API untuk memanggil nama domain kustom pribadi Anda dan API pribadi apa pun yang dipetakan ke sana.

Konsol Manajemen AWS
Untuk mengizinkan titik akhir VPC di akun lain untuk memanggil nama domain kustom pribadi Anda
  1. Masuk ke konsol API Gateway di https://console.aws.amazon.com/apigateway.

  2. Di panel navigasi utama, pilih Nama domain khusus.

  3. Pilih nama domain kustom pribadi yang Anda bagikan dengan orang lain Akun AWS.

  4. Pada tab Kebijakan sumber daya, pilih Edit kebijakan sumber daya.

  5. Tambahkan ID titik akhir VPC konsumen API ke kebijakan sumber daya Anda.

    Anda dapat menemukan ID titik akhir VPC konsumen API di bagian Asosiasi akses nama domain pada tab Ber bagi sumber daya di halaman detail domain nama domain kustom pribadi Anda.

  6. Pilih Simpan perubahan.

AWS CLI

Berikut ini policy untuk execute-api layanan memungkinkan lalu lintas masuk ke nama domain kustom pribadi dari titik akhir VPC vpce-abcd1234efg danvpce-xyz000abc.

{ "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-abcd1234", "vpce-xyzz0000" ] } } } ] }

Perintah update-domain-name berikut menggunakan operasi patch untuk memperbarui nama domain kustom policy pribadi:

aws apigateway update-domain-name --domain-name private.example.com \ --domain-name-id abcd1234 \ --patch-operations op=replace,path=/policy,value='"{\"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\":[\"vpce-abcd1234efg\", \"vpce-xyz000abc\"]}}}]}"