

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# API-Anbieter: Teilen Sie Ihren privaten benutzerdefinierten Domainnamen mit AWS RAM
<a name="apigateway-private-custom-domains-provider-share"></a>

Sie können API-Nutzern in anderen Fällen AWS-Konten Zugriff auf Ihren privaten benutzerdefinierten Domainnamen gewähren. In diesem Abschnitt erfahren Sie, wie Sie Ihren privaten benutzerdefinierten Domainnamen mit anderen teilen AWS RAM und wie Sie den Zugriff auf Ihren privaten benutzerdefinierten Domainnamen kontrollieren können.

## Überlegungen zur Weitergabe Ihres privaten benutzerdefinierten Domainnamens
<a name="apigateway-private-custom-domains-provider-share-considerations"></a>

Die folgenden Überlegungen können sich darauf auswirken, wie Sie mithilfe von. Zugriff auf Ihren privaten benutzerdefinierten Domainnamen mithilfe von AWS RAM gewähren. Informationen dazu, wie Sie Ihren privaten benutzerdefinierten Domainnamen teilen können, ohne ihn zu verwenden AWS RAM, finden Sie unter[API-Anbieter: Teilen Sie Ihren privaten benutzerdefinierten Domainnamen über das API Gateway AWS CLI](apigateway-private-custom-domains-provider-share-cli.md).
+ Private benutzerdefinierte Domainnamen werden auf der gleichen AWS-Region Ebene geteilt. Der private benutzerdefinierte Domainname und der VPC-Endpunkt müssen sich in derselben AWS-Region befinden.
+ Sie können eine einzelne Ressourcenfreigabe für mehrere Prinzipale verwenden und weitere Prinzipale hinzufügen, nachdem Sie die Ressourcenfreigabe erstellt haben. Wir empfehlen, dass Sie Ihre Ressourcenfreigabe nach Möglichkeit wiederverwenden.
+ Sie müssen dem VPC-Endpunkt des API-Verbrauchers immer Zugriff gewähren, um Ihren privaten benutzerdefinierten Domainnamen und alle ihm APIs zugewiesenen privaten Domainnamen aufzurufen.
+ Wenn sich der API-Nutzer und der API-Anbieter in derselben Organisation befinden, die sie verwendet AWS Organizations, wird die gemeinsame Nutzung der Ressource automatisch akzeptiert. Sie müssen jedoch trotzdem mithilfe von AWS RAM eine Ressourcenfreigabe erstellen.
+ Wenn sich der API-Nutzer und der API-Anbieter in derselben Organisation befinden AWS Organizations und die gemeinsame Nutzung von Ressourcen innerhalb Ihrer Organisation aktiviert ist, wird allen Prinzipalen in der Organisation, für die Sie die gemeinsame Nutzung nutzen, automatisch Zugriff auf die Ressourcenfreigaben gewährt. Es ist keine Einladung erforderlich und Sie können die gemeinsame Ressourcennutzung überspringen.
+ Wenn der API-Verbraucher die gemeinsame Ressourcennutzung nicht innerhalb von **12 Stunden** akzeptiert, muss der API-Anbieter die Ressource erneut teilen.
+ Nachdem Sie die Ressourcenfreigabe erstellt haben, AWS RAM aktualisiert sie den Service `managementPolicy` für den Amazon API Gateway Management Service für Ihren privaten benutzerdefinierten Domainnamen, um den Zugriff auf Prinzipale ohne expliziten `allow` Zugriff zu verhindern. Weitere Informationen finden Sie unter [Ermitteln, ob eine Anforderung innerhalb eines Kontos zugelassen oder verweigert wird](https://docs.aws.amazon.com//IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-denyallow) im IAM-Benutzerhandbuch.

  Die aktualisierte `managementPolicy` wird wie folgt aussehen:

------
#### [ 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 hat verhindert, dass Prinzipale ohne expliziten `allow` Zugriff Zugriffszuordnungen mit Ihrem privaten benutzerdefinierten Domainnamen erstellen können, indem Folgendes hinzugefügt wurde:

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

  Sie können weiterhin den Prinzipal in der Person verwenden AWS-Konto , die den privaten benutzerdefinierten Domänennamen erstellt hat, um Zugriffs-Zuordnungen für Domainnamen zu erstellen.

## Anderen Konten erlauben, Domainnamenzugriffszuweisungen mit Ihrem privaten benutzerdefinierten Domainnamen zu erstellen
<a name="apigateway-private-custom-domains-provider-management-policy-update"></a>

Zunächst gewähren Sie einer anderen Person Zugriff, AWS-Konto um Zugriffszuordnungen für Domainnamen mit Ihrem privaten benutzerdefinierten Domainnamen zu erstellen.

------
#### [ AWS-Managementkonsole ]

Informationen zur AWS-Managementkonsole Verwendung [von finden Sie unter Creating a Resource Share AWS RAM im AWS RAM](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-create.html) *Benutzerhandbuch*.

Wählen Sie unter **Ressourcentyp auswählen** die Option **Private benutzerdefinierte API-Gateway-Domains** aus.

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

Im Folgenden [create-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html)wird eine Ressourcenfreigabe für Ihren privaten benutzerdefinierten Domainnamen erstellt. Es kann einige Minuten dauern, bis die Ressourcen- und Prinzipal-Zuordnungen abgeschlossen ist. Geben Sie für Prinzipale eine Konto-ID oder eine Organisations-ID an (z. B. `arn:aws:organizations::123456789012:organization/o-1234abcd`). Sie können mehrere Prinzipale für Ihre Ressourcenfreigabe angeben.

```
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
```

------

Nachdem Sie einem anderen Zugriff gewährt haben AWS-Konto, müssen API-Verbraucher in diesem Konto eine Zuordnung für den Domainnamen-Zugriff zwischen ihrem VPC-Endpunkt und Ihrem privaten benutzerdefinierten Domainnamen erstellen. Diese Domainnamenzugriffszuweisung können Sie nicht für andere erstellen. Weitere Informationen finden Sie unter [Zuweisung Ihres VPC-Endpunkts zu einem mit Ihnen gemeinsam genutzten privaten benutzerdefinierten Domainnamen](apigateway-private-custom-domains-consumer-create.md#apigateway-private-custom-domains-consumer-associate).

## Anderen Konten Aufrufberechtigungen für Ihren privaten benutzerdefinierten Domainnamen gewähren
<a name="apigateway-private-custom-domains-provider-policy-update"></a>

Als Nächstes gewähren Sie dem VPC-Endpunkt des API-Verbrauchers Zugriff, um Ihren privaten benutzerdefinierten Domainnamen und alle ihm APIs zugewiesenen privaten Domainnamen aufzurufen.

------
#### [ AWS-Managementkonsole ]

**VPC-Endpunkten in anderen Konten Zugriff auf Ihren privaten benutzerdefinierten Domainnamen gewähren**

1. Melden Sie sich bei der API Gateway Gateway-Konsole unter [https://console.aws.amazon.com/apigatewayan](https://console.aws.amazon.com/apigateway).

1. Klicken Sie im Hauptnavigationsbereich auf **Benutzerdefinierte Domainnamen**.

1. Wählen Sie den privaten benutzerdefinierten Domainnamen, den Sie mit anderen geteilt haben. AWS-Konten

1. Klicken Sie auf der Registerkarte **Ressourcenrichtlinie** auf **Ressourcenrichtlinie bearbeiten**.

1. Fügen Sie die VPC-Endpunkt-ID des API-Verbrauchers zu Ihrer Ressourcenrichtlinie hinzu.

   Sie finden die VPC-Endpunkt-ID des API-Verbrauchers im Abschnitt **Domainnamenzugriffszuweisungen** auf der Registerkarte **Ressourcenfreigabe** auf der Seite mit den **Domaindetails** Ihres privaten benutzerdefinierten Domainnamens.

1. Klicken Sie auf **Änderungen speichern**.

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

Die folgende `policy` für den `execute-api`-Service ermöglicht eingehenden Datenverkehr zu einem privaten benutzerdefinierten Domainnamen vom VPC-Endpunkt `vpce-abcd1234efg` und `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"
                    ]
                }
            }
        }
    ]
}
```

Der folgende [update-domain-name](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-domain-name.html)Befehl verwendet einen Patch-Vorgang, um den `policy` für einen privaten benutzerdefinierten Domainnamen zu aktualisieren:

```
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\"]}}}]}"
```

------