

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
<a name="apigateway-private-custom-domains-provider-share"></a>

Anda dapat memberikan 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 berbagi nama domain kustom pribadi Anda
<a name="apigateway-private-custom-domains-provider-share-considerations"></a>

Pertimbangan berikut dapat 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, lihat[Penyedia API: Bagikan nama domain kustom pribadi Anda menggunakan API Gateway AWS CLI](apigateway-private-custom-domains-provider-share-cli.md).
+ 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 pembagian sumber daya, Anda dapat menambahkan lebih banyak prinsipal ke dalamnya. Kami menyarankan bahwa jika memungkinkan, Anda menggunakan kembali bagian sumber daya Anda.
+ Anda selalu perlu memberikan akses titik akhir VPC konsumen API untuk memanggil nama domain kustom pribadi Anda dan setiap pribadi APIs yang dipetakan ke sana.
+ Jika konsumen API dan penyedia API berada di organisasi yang sama menggunakan AWS Organizations, pembagian sumber daya akan 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, prinsip apa pun di organisasi yang Anda bagikan akan secara otomatis diberikan akses ke pembagian 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 tersebut lagi.
+ Setelah Anda membuat pembagian sumber daya, AWS RAM update `managementPolicy` untuk layanan Manajemen Amazon API Gateway untuk nama domain kustom pribadi Anda untuk mencegah akses ke prinsipal tanpa akses eksplisit. `allow` Untuk informasi selengkapnya, lihat [Menentukan apakah permintaan diizinkan atau ditolak dalam akun](https://docs.aws.amazon.com//IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-denyallow) 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 prinsipal tanpa akses eksplisit untuk membuat asosiasi `allow` akses dengan nama domain kustom pribadi Anda, dengan menambahkan yang berikut:

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

  Anda masih dapat menggunakan prinsipal 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
<a name="apigateway-private-custom-domains-provider-management-policy-update"></a>

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 bagian sumber daya AWS RAM di](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-create.html) *Panduan AWS RAM Pengguna*.

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

------
#### [ AWS CLI ]

Berikut ini [create-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html)membuat pembagian 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 Organizations, seperti. `arn:aws:organizations::123456789012:organization/o-1234abcd` Anda dapat memberikan beberapa prinsip 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 [Kaitkan titik akhir VPC Anda dengan nama domain kustom pribadi bersama](apigateway-private-custom-domains-consumer-create.md#apigateway-private-custom-domains-consumer-associate).

## Izinkan akun lain untuk memanggil nama domain kustom pribadi Anda
<a name="apigateway-private-custom-domains-provider-policy-update"></a>

Selanjutnya, Anda memberikan akses ke titik akhir VPC konsumen API untuk memanggil nama domain kustom pribadi Anda dan setiap pribadi APIs 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](https://console.aws.amazon.com/apigateway).

1. Di panel navigasi utama, pilih **Nama domain khusus**.

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

1. Pada tab **Kebijakan sumber daya**, pilih **Edit kebijakan sumber daya**.

1. 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 **Berbagi sumber daya** di halaman **Detail domain nama domain** kustom pribadi Anda.

1. Pilih **Simpan perubahan**.

------
#### [ AWS CLI ]

Berikut ini `policy` untuk `execute-api` layanan ini memungkinkan lalu lintas masuk ke nama domain kustom pribadi dari titik akhir VPC `vpce-abcd1234efg` dan. `vpce-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"
                    ]
                }
            }
        }
    ]
}
```

[update-domain-name](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-domain-name.html)Perintah berikut menggunakan operasi patch untuk memperbarui `policy` untuk nama domain kustom 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\"]}}}]}"
```

------