

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.

# Zugriffskontrolle für eine API mit IAM-Berechtigungen
<a name="permissions"></a>

 Sie steuern den Zugriff auf Ihre Amazon API Gateway-API über [IAM-Berechtigungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_controlling.html), indem Sie den Zugriff auf die folgenden zwei API Gateway-Komponentenprozesse steuern: 
+  Um eine API in API Gateway zu erstellen, bereitzustellen und zu verwalten, müssen Sie dem API-Entwickler Berechtigungen zur Durchführung der erforderlichen Aktionen erteilen, die von der API-Verwaltungskomponente von API Gateway unterstützt werden. 
+  Zum Aufrufen einer bereitgestellten API oder zum Aktualisieren der API-Zwischenspeicherung benötigt der API-Aufrufer die Berechtigungen für die erforderlichen IAM-Aktionen, die von der API-Ausführungskomponente von Amazon API Gateway unterstützt werden. 

 Die Zugriffskontrolle für die beiden Prozesse umfasst verschiedene Berechtigungsmodelle, die nachstehend erläutert werden.

## API Gateway-Berechtigungsmodell für die Erstellung und Verwaltung einer API
<a name="api-gateway-control-access-iam-permissions-model-for-managing-api"></a>

 Wenn Sie einem API-Entwickler ermöglichen möchten, eine API in Amazon API Gateway zu erstellen und zu verwalten, müssen Sie [IAM-Berechtigungsrichtlinien erstellen](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html), die zulassen, dass ein bestimmter API-Entwickler die erforderlichen [API-Entitäten](https://docs.aws.amazon.com/apigateway/latest/api/API_Resource.html) erstellen, aktualisieren, bereitstellen, ansehen oder löschen darf. Sie fügen die Richtlinie an einen Benutzer, eine Rolle oder eine Gruppe an. 

Um Zugriff zu gewähren, fügen Sie Ihren Benutzern, Gruppen oder Rollen Berechtigungen hinzu:
+ Benutzer und Gruppen in AWS IAM Identity Center:

  Erstellen Sie einen Berechtigungssatz. Befolgen Sie die Anweisungen unter [Erstellen eines Berechtigungssatzes](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) im *AWS IAM Identity Center -Benutzerhandbuch*.
+ Benutzer, die in IAM über einen Identitätsanbieter verwaltet werden:

  Erstellen Sie eine Rolle für den Identitätsverbund. Befolgen Sie die Anleitung unter [Eine Rolle für einen externen Identitätsanbieter (Verbund) erstellen](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) im *IAM-Benutzerhandbuch*.
+ IAM-Benutzer:
  + Erstellen Sie eine Rolle, die Ihr Benutzer annehmen kann. Befolgen Sie die Anleitung unter [Eine Rolle für einen IAM-Benutzer erstellen](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) im *IAM-Benutzerhandbuch*.
  + (Nicht empfohlen) Weisen Sie einem Benutzer eine Richtlinie direkt zu oder fügen Sie einen Benutzer zu einer Benutzergruppe hinzu. Befolgen Sie die Anweisungen unter [Hinzufügen von Berechtigungen zu einem Benutzer (Konsole)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) im *IAM-Benutzerhandbuch*.

Weitere Informationen dazu, wie Sie dieses Berechtigungsmodell verwenden, finden Sie unter [Identitätsbasierte API-Gateway-Richtlinien](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies). 

## API Gateway-Berechtigungsmodell für den Aufruf einer API
<a name="api-gateway-control-access-iam-permissions-model-for-calling-api"></a>

Wenn Sie zulassen möchten, dass ein API-Aufrufer die API aufruft oder deren Cache aktualisiert, müssen Sie IAM-Richtlinien erstellen, die einen bestimmten API-Aufrufer die API-Methode aufrufen lassen, für die die Benutzerauthentifizierung aktiviert ist. Der API-Entwickler legt `authorizationType` als `AWS_IAM`-Eigenschaft der Methode fest, damit der Aufrufer gezwungen ist, für die Authentifizierung die Anmeldeinformationen des Benutzers zu übermitteln. API Gateway unterstützt Signature Version 4a (SigV4a) und Signature Version 4 (SigV4) zur Authentifizierung der Benutzeranmeldeinformationen. Weitere Informationen finden Sie unter [AWS Signature Version 4](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html). Anschließend verknüpfen Sie die Richtlinie mit einem Benutzer, einer Rolle oder einer Gruppe. 

In dieser IAM-Berechtigungsrichtlinienanweisung enthält das IAM-`Resource`-Element eine Liste mit bereitgestellten API-Methoden, die durch bestimmte HTTP-Verben und API Gateway-[Ressourcenpfade](https://docs.aws.amazon.com/apigateway/latest/api/API_Resource.html) identifiziert werden. Das IAM `Action`-Element enthält die erforderliche API Gateway-API, die Aktionen ausführt. Zu diesen Aktionen gehören `execute-api:Invoke` oder `execute-api:InvalidateCache`, wobei `execute-api` die zugrundeliegende API-Ausführungskomponente von API Gateway bezeichnet. 

Weitere Informationen dazu, wie Sie dieses Berechtigungsmodell verwenden, finden Sie unter [Kontrollieren des Zugriffs für den API-Aufruf](api-gateway-control-access-using-iam-policies-to-invoke-api.md). 

 Wenn eine API in einen AWS Dienst (z. B. AWS Lambda) im Backend integriert ist, muss API Gateway auch über Berechtigungen für den Zugriff auf integrierte AWS Ressourcen (z. B. das Aufrufen einer Lambda-Funktion) im Namen des API-Aufrufers verfügen. Um diese Berechtigungen zu erteilen, erstellen Sie eine IAM-Rolle vom Typ **AWS -Service für API Gateway**. Wenn Sie diese Rolle in der IAM-Managementkonsole erstellen, enthält sie die folgende IAM-Vertrauensrichtlinie. In dieser wird Amazon API Gateway als vertrauenswürdige Entity deklariert, der die Übernahme der Rolle gestattet ist: 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Service": "apigateway.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

Wenn Sie die IAM-Rolle durch Aufruf des Befehls [create-role](https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html) der CLI oder einer entsprechenden SDK-Methode erstellen, müssen Sie die oben beschriebene Vertrauensrichtlinie als Eingabeparameter von `assume-role-policy-document` bereitstellen. Versuchen Sie nicht, eine solche Richtlinie direkt in der IAM-Managementkonsole zu erstellen oder den Befehl AWS CLI [create-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/create-policy.html) oder eine entsprechende SDK-Methode aufzurufen.

Damit API Gateway den integrierten AWS Dienst aufrufen kann, müssen Sie dieser Rolle auch entsprechende IAM-Berechtigungsrichtlinien für den Aufruf integrierter AWS Dienste zuordnen. Um beispielsweise eine Lambda-Funktion aufrufen zu können, müssen Sie die folgende IAM-Berechtigungsrichtlinie in die IAM-Rolle einfügen: 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "lambda:InvokeFunction",
            "Resource": "*"
        }
    ]
}
```

------

Lambda unterstützt ressourcenbasierte Zugriffsrichtlinien und kombiniert somit Vertrauens- und Berechtigungsrichtlinien. Bei der Integration einer API mit einer Lambda-Funktion über die API Gateway-Konsole werden Sie nicht aufgefordert, diese IAM-Rolle explizit festzulegen, da die Konsole die ressourcenbasierten Berechtigungen für die Lambda-Funktion mit Ihrer Zustimmung für Sie festlegt. 

**Anmerkung**  
 Um die Zugriffskontrolle für einen AWS Dienst festzulegen, können Sie entweder das aufruferbasierte Berechtigungsmodell verwenden, bei dem eine Berechtigungsrichtlinie direkt an den Benutzer oder die Gruppe des Anrufers angehängt wird, oder das rollenbasierte Berechtigungsmodell, bei dem eine Berechtigungsrichtlinie an eine IAM-Rolle angehängt wird, die API Gateway übernehmen kann. Die Berechtigungsrichtlinien in den zwei Modellen können sich unterscheiden. Zum Beispiel kann die aufruferbasierte Richtlinie den Zugriff blockieren, während die rollenbasierte ihn zulässt. Sie können dies nutzen, um zu verlangen, dass ein Benutzer nur über eine API Gateway auf einen AWS Dienst zugreift. 

# Kontrollieren des Zugriffs für den API-Aufruf
<a name="api-gateway-control-access-using-iam-policies-to-invoke-api"></a>

In diesem Abschnitt erfahren Sie mehr über das Berechtigungsmodell für die Zugriffskontrolle Ihrer API mithilfe von IAM-Berechtigungen. Wenn die IAM-Autorisierung aktiviert ist, müssen Clients Signature Version 4a (SigV4a) und Signature Version 4 (Sigv4) verwenden, um ihre Anfragen mit Anmeldeinformationen zu signieren. AWS Weitere Informationen finden Sie unter [AWS Signature Version 4](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html).

In diesem Abschnitt finden Sie eine Vorlage einer IAM-Richtlinienanweisung sowie die Referenz zur Richtlinienanweisung. In der Richtlinienanweisungsreferenz sind die Formate der `Action`- und `Resource`-Felder für den API-Ausführungsservice enthalten. Mithilfe dieser Referenzen erstellen Sie Ihre IAM-Richtlinienanweisung. Bei der Erstellung Ihrer IAM-Richtlinienanweisung sollten Sie auch berücksichtigen, wie sich Ressourcenrichtlinien von API Gateway auf den Genehmigungsworkflow auswirken. Weitere Informationen finden Sie unter [So beeinflussen API Gateway-Ressourcenrichtlinien den Autorisierungs-Workflow](apigateway-authorization-flow.md).

Für private Zwecke APIs sollten Sie eine Kombination aus einer API-Gateway-Ressourcenrichtlinie und einer VPC-Endpunktrichtlinie verwenden. Weitere Informationen finden Sie unter den folgenden Themen:
+ [Zugriff auf eine REST-API mit API Gateway-Ressourcenrichtlinien steuern](apigateway-resource-policies.md)
+ [Verwenden Sie VPC-Endpunktrichtlinien für private Zwecke APIs in API Gateway](apigateway-vpc-endpoint-policies.md)

## Mit IAM-Richtlinien steuern, wer eine API Gateway-API-Methode aufrufen kann
<a name="api-gateway-who-can-invoke-an-api-method-using-iam-policies"></a>

 Um mit IAM-Berechtigungen zu steuern, wer eine bereitgestellte API aufrufen kann oder nicht, erstellen Sie ein IAM-Richtliniendokument mit den erforderlichen Berechtigungen. Eine Vorlage für ein solches Richtliniendokument sehen Sie im Folgenden. 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Permission",
      "Action": [
        "execute-api:Execution-operation"           
      ],
      "Resource": [
        "arn:aws:execute-api:region:123456789012:api-id/stage/METHOD_HTTP_VERB/Resource-path"
      ]
    }
  ]
}
```

------

 Hier muss `Permission` durch `Allow` oder `Deny` ersetzt werden, abhängig davon, ob Sie die enthaltenen Berechtigungen erteilen oder entziehen möchten.`Execution-operation` ist durch die vom API-Ausführungsdienst unterstützten Operationen zu ersetzen.`METHOD_HTTP_VERB` steht für ein HTTP-Verb, das von den angegebenen Ressourcen unterstützt wird. `Resource-path` ist der Platzhalter für den URL-Pfad einer bereitgestellten API-`[Resource](https://docs.aws.amazon.com/apigateway/latest/api/API_Resource.html)`-Instance, die das genannte `METHOD_HTTP_VERB` unterstützt. Weitere Informationen finden Sie unter [Anweisungsreferenz für IAM-Richtlinien zur Ausführung der API in API Gateway](#api-gateway-calling-api-permissions). 

**Anmerkung**  
Damit IAM-Richtlinien wirksam sind, müssen Sie die IAM-Authentifizierung bei API-Methoden aktiviert haben, indem Sie `AWS_IAM` für die Eigenschaft `[authorizationType](https://docs.aws.amazon.com/apigateway/latest/api/API_Method.html#authorizationType)` der Methoden festlegen. Andernfalls werden diese API-Methoden öffentlich zugänglich gemacht.

 Angenommen, Sie möchten einem Benutzer die Berechtigung erteilen, eine Liste mit Haustieren anzusehen, die von einer bestimmten API zur Verfügung gestellt wird. Der Benutzer darf der Liste aber kein Haustier hinzufügen. Für diesen Fall können Sie die folgende Anweisung in die IAM-Richtlinie einschließen: 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "execute-api:Invoke"           
      ],
      "Resource": [
        "arn:aws:execute-api:us-east-1:111111111111:api-id/*/GET/pets"
      ]
    },
    {
      "Effect": "Deny",
      "Action": [
        "execute-api:Invoke"           
      ],
      "Resource": [
        "arn:aws:execute-api:us-east-1:111111111111:api-id/*/POST/pets"
      ]
    }
  ]
}
```

------

Um einem Benutzer die Berechtigung zum Anzeigen eines bestimmten Haustiers zu erteilen, das von einer API zur Verfügung gestellt wird, die als `GET /pets/{petId}` konfiguriert ist, können Sie die folgende Anweisung in die IAM-Richtlinie einschließen:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "execute-api:Invoke"
            ],
            "Resource": [
                "arn:aws:execute-api:us-east-1:111122223333:api-id/*/GET/pets/a1b2"
            ]
        }
    ]
}
```

------

## Anweisungsreferenz für IAM-Richtlinien zur Ausführung der API in API Gateway
<a name="api-gateway-calling-api-permissions"></a>

Im Folgenden werden die "Action"- und "Resource"-Formate von IAM-Richtlinienanweisungen für Zugriffsberechtigungen zur Ausführung einer API beschrieben.

### Aktionsformat für Berechtigungen zur Ausführung der API in API Gateway
<a name="api-gateway-iam-policy-action-format-for-executing-api"></a>

Der `Action`-Ausdruck zur API-Ausführung weist das folgende allgemeine Format auf:

```
execute-api:action
```

wo *action* ist eine API-ausführende Aktion verfügbar:
+ **\$1**, repräsentiert alle der folgenden Aktionen.
+ **Invoke** – wird verwendet, um eine API für eine Client-Anforderung aufzurufen.
+ **InvalidateCache** – um den API-Cache für eine Client-Anforderung ungültig zu machen.

### Ressourcenformat für Berechtigungen zur Ausführung der API in API Gateway
<a name="api-gateway-iam-policy-resource-format-for-executing-api"></a>

Der `Resource`-Ausdruck zur API-Ausführung weist das folgende allgemeine Format auf:

```
arn:aws:execute-api:region:account-id:api-id/stage-name/HTTP-VERB/resource-path-specifier
```

Wobei:
+ *region*ist die AWS Region (z. B. **us-east-1** oder **\$1** für alle AWS Regionen), die der bereitgestellten API für die Methode entspricht.
+ *account-id*ist die 12-stellige AWS Konto-ID des REST-API-Besitzers. 
+ *api-id*ist der Identifier, den API Gateway der API für die Methode zugewiesen hat.
+ *stage-name*ist der Name der Phase, die der Methode zugeordnet ist.
+ *HTTP-VERB*ist das HTTP-Verb für die Methode. Es kann eines der folgenden Verben sein: GET, POST, PUT, DELETE, PATCH.
+ *resource-path-specifier*ist der Pfad zur gewünschten Methode.

**Anmerkung**  
Wenn Sie einen Platzhalter (`*`) angeben, wendet der `Resource`-Ausdruck den Platzhalter auf den Rest des Ausdrucks an.

Hier einige Ressourcenausdrücke als Beispiel:
+ **arn:aws:execute-api:\$1:\$1:\$1**für jeden Ressourcenpfad in jeder Phase, für jede API in jeder AWS Region.
+ **arn:aws:execute-api:us-east-1:\$1:\$1**für jeden Ressourcenpfad in jeder Phase, für jede API in der AWS Region von`us-east-1`.
+ **arn:aws:execute-api:us-east-1:\$1:*api-id*/\$1**für jeden Ressourcenpfad in jeder Phase, für die API mit der Kennung *api-id* in der AWS Region us-east-1.
+ **arn:aws:execute-api:us-east-1:\$1:*api-id*/`test`/\$1**für jeden Ressourcenpfad in der Phase von`test`, für die API mit der Kennung von *api-id* in der AWS Region us-east-1.

Weitere Informationen hierzu finden Sie unter [Referenz zu API Gateway Amazon-Ressourcenname (ARN)](arn-format-reference.md).

# IAM-Richtlinienbeispiele für API-Ausführungsberechtigungen
<a name="api-gateway-iam-policy-examples-for-api-execution"></a>

Weitere Informationen zu Berechtigungsmodellen und mehr Hintergrundwissen erhalten Sie unter [Kontrollieren des Zugriffs für den API-Aufruf](api-gateway-control-access-using-iam-policies-to-invoke-api.md).

Mit der folgenden Richtlinienanweisung erhält der Benutzer die Berechtigung zum Aufrufen jeder POST-Methode entlang dem Pfad von `mydemoresource` in der `test`-Stufe für die API mit der ID `a123456789`. Dabei wird vorausgesetzt, dass die entsprechende API in der AWS -Region us-east-1 bereitgestellt wurde:

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "execute-api:Invoke"
      ],
      "Resource": [
        "arn:aws:execute-api:us-east-1:*:a123456789/test/POST/my-demo-resource-path/*"
      ]
    }
  ]
}
```

------

Die folgende Beispielrichtlinienanweisung erteilt dem Benutzer die Berechtigung zum Aufrufen jeder Methode im Ressourcenpfad von `petstorewalkthrough/pets` in allen Stufen, für die API mit der ID `a123456789`, in jeder AWS -Region, in der die entsprechende API bereitgestellt wurde:

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "execute-api:Invoke"
      ],
      "Resource": [
        "arn:aws:execute-api:*:*:a123456789/*/*/petstorewalkthrough/pets"
      ]
    }
  ]
}
```

------