

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 über das API Gateway AWS CLI


Sie können einen privaten benutzerdefinierten Domainnamen mit dem API Gateway teilen AWS CLI, wir empfehlen jedoch, dies AWS RAM zu verwenden, um Ihren betrieblichen Aufwand zu reduzieren. Anweisungen dazu, wie Sie AWS RAM Ihren privaten benutzerdefinierten Domainnamen mit anderen teilen können, finden Sie unter[API-Anbieter: Teilen Sie Ihren privaten benutzerdefinierten Domainnamen mit AWS RAM](apigateway-private-custom-domains-provider-share.md).

Um einen privaten benutzerdefinierten Domainnamen mithilfe des API Gateway zu teilen AWS CLI, gewähren Sie anderen AWS-Konten Zugriff, um Domainnamen-Zugriffszuordnungen zu erstellen und Ihren privaten benutzerdefinierten Domainnamen aufzurufen. Hierzu aktualisieren Sie die`managementPolicy` für den API-Gateway-Management-Dienst und die `policy` für den `execute-api`-Dienst Ihres privaten benutzerdefinierten Domainnamens. Sie müssen in der Ressourcenrichtlinie auch Zugriff auf den VPC-Endpunkt des API-Verbrauchers für alle privaten Benutzer gewähren, die Ihrem privaten benutzerdefinierten Domainnamen APIs zugeordnet sind.

Der API-Verbraucher muss trotzdem eine Domainnamenzugriffszuweisung zwischen dem eigenen VPC-Endpunkt und Ihrem privaten benutzerdefinierten Domainnamen erstellen. Das können Sie nicht von Ihrer Seite aus tun.

## Zugriff auf Ihren privaten benutzerdefinierten Domainnamen gewähren


**So gewähren Sie Zugriff auf Ihren privaten benutzerdefinierten Domainnamen**

1. Erstellen Sie eine JSON-Datei mit dem Patch-Vorgang zur Aktualisierung der Richtlinie, um die `managementPolicy` für den API-Gateway-Management-Dienste zu aktualisieren. Im Folgenden wird die aktuelle Richtlinie durch eine Beispielrichtlinie `patch-managementPolicy.json` ersetzt, die AWS-Konten 111122223333 und 444455556666 Zugriff gewährt, um Domänennamen-Zugriffszuordnungen `managementPolicy` mit dem privaten benutzerdefinierten Domänennamen zu erstellen. `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-name](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-domain-name.html)Der `managementPolicy` folgende Befehl aktualisiert die Verwendung von. `patch-managementPolicy.json` 

   ```
   aws apigateway update-domain-name \
       --domain-name private.example.com \
       --domain-name-id abcd1234 \
       --patch-operations file://patch-managementPolicy.json
   ```

   Sobald Sie den Zugriff gewährt haben, müssen Sie den API-Verbraucher informieren, dass er die Domainnamenzugriffszuweisung erstellen kann. Wenn Sie verwenden AWS RAM, AWS RAM erledigt ich diesen Schritt für Sie.

1. Erstellen Sie eine JSON-Datei mit dem Patch-Vorgang zur Aktualisierung der Richtlinie, um die `policy` für den `execute-api`-Dienst zu aktualisieren. Die `patch-policy.json` ersetzt die aktuelle `policy` durch eine Beispielrichtlinie, die zwei VPC-Endpunkten das Aufrufen des privaten benutzerdefinierten Domainnamens `private.example.com` gewährt.

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

    Verwenden Sie den folgenden [update-domain-name](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-domain-name.html)Befehl, um die `policy` Verwendung zu aktualisieren`patch-policy.json`. 

   ```
   aws apigateway update-domain-name \
       --domain-name private.example.com \
       --domain-name-id abcd1234 \
       --patch-operations file://patch-policy.json
   ```

## Zugriff auf Ihren privaten benutzerdefinierten Domainnamen verweigern


Wenn Sie die Weitergabe Ihres privaten benutzerdefinierten Domainnamens beenden möchten, müssen Sie die Domainnamenzugriffszuweisungen zwischen Ihrem privaten benutzerdefinierten Domainnamen und dem VPC-Endpunkt des API-Verbrauchers zurückweisen.

**So lehnen Sie den Zugriff auf Ihren privaten benutzerdefinierten Domainnamen ab**

1. Der Befehl `reject-domain-name-access-association` weist die Domainnamenzugriffszuweisung ab.

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

1. Ändern Sie die Datei `patch-managementPolicy.json`, um den Zugriff für das Konto des API-Anbieters zu entfernen, damit keine Domainnamenzugriffszuweisung mit Ihrem privaten benutzerdefinierten Domainnamen erstellt werden kann. Die Datei `patch-managementPolicy.json` entfernt ein Konto aus der `managementPolicy`:

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

   Der folgende [update-domain-name](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-domain-name.html)Befehl aktualisiert die `managementPolicy` Verwendung`patch-managementPolicy.json`. 

   ```
   aws apigateway update-domain-name \
       --domain-name private.example.com \
       --domain-name-id abcd1234 \
       --patch-operations file://patch-managementPolicy.json
   ```

1. Bearbeiten Sie die Datei `patch-policy.json`, um den Zugriff für den VPC-Endpunkt des API-Anbieters zu entfernen und den Aufruf Ihres privaten benutzerdefinierten Domainnamens zu unterbinden. Die `patch-policy.json` entfernt die VPC-Endpunkt-ID aus der `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\"}}}]}"
   }]
   ```

   Der folgende [update-domain-name](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-domain-name.html)Befehl aktualisiert die `policy` Verwendung`patch-policy.json`. 

   ```
   aws apigateway update-domain-name \
       --domain-name private.example.com \
       --domain-name-id abcd1234 \
       --patch-operations file://patch-policy.json
   ```

## In diesem Verfahren verwendete Beispielrichtlinien


Im folgenden Abschnitt sehen Sie die Beispielrichtlinien, die im Verfahren oben verwendet wurden.

Die folgende Beispielrichtlinie bezieht sich auf die `managementPolicy` des Amazon-API-Gateway-Management-Dienstes. Diese Richtlinie gewährt AWS-Konten 111122223333 und 444455556666 Zugriff zum Erstellen von Domänennamenzugriffszuordnungen mit dem privaten benutzerdefinierten Domänennamen. `private.example.com` 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "111122223333",
                    "444455556666"
                ]
            },
            "Action": "apigateway:CreateAccessAssociation",
            "Resource": "arn:aws:apigateway:us-west-2:111122223333:/domainnames/private.example.com+a1b2c3"
        }
    ]
}
```

------

Die folgende Beispielrichtlinie ist die Richtlinie für die `policy` des `execute-api`-Dienstes. Diese Richtlinie gewährt den VPC-Endpunkten `vpce-abcd1234` und `vpce-xyzz0000` Zugriff zum Aufrufen des privaten benutzerdefinierten Domainnamens.

------
#### [ JSON ]

****  

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

------