

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.

# Identitäts- und Zugriffsverwaltung für Amazon API Gateway
<a name="security-iam"></a>

AWS Identity and Access Management (IAM) hilft einem Administrator AWS-Service , den Zugriff auf AWS Ressourcen sicher zu kontrollieren. IAM-Administratoren steuern, wer *authentifiziert* werden kann (d. h. wer sich anmelden kann) und wer *autorisiert* werden kann (d. h. wer Berechtigungen erhalten kann), um API Gateway-Ressourcen zu nutzen. IAM ist ein Programm AWS-Service , das Sie ohne zusätzliche Kosten nutzen können.

**Topics**
+ [Zielgruppe](#security_iam_audience)
+ [Authentifizierung mit Identitäten](#security_iam_authentication)
+ [Verwalten des Zugriffs mit Richtlinien](#security_iam_access-manage)
+ [Funktionsweise von Amazon API Gateway mit IAM](security_iam_service-with-iam.md)
+ [Beispiele für identitätsbasierte Amazon API Gateway-Richtlinien](security_iam_id-based-policy-examples.md)
+ [Beispiele für ressourcenbasierte Richtlinien für Amazon API Gateway](security_iam_resource-based-policy-examples.md)
+ [Fehlerbehebung bei Amazon API Gateway-Identität und -Zugriff](security_iam_troubleshoot.md)
+ [Verwenden von serviceverknüpften Rollen für API Gateway](using-service-linked-roles.md)

## Zielgruppe
<a name="security_iam_audience"></a>

Wie Sie AWS Identity and Access Management (IAM) verwenden, hängt von Ihrer Rolle ab:
+ **Servicebenutzer** – Fordern Sie von Ihrem Administrator Berechtigungen an, wenn Sie nicht auf Features zugreifen können (siehe [Fehlerbehebung bei Amazon API Gateway-Identität und -Zugriff](security_iam_troubleshoot.md)).
+ **Serviceadministrator** – Bestimmen Sie den Benutzerzugriff und stellen Sie Berechtigungsanfragen (siehe [Funktionsweise von Amazon API Gateway mit IAM](security_iam_service-with-iam.md)).
+ **IAM-Administrator** – Schreiben Sie Richtlinien zur Zugriffsverwaltung (siehe [Beispiele für identitätsbasierte Amazon API Gateway-Richtlinien](security_iam_id-based-policy-examples.md)).

## Authentifizierung mit Identitäten
<a name="security_iam_authentication"></a>

Authentifizierung ist die Art und Weise, wie Sie sich AWS mit Ihren Identitätsdaten anmelden. Sie müssen sich als IAM-Benutzer authentifizieren oder eine IAM-Rolle annehmen. Root-Benutzer des AWS-Kontos

Sie können sich als föderierte Identität anmelden, indem Sie Anmeldeinformationen aus einer Identitätsquelle wie AWS IAM Identity Center (IAM Identity Center), Single Sign-On-Authentifizierung oder Anmeldeinformationen verwenden. Google/Facebook Weitere Informationen zum Anmelden finden Sie unter [So melden Sie sich bei Ihrem AWS-Konto an](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) im *Benutzerhandbuch für AWS-Anmeldung *.

 AWS Bietet für den programmatischen Zugriff ein SDK und eine CLI zum kryptografischen Signieren von Anfragen. Weitere Informationen finden Sie unter [AWS Signature Version 4 for API requests](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) im *IAM-Benutzerhandbuch*.

### AWS-Konto Root-Benutzer
<a name="security_iam_authentication-rootuser"></a>

 Wenn Sie einen erstellen AWS-Konto, beginnen Sie mit einer Anmeldeidentität, dem sogenannten AWS-Konto *Root-Benutzer*, der vollständigen Zugriff auf alle AWS-Services Ressourcen hat. Wir raten ausdrücklich davon ab, den Root-Benutzer für Alltagsaufgaben zu verwenden. Eine Liste der Aufgaben, für die Sie sich als Root-Benutzer anmelden müssen, finden Sie unter [Tasks that require root user credentials](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks) im *IAM-Benutzerhandbuch*. 

### IAM-Benutzer und -Gruppen
<a name="security_iam_authentication-iamuser"></a>

Ein *[IAM-Benutzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)* ist eine Identität mit bestimmten Berechtigungen für eine einzelne Person oder Anwendung. Wir empfehlen die Verwendung temporärer Anmeldeinformationen anstelle von IAM-Benutzern mit langfristigen Anmeldeinformationen. Weitere Informationen finden Sie im *IAM-Benutzerhandbuch* unter [Erfordern, dass menschliche Benutzer für den Zugriff AWS mithilfe temporärer Anmeldeinformationen einen Verbund mit einem Identitätsanbieter](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) verwenden müssen.

Eine [https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) spezifiziert eine Sammlung von IAM-Benutzern und erleichtert die Verwaltung von Berechtigungen für große Gruppen von Benutzern. Weitere Informationen finden Sie unter [Anwendungsfälle für IAM-Benutzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html) im *IAM-Benutzerhandbuch*.

### IAM-Rollen
<a name="security_iam_authentication-iamrole"></a>

Eine *[IAM-Rolle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)* ist eine Identität mit spezifischen Berechtigungen, die temporäre Anmeldeinformationen bereitstellt. Sie können eine Rolle übernehmen, indem Sie [von einer Benutzer- zu einer IAM-Rolle (Konsole) wechseln](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) oder indem Sie eine AWS Oder-API-Operation AWS CLI aufrufen. Weitere Informationen finden Sie unter [Methoden, um eine Rolle zu übernehmen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) im *IAM-Benutzerhandbuch*.

IAM-Rollen sind nützlich für den Verbundbenutzer-Zugriff, temporäre IAM-Benutzerberechtigungen, kontoübergreifenden Zugriff, serviceübergreifenden Zugriff und Anwendungen, die auf Amazon EC2 laufen. Weitere Informationen finden Sie unter [Kontoübergreifender Ressourcenzugriff in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) im *IAM-Benutzerhandbuch*.

## Verwalten des Zugriffs mit Richtlinien
<a name="security_iam_access-manage"></a>

Sie kontrollieren den Zugriff, AWS indem Sie Richtlinien erstellen und diese an AWS Identitäten oder Ressourcen anhängen. Eine Richtlinie definiert Berechtigungen, wenn sie mit einer Identität oder Ressource verknüpft sind. AWS bewertet diese Richtlinien, wenn ein Principal eine Anfrage stellt. Die meisten Richtlinien werden AWS als JSON-Dokumente gespeichert. Weitere Informationen zu JSON-Richtliniendokumenten finden Sie unter [Übersicht über JSON-Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json) im *IAM-Benutzerhandbuch*.

Mit Hilfe von Richtlinien legen Administratoren fest, wer Zugriff auf was hat, indem sie definieren, welches **Prinzipal** welche **Aktionen** auf welchen **Ressourcen**und unter welchen **Bedingungen**durchführen darf.

Standardmäßig haben Benutzer, Gruppen und Rollen keine Berechtigungen. Ein IAM-Administrator erstellt IAM-Richtlinien und fügt sie zu Rollen hinzu, die die Benutzer dann übernehmen können. IAM-Richtlinien definieren Berechtigungen unabhängig von der Methode, die zur Ausführung der Operation verwendet wird.

### Identitätsbasierte Richtlinien
<a name="security_iam_access-manage-id-based-policies"></a>

Identitätsbasierte Richtlinien sind JSON-Berechtigungsrichtliniendokumente, die Sie einer Identität (Benutzer, Gruppe oder Rolle) anfügen können. Diese Richtlinien steuern, welche Aktionen Identitäten für welche Ressourcen und unter welchen Bedingungen ausführen können. Informationen zum Erstellen identitätsbasierter Richtlinien finden Sie unter [Definieren benutzerdefinierter IAM-Berechtigungen mit vom Kunden verwalteten Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) im *IAM-Benutzerhandbuch*.

Identitätsbasierte Richtlinien können *Inline-Richtlinien* (direkt in eine einzelne Identität eingebettet) oder *verwaltete Richtlinien* (eigenständige Richtlinien, die mit mehreren Identitäten verbunden sind) sein. Informationen dazu, wie Sie zwischen verwalteten und Inline-Richtlinien wählen, finden Sie unter [Choose between managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html) im *IAM-Benutzerhandbuch*.

### Ressourcenbasierte Richtlinien
<a name="security_iam_access-manage-resource-based-policies"></a>

Ressourcenbasierte Richtlinien sind JSON-Richtliniendokumente, die Sie an eine Ressource anfügen. Beispiele hierfür sind *Vertrauensrichtlinien für IAM-Rollen* und Amazon S3*-Bucket-Richtlinien*. In Services, die ressourcenbasierte Richtlinien unterstützen, können Service-Administratoren sie verwenden, um den Zugriff auf eine bestimmte Ressource zu steuern. Sie müssen in einer ressourcenbasierten Richtlinie [einen Prinzipal angeben](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html).

Ressourcenbasierte Richtlinien sind Richtlinien innerhalb dieses Diensts. Sie können AWS verwaltete Richtlinien von IAM nicht in einer ressourcenbasierten Richtlinie verwenden.

### Zugriffskontrolllisten () ACLs
<a name="security_iam_access-manage-acl"></a>

Zugriffskontrolllisten (ACLs) steuern, welche Principals (Kontomitglieder, Benutzer oder Rollen) über Zugriffsberechtigungen für eine Ressource verfügen. ACLs ähneln ressourcenbasierten Richtlinien, verwenden jedoch nicht das JSON-Richtliniendokumentformat.

Amazon S3 und Amazon VPC sind Beispiele für Dienste, die Unterstützung ACLs bieten. AWS WAF Weitere Informationen finden Sie unter [Übersicht über ACLs die Zugriffskontrollliste (ACL)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html) im *Amazon Simple Storage Service Developer Guide*.

### Weitere Richtlinientypen
<a name="security_iam_access-manage-other-policies"></a>

AWS unterstützt zusätzliche Richtlinientypen, mit denen die maximalen Berechtigungen festgelegt werden können, die durch gängigere Richtlinientypen gewährt werden:
+ **Berechtigungsgrenzen** – Eine Berechtigungsgrenze legt die maximalen Berechtigungen fest, die eine identitätsbasierte Richtlinie einer IAM-Entität erteilen kann. Weitere Informationen finden Sie unter [Berechtigungsgrenzen für IAM-Entitäten](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) im *-IAM-Benutzerhandbuch*.
+ **Richtlinien zur Dienstkontrolle (SCPs)** — Geben Sie die maximalen Berechtigungen für eine Organisation oder Organisationseinheit in an AWS Organizations. Weitere Informationen finden Sie unter [Service-Kontrollrichtlinien](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) im *AWS Organizations -Benutzerhandbuch*.
+ **Richtlinien zur Ressourcenkontrolle (RCPs)** — Legen Sie die maximal verfügbaren Berechtigungen für Ressourcen in Ihren Konten fest. Weitere Informationen finden Sie im *AWS Organizations Benutzerhandbuch* unter [Richtlinien zur Ressourcenkontrolle (RCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html).
+ **Sitzungsrichtlinien** – Sitzungsrichtlinien sind erweiterte Richtlinien, die als Parameter übergeben werden, wenn Sie eine temporäre Sitzung für eine Rolle oder einen Verbundbenutzer erstellen. Weitere Informationen finden Sie unter [Sitzungsrichtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) im *IAM-Benutzerhandbuch*.

### Mehrere Richtlinientypen
<a name="security_iam_access-manage-multiple-policies"></a>

Wenn für eine Anfrage mehrere Arten von Richtlinien gelten, sind die sich daraus ergebenden Berechtigungen schwieriger zu verstehen. Informationen darüber, wie AWS bestimmt wird, ob eine Anfrage zulässig ist, wenn mehrere Richtlinientypen betroffen sind, finden Sie unter [Bewertungslogik für Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) im *IAM-Benutzerhandbuch*.

# Funktionsweise von Amazon API Gateway mit IAM
<a name="security_iam_service-with-iam"></a>

Bevor Sie mit IAM den Zugriff auf API Gateway verwalten können, sollten Sie sich darüber informieren, welche IAM-Funktionen Sie mit API Gateway verwenden können. Einen allgemeinen Überblick darüber, wie API Gateway und andere AWS Dienste mit IAM funktionieren, finden Sie unter [AWS Services That Work with IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) im *IAM-Benutzerhandbuch*.

**Topics**
+ [Identitätsbasierte API-Gateway-Richtlinien](#security_iam_service-with-iam-id-based-policies)
+ [Ressourcenbasierte API Gateway-Richtlinien](#security_iam_service-with-iam-resource-based-policies)
+ [Autorisierung basierend auf API Gateway-Tags](#security_iam_service-with-iam-tags)
+ [API Gateway-IAM-Rollen](#security_iam_service-with-iam-roles)

## Identitätsbasierte API-Gateway-Richtlinien
<a name="security_iam_service-with-iam-id-based-policies"></a>

Mit identitätsbasierten IAM-Richtlinien können Sie angeben, welche Aktionen und Ressourcen zugelassen oder abgelehnt werden. Darüber hinaus können Sie die Bedingungen festlegen, unter denen Aktionen zugelassen oder abgelehnt werden. API Gateway unterstützt bestimmte Aktionen, Ressourcen und Bedingungsschlüssel. Weitere Informationen zu den API-Gateway-spezifischen Aktionen, Ressourcen und Bedingungsschlüsseln finden Sie im Abschnitt [Aktionen, Ressourcen und Bedingungsschlüssel für Amazon-API-Gateway-Management](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonapigatewaymanagement.html) und [Aktionen, Ressourcen und Bedingungsschlüssel für Amazon-API-Gateway-Management V2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonapigatewaymanagementv2.html). Informationen zu allen Elementen, die Sie in einer JSON-Richtlinie verwenden, finden Sie in der [IAM-Referenz für JSON-Richtlinienelemente](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) im *IAM-Benutzerhandbuch*.

Das folgende Beispiel zeigt eine identitätsbasierte Richtlinie, die es einem Benutzer ermöglicht, nur private REST zu erstellen oder zu aktualisieren. APIs Weitere Beispiele finden Sie unter [Beispiele für identitätsbasierte Amazon API Gateway-Richtlinien](security_iam_id-based-policy-examples.md).

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "ScopeToPrivateApis",
      "Effect": "Allow",
      "Action": [
        "apigateway:PATCH",
        "apigateway:POST",
        "apigateway:PUT"
      ],
      "Resource": [
        "arn:aws:apigateway:us-east-1::/restapis",
        "arn:aws:apigateway:us-east-1::/restapis/??????????"
      ],
      "Condition": {
        "ForAllValues:StringEqualsIfExists": {
          "apigateway:Request/EndpointType": "PRIVATE",
          "apigateway:Resource/EndpointType": "PRIVATE"
        }
      }
    },
    {
      "Sid": "AllowResourcePolicyUpdates",
      "Effect": "Allow",
      "Action": [
          "apigateway:UpdateRestApiPolicy"
      ],
      "Resource": [
          "arn:aws:apigateway:us-east-1::/restapis/*"
      ]
    }
  ]
}
```

------

### Aktionen
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

Das Element `Action` einer JSON-Richtlinie beschreibt die Aktionen, mit denen Sie in einer Richtlinie den Zugriff erlauben oder verweigern können.

Richtlinienaktionen in API Gateway verwenden das folgende Präfix vor der Aktion: `apigateway:`. Richtlinienanweisungen müssen entweder ein `Action`- oder ein `NotAction`-Element enthalten. API Gateway definiert eine eigene Gruppe von Aktionen, die Aufgaben beschreiben, die Sie mit diesem Service durchführen können.



Der `Action` API-Verwaltungsausdruck hat das Format`apigateway:action`, in dem eine der folgenden API-Gateway-Aktionen *action* steht: **GET**, **POST**, **PUT**, **DELETE**, **PATCH** (um Ressourcen zu aktualisieren) oder **\$1**, was alle vorherigen Aktionen sind.

Einige Beispiele für den `Action`-Ausdruck sind:
+ **apigateway:\$1** für alle API Gateway-Aktionen.
+ **apigateway:GET** nur für die GET-Aktion in API Gateway.

Um mehrere Aktionen in einer einzigen Anweisung anzugeben, trennen Sie sie wie folgt durch Kommata:

```
"Action": [
      "apigateway:action1",
      "apigateway:action2"
```

Informationen zu HTTP-Verben, die für bestimmte API Gateway-Operationen verwendet werden können, finden Sie unter [Amazon API Gateway Version 1 API-Referenz](https://docs.aws.amazon.com/apigateway/api-reference/) (REST APIs) und [Amazon API Gateway Version 2 API-Referenz](https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/api-reference.html) (WebSocket und HTTP APIs).

Weitere Informationen finden Sie unter [Beispiele für identitätsbasierte Amazon API Gateway-Richtlinien](security_iam_id-based-policy-examples.md).

### Ressourcen
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

Administratoren können mithilfe von AWS JSON-Richtlinien angeben, wer Zugriff auf was hat. Das heißt, welcher **Prinzipal** **Aktionen** für welche **Ressourcen** und unter welchen **Bedingungen** ausführen kann.

Das JSON-Richtlinienelement `Resource` gibt die Objekte an, auf welche die Aktion angewendet wird. Als Best Practice geben Sie eine Ressource mit dem zugehörigen [Amazon-Ressourcennamen (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) an. Verwenden Sie für Aktionen, die keine Berechtigungen auf Ressourcenebene unterstützen, einen Platzhalter (\$1), um anzugeben, dass die Anweisung für alle Ressourcen gilt.

```
"Resource": "*"
```



API Gateway-Ressourcen verfügen über das folgende ARN-Format:

```
arn:aws:apigateway:region::resource-path-specifier
```

Um beispielsweise eine REST-API mit der ID *`api-id`* und ihren Unterressourcen, wie Autorisierern in Ihrer Anweisung, anzugeben, verwenden Sie den folgenden ARN:

```
"Resource": "arn:aws:apigateway:us-east-2::/restapis/api-id/*"
```

Um alle REST APIs - und Unterressourcen anzugeben, die zu einem bestimmten Konto gehören, verwenden Sie den Platzhalter (\$1):

```
"Resource": "arn:aws:apigateway:us-east-2::/restapis/*"
```

Eine Liste der API-Gateway-Ressourcentypen und ihrer ARNs Typen finden Sie unter[Referenz zu API Gateway Amazon-Ressourcenname (ARN)](arn-format-reference.md). 

### Bedingungsschlüssel
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

Administratoren können mithilfe von AWS JSON-Richtlinien angeben, wer Zugriff auf was hat. Das heißt, welcher **Prinzipal** **Aktionen** für welche **Ressourcen** und unter welchen **Bedingungen** ausführen kann.

Das Element `Condition` gibt an, wann Anweisungen auf der Grundlage definierter Kriterien ausgeführt werden. Sie können bedingte Ausdrücke erstellen, die [Bedingungsoperatoren](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html) verwenden, z. B. ist gleich oder kleiner als, damit die Bedingung in der Richtlinie mit Werten in der Anforderung übereinstimmt. Eine Übersicht aller AWS globalen Bedingungsschlüssel finden Sie unter [Kontextschlüssel für AWS globale Bedingungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) im *IAM-Benutzerhandbuch*.

API Gateway definiert einen eigenen Satz von Bedingungsschlüsseln und unterstützt auch einige globale Bedingungsschlüssel. Eine Liste der API Gateway-Bedingungsschlüssel finden Sie unter [Bedingungsschlüssel für Amazon API Gateway](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_manageamazonapigateway.html#manageamazonapigateway-policy-keys) im *IAM-Benutzerhandbuch*. Informationen zu den Aktionen und Ressourcen, die Sie mit einem Bedingungsschlüssel verwenden können, finden Sie unter [Von Amazon API Gateway definierte Aktionen](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_manageamazonapigateway.html#amazonapigateway-actions-as-permissions).

Informationen zur Markierung, einschließlich attributbasierter Zugriffskontrolle, finden Sie unter [API Gateway-Ressourcen taggen](apigateway-tagging.md).

### Beispiele
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



Beispiele für identitätsbasierte API Gateway-Richtlinien finden Sie unter [Beispiele für identitätsbasierte Amazon API Gateway-Richtlinien](security_iam_id-based-policy-examples.md).

## Ressourcenbasierte API Gateway-Richtlinien
<a name="security_iam_service-with-iam-resource-based-policies"></a>

Ressourcenbasierte Richtlinien sind JSON-Richtliniendokumente, die angeben, welche Aktionen ein bestimmter Prinzipal unter welchen Bedingungen für die API Gateway-Ressource ausführen kann. API Gateway unterstützt ressourcenbasierte Berechtigungsrichtlinien für REST. APIs Sie verwenden Ressourcenrichtlinien, um zu steuern, wer eine REST-API aufrufen kann. Weitere Informationen finden Sie unter [Zugriff auf eine REST-API mit API Gateway-Ressourcenrichtlinien steuern](apigateway-resource-policies.md). 

### Beispiele
<a name="security_iam_service-with-iam-resource-based-policies-examples"></a>

Beispiele für ressourcenbasierte API Gateway-Richtlinien finden Sie unter [Beispiele für API Gateway-Ressourcenrichtlinien](apigateway-resource-policies-examples.md).

## Autorisierung basierend auf API Gateway-Tags
<a name="security_iam_service-with-iam-tags"></a>

Sie können Tags an API Gateway-Ressourcen anfügen oder Tags in einer Anforderung an API Gateway übergeben. Um den Zugriff basierend auf Tags zu steuern, stellen Sie Tag-Informationen im [Bedingungselement](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) einer Richtlinie unter Verwendung der Bedingungsschlüssel `apigateway:ResourceTag/key-name`, `aws:RequestTag/key-name` oder `aws:TagKeys` bereit. Weitere Informationen über das Markieren mit Tags von API Gateway-Ressourcen finden Sie unter [Tags zur Steuerung des Zugriffs auf API Gateway-REST-API-Ressourcen verwenden](apigateway-tagging-iam-policy.md).

Beispiele für identitätsbasierte Richtlinien zur Einschränkung des Zugriffs auf eine Ressource auf der Grundlage der Tags dieser Ressource finden Sie unter [Tags zur Steuerung des Zugriffs auf API Gateway-REST-API-Ressourcen verwenden](apigateway-tagging-iam-policy.md).

## API Gateway-IAM-Rollen
<a name="security_iam_service-with-iam-roles"></a>

Eine [IAM-Rolle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) ist eine Entität innerhalb Ihres AWS Kontos, die über bestimmte Berechtigungen verfügt.

### Verwenden temporärer Anmeldeinformationen mit API Gateway
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

Sie können temporäre Anmeldeinformationen verwenden, um sich über einen Verbund anzumelden, eine IAM-Rolle anzunehmen oder eine kontenübergreifende Rolle anzunehmen. Sie erhalten temporäre Sicherheitsanmeldedaten, indem Sie AWS STS API-Operationen wie [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)oder [GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html)aufrufen. 

API Gateway unterstützt die Verwendung temporärer Anmeldeinformationen. 

### Service-verknüpfte Rollen
<a name="security_iam_service-with-iam-roles-service-linked"></a>

Mit [dienstbezogenen Rollen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) können AWS Dienste auf Ressourcen in anderen Diensten zugreifen, um eine Aktion in Ihrem Namen auszuführen. Serviceverknüpfte Rollen werden in Ihrem IAM-Konto angezeigt und gehören zum Service. Ein IAM-Administrator kann die Berechtigungen für serviceverknüpfte Rollen anzeigen, aber nicht bearbeiten.

API Gateway unterstützt serviceverknüpfte Rollen. Informationen zum Erstellen oder Verwalten von serviceverknüpften API Gateway-Rollen finden Sie unter [Verwenden von serviceverknüpften Rollen für API Gateway](using-service-linked-roles.md).

### Servicerollen
<a name="security_iam_service-with-iam-roles-service"></a>

Ein Service kann in Ihrem Namen eine [Service-Rolle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role) annehmen. Eine Service-Rolle gewährt dem Service Zugriff auf Ressourcen in anderen Services, um eine Aktion in Ihrem Namen auszuführen. Service-Rollen werden in Ihrem IAM-Konto angezeigt und gehören dem Konto, sodass ein Administrator die Berechtigungen für diese Rolle ändern kann. Dies kann jedoch die Funktionalität des Dienstes beeinträchtigen.

API Gateway unterstützt Servicerollen. 

# Beispiele für identitätsbasierte Amazon API Gateway-Richtlinien
<a name="security_iam_id-based-policy-examples"></a>

Standardmäßig verfügen IAM-Benutzer und -Rollen nicht über die Berechtigung zum Erstellen oder Ändern von API Gateway-Ressourcen. Sie können auch keine Aufgaben mit dem AWS-Managementkonsole AWS CLI, oder AWS SDKs ausführen. Ein IAM-Administrator muss IAM-Richtlinien erstellen, die Benutzern und Rollen die Berechtigung zum Ausführen bestimmter API-Operationen für die angegebenen Ressourcen gewähren, die diese benötigen. Der Administrator muss diese Richtlinien anschließend den IAM-Benutzern oder -Gruppen anfügen, die diese Berechtigungen benötigen.

Informationen zum Erstellen von IAM-Richtlinien finden Sie unter [Erstellen von Richtlinien im JSON-Reiter](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor) im *IAM-Benutzerhandbuch*. Weitere Informationen zu den Aktionen, Ressourcen und Bedingungen, die für API Gateway spezifisch sind, finden Sie im Abschnitt [Aktionen, Ressourcen und Bedingungsschlüssel für Amazon-API-Gateway-Management](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonapigatewaymanagement.html) und [Aktionen, Ressourcen und Bedingungsschlüssel für Amazon-API-Gateway-Management V2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonapigatewaymanagementv2.html).

**Topics**
+ [Best Practices für Richtlinien](#security_iam_service-with-iam-policy-best-practices)
+ [Gewähren der Berechtigung zur Anzeige der eigenen Berechtigungen für Benutzer](#security_iam_id-based-policy-examples-view-own-permissions)
+ [Einfache Leseberechtigungen](#api-gateway-policy-example-apigateway-general)
+ [Nur REQUEST- oder JWT-Autorisierer erstellen](#security_iam_id-based-policy-examples-v2-import)
+ [Erfordern, dass der `execute-api`-Standard-Endpunkt deaktiviert ist](#security_iam_id-based-policy-examples-v2-endpoint-status)
+ [Erlauben Sie Benutzern, nur private REST-Dateien zu erstellen oder zu aktualisieren APIs](#security_iam_id-based-policy-examples-private-api)
+ [Erfordern, dass API-Routen Autorisierung haben](#security_iam_id-based-policy-examples-require-authorization)
+ [Verhindern Sie, dass ein Benutzer einen VPC-Link erstellt oder aktualisiert](#security_iam_id-based-policy-examples-deny-vpc-link)
+ [Beispielrichtlinien für die Verwendung von Routing-Regeln](#security_iam_id-based-policy-examples-routing-mode)

## Best Practices für Richtlinien
<a name="security_iam_service-with-iam-policy-best-practices"></a>

Identitätsbasierte Richtlinien können festlegen, ob jemand API-Gateway-Ressourcen in Ihrem Konto erstellen, darauf zugreifen oder daraus löschen kann. Dies kann zusätzliche Kosten für Ihr verursachen AWS-Konto. Beachten Sie beim Erstellen oder Bearbeiten identitätsbasierter Richtlinien die folgenden Richtlinien und Empfehlungen:
+ **Erste Schritte mit AWS verwalteten Richtlinien und Umstellung auf Berechtigungen mit den geringsten Rechten** — Verwenden Sie die *AWS verwalteten Richtlinien*, die Berechtigungen für viele gängige Anwendungsfälle gewähren, um damit zu beginnen, Ihren Benutzern und Workloads Berechtigungen zu gewähren. Sie sind in Ihrem verfügbar. AWS-Konto Wir empfehlen Ihnen, die Berechtigungen weiter zu reduzieren, indem Sie vom AWS Kunden verwaltete Richtlinien definieren, die speziell auf Ihre Anwendungsfälle zugeschnitten sind. Weitere Informationen finden Sie unter [Von AWS verwaltete Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) oder [Von AWS verwaltete Richtlinien für Auftragsfunktionen](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) im *IAM-Benutzerhandbuch*.
+ **Anwendung von Berechtigungen mit den geringsten Rechten** – Wenn Sie mit IAM-Richtlinien Berechtigungen festlegen, gewähren Sie nur die Berechtigungen, die für die Durchführung einer Aufgabe erforderlich sind. Sie tun dies, indem Sie die Aktionen definieren, die für bestimmte Ressourcen unter bestimmten Bedingungen durchgeführt werden können, auch bekannt als *die geringsten Berechtigungen*. Weitere Informationen zur Verwendung von IAM zum Anwenden von Berechtigungen finden Sie unter [ Richtlinien und Berechtigungen in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) im *IAM-Benutzerhandbuch*.
+ **Verwenden von Bedingungen in IAM-Richtlinien zur weiteren Einschränkung des Zugriffs** – Sie können Ihren Richtlinien eine Bedingung hinzufügen, um den Zugriff auf Aktionen und Ressourcen zu beschränken. Sie können beispielsweise eine Richtlinienbedingung schreiben, um festzulegen, dass alle Anforderungen mithilfe von SSL gesendet werden müssen. Sie können auch Bedingungen verwenden, um Zugriff auf Serviceaktionen zu gewähren, wenn diese für einen bestimmten Zweck verwendet werden AWS-Service, z. CloudFormation B. Weitere Informationen finden Sie unter [IAM-JSON-Richtlinienelemente: Bedingung](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) im *IAM-Benutzerhandbuch*.
+ **Verwenden von IAM Access Analyzer zur Validierung Ihrer IAM-Richtlinien, um sichere und funktionale Berechtigungen zu gewährleisten** – IAM Access Analyzer validiert neue und vorhandene Richtlinien, damit die Richtlinien der IAM-Richtliniensprache (JSON) und den bewährten IAM-Methoden entsprechen. IAM Access Analyzer stellt mehr als 100 Richtlinienprüfungen und umsetzbare Empfehlungen zur Verfügung, damit Sie sichere und funktionale Richtlinien erstellen können. Weitere Informationen finden Sie unter [Richtlinienvalidierung mit IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) im *IAM-Benutzerhandbuch*.
+ **Multi-Faktor-Authentifizierung (MFA) erforderlich** — Wenn Sie ein Szenario haben, das IAM-Benutzer oder einen Root-Benutzer in Ihrem System erfordert AWS-Konto, aktivieren Sie MFA für zusätzliche Sicherheit. Um MFA beim Aufrufen von API-Vorgängen anzufordern, fügen Sie Ihren Richtlinien MFA-Bedingungen hinzu. Weitere Informationen finden Sie unter [Sicherer API-Zugriff mit MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) im *IAM-Benutzerhandbuch*.

Weitere Informationen zu bewährten Methoden in IAM finden Sie unter [Best Practices für die Sicherheit in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) im *IAM-Benutzerhandbuch*.

## Gewähren der Berechtigung zur Anzeige der eigenen Berechtigungen für Benutzer
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

In diesem Beispiel wird gezeigt, wie Sie eine Richtlinie erstellen, die IAM-Benutzern die Berechtigung zum Anzeigen der eingebundenen Richtlinien und verwalteten Richtlinien gewährt, die ihrer Benutzeridentität angefügt sind. Diese Richtlinie umfasst Berechtigungen zum Ausführen dieser Aktion auf der Konsole oder programmgesteuert mithilfe der API oder. AWS CLI AWS 

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```

## Einfache Leseberechtigungen
<a name="api-gateway-policy-example-apigateway-general"></a>

Diese Beispielrichtlinie gibt einem Benutzer die Erlaubnis, Informationen über alle Ressourcen eines HTTP- oder WebSocket API-Codes mit der ID `a123456789` in der AWS Region us-east-1 abzurufen. Die Ressource `arn:aws:apigateway:us-east-1::/apis/a123456789/*` umfasst alle Unterressourcen der API, wie Autorisierer und Bereitstellungen.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "apigateway:GET"
      ],
      "Resource": [
        "arn:aws:apigateway:us-east-1::/apis/a123456789/*"
      ]
    }
  ]
}
```

------

## Nur REQUEST- oder JWT-Autorisierer erstellen
<a name="security_iam_id-based-policy-examples-v2-import"></a>

[Diese Beispielrichtlinie ermöglicht es einem Benutzer, nur APIs mit `REQUEST` oder mit `JWT` Autorisierern zu erstellen, auch durch Import.](https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/apis.html#ImportApi) Im `Resource`-Abschnitt der Richtlinie `arn:aws:apigateway:us-east-1::/apis/??????????` ist festgelegt, dass Ressourcen maximal 10 Zeichen haben, was Unterressourcen einer API ausschließt. Dieses Beispiel verwenden `ForAllValues` im `Condition`-Abschnitt, da Benutzer mehrere Autorisierer gleichzeitig erstellen können, indem sie eine API importieren.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "OnlyAllowSomeAuthorizerTypes",
      "Effect": "Allow",
      "Action": [
        "apigateway:PUT",
        "apigateway:POST",
        "apigateway:PATCH"
      ],
      "Resource": [
        "arn:aws:apigateway:us-east-1::/apis",
        "arn:aws:apigateway:us-east-1::/apis/??????????",
        "arn:aws:apigateway:us-east-1::/apis/*/authorizers",
        "arn:aws:apigateway:us-east-1::/apis/*/authorizers/*"
      ],
      "Condition": {
        "ForAllValues:StringEqualsIfExists": {
          "apigateway:Request/AuthorizerType": [
            "REQUEST",
            "JWT"
          ]
        }
      }
    }
  ]
}
```

------

## Erfordern, dass der `execute-api`-Standard-Endpunkt deaktiviert ist
<a name="security_iam_id-based-policy-examples-v2-endpoint-status"></a>

 Diese Beispielrichtlinie ermöglicht es Benutzern, eine API mit der Anforderung, dass `DisableExecuteApiEndpoint` `true` ist, zu erstellen, zu aktualisieren oder zu importieren. Wenn `DisableExecuteApiEndpoint` `true` ist, können Clients den `execute-api`-Standard-Endpunkt nicht zum Aufrufen einer API verwenden.

Wir verwenden die `BoolIfExists`-Bedingung, um einen Aufruf zur Aktualisierung einer API zu bearbeiten, für die der `DisableExecuteApiEndpoint`-Bedingungsschlüssel nicht ausgefüllt ist. Wenn ein Benutzer versucht, eine API zu erstellen oder zu importieren, wird der `DisableExecuteApiEndpoint`-Bedingungsschlüssel immer ausgefüllt.

Da die `apis/*` Ressource auch Unterressourcen wie Autorisierer oder Methoden erfasst, beschränken wir sie ausdrücklich nur APIs auf eine Anweisung. `Deny`

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DisableExecuteApiEndpoint",
      "Effect": "Allow",
      "Action": [
        "apigateway:PATCH",
        "apigateway:POST",
        "apigateway:PUT"
      ],
      "Resource": [
        "arn:aws:apigateway:us-east-1::/apis",
        "arn:aws:apigateway:us-east-1::/apis/*"
      ],
      "Condition": {
        "BoolIfExists": {
          "apigateway:Request/DisableExecuteApiEndpoint": true
        }
      }
    },
    {
      "Sid": "ScopeDownToJustApis",
      "Effect": "Deny",
      "Action": [
        "apigateway:PATCH",
        "apigateway:POST",
        "apigateway:PUT"
      ],
      "Resource": [
        "arn:aws:apigateway:us-east-1::/apis/*/*"
      ]
    }
  ]
}
```

------

## Erlauben Sie Benutzern, nur private REST-Dateien zu erstellen oder zu aktualisieren APIs
<a name="security_iam_id-based-policy-examples-private-api"></a>

Diese Beispielrichtlinie verwendet Bedingungsschlüssel, um zu verlangen, dass ein Benutzer nur etwas erstellt `PRIVATE` APIs, und um zu verhindern, dass Updates, die eine API von `PRIVATE` einem anderen Typ ändern könnten, wie `REGIONAL` z.

Wir verwenden `ForAllValues`, um zu verlangen, dass jeder `EndpointType`, der einer API hinzugefügt wird, `PRIVATE` ist. Wir verwenden einen Ressourcenbedingungsschlüssel, um jedes Update für eine API zu ermöglichen, solange es `PRIVATE` ist. `ForAllValues` gilt nur, wenn ein Bedingungsschlüssel vorhanden ist.

Wir verwenden den Non-Greedy Matcher (`?`) für einen expliziten Abgleich mit der API, um zu verhindern, dass Ressourcen, die nicht IDs zur API gehören, wie Autorisierer, zugelassen werden.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ScopePutToPrivateApis",
            "Effect": "Allow",
            "Action": [
                "apigateway:PUT"
            ],
            "Resource": [
                "arn:aws:apigateway:us-east-1::/restapis",
                "arn:aws:apigateway:us-east-1::/restapis/??????????"
            ],
            "Condition": {
                "ForAllValues:StringEquals": {
                    "apigateway:Resource/EndpointType": "PRIVATE"
                }
            }
        },
        {
            "Sid": "ScopeToPrivateApis",
            "Effect": "Allow",
            "Action": [
                "apigateway:DELETE",
                "apigateway:PATCH",
                "apigateway:POST"
            ],
            "Resource": [
                "arn:aws:apigateway:us-east-1::/restapis",
                "arn:aws:apigateway:us-east-1::/restapis/??????????"
            ],
            "Condition": {
                "ForAllValues:StringEquals": {
                    "apigateway:Request/EndpointType": "PRIVATE",
                    "apigateway:Resource/EndpointType": "PRIVATE"
                }
            }
        },
        {
            "Sid": "AllowResourcePolicyUpdates",
            "Effect": "Allow",
            "Action": [
                "apigateway:UpdateRestApiPolicy"
            ],
            "Resource": [
                "arn:aws:apigateway:us-east-1::/restapis/*"
            ]
        }
    ]
}
```

------

## Erfordern, dass API-Routen Autorisierung haben
<a name="security_iam_id-based-policy-examples-require-authorization"></a>

Diese Richtlinie führt dazu, dass Versuche, eine Route zu erstellen oder zu aktualisieren (einschließlich durch [Import](https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/apis.html#ImportApi)), fehlschlagen, wenn die Route keine Autorisierung hat. `ForAnyValue` wird als „false“ ausgewertet, wenn der Schlüssel nicht vorhanden ist, z. B. wenn eine Route nicht erstellt oder aktualisiert wird. Wir verwenden `ForAnyValue`, da durch den Import mehrere Routen erstellt werden können.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowUpdatesOnApisAndRoutes",
      "Effect": "Allow",
      "Action": [
        "apigateway:POST",
        "apigateway:PATCH",
        "apigateway:PUT"
      ],
      "Resource": [
        "arn:aws:apigateway:us-east-1::/apis",
        "arn:aws:apigateway:us-east-1::/apis/??????????",
        "arn:aws:apigateway:us-east-1::/apis/*/routes",
        "arn:aws:apigateway:us-east-1::/apis/*/routes/*"
      ]
    },
    {
      "Sid": "DenyUnauthorizedRoutes",
      "Effect": "Deny",
      "Action": [
        "apigateway:POST",
        "apigateway:PATCH",
        "apigateway:PUT"
      ],
      "Resource": [
        "arn:aws:apigateway:us-east-1::/apis",
        "arn:aws:apigateway:us-east-1::/apis/*"
      ],
      "Condition": {
        "ForAnyValue:StringEqualsIgnoreCase": {
          "apigateway:Request/RouteAuthorizationType": "NONE"
        }
      }
    }
  ]
}
```

------

## Verhindern Sie, dass ein Benutzer einen VPC-Link erstellt oder aktualisiert
<a name="security_iam_id-based-policy-examples-deny-vpc-link"></a>

Diese Richtlinie verhindert, dass ein Benutzer einen VPC-Link erstellt oder aktualisiert. Ein VPC-Link ermöglicht es Ihnen, Ressourcen innerhalb einer Amazon VPC an Clients außerhalb der VPC bereitzustellen.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DenyVPCLink",
      "Effect": "Deny",
      "Action": [
        "apigateway:POST",
        "apigateway:PUT",
        "apigateway:PATCH"
      ],
      "Resource": [
        "arn:aws:apigateway:us-east-1::/vpclinks",
        "arn:aws:apigateway:us-east-1::/vpclinks/*"
      ]
    }
  ]
}
```

------

## Beispielrichtlinien für die Verwendung von Routing-Regeln
<a name="security_iam_id-based-policy-examples-routing-mode"></a>

Die folgenden Beispielrichtlinien zeigen, wie Sie mithilfe der RoutingRule Bedingungsschlüssel steuern können, wie Benutzer Traffic von ihren benutzerdefinierten Domainnamen zu ihrem REST weiterleiten können. APIs Sie können diese Beispiele verwenden, um detaillierte Richtlinien zu erstellen, welche Arten von Routing-Regeln Benutzer festlegen dürfen. Weitere Informationen finden Sie unter [Routing-Regeln zum Verbinden von API-Stufen mit einem benutzerdefinierten Domainnamen für REST APIs](rest-api-routing-rules.md).

### Verhindern, dass ein Benutzer die Art und Weise der Weiterleitung von Anfragen durch einen benutzerdefinierten Domainnamen ändert
<a name="security_iam_id-based-policy-examples-routing-mode-1"></a>

Diese Richtlinie verhindert, dass ein Benutzer `BasePathMapping`, `ApiMapping` oder `RoutingRule` erstellt oder aktualisiert. All diese Ressourcen können die Art und Weise ändern, an die ein benutzerdefinierter Domainname Anfragen weiterleitet APIs.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DenyAccessBasePathMappingsApiMappingsRoutingRules",
      "Effect": "Deny",
      "Action": "apigateway:*",
      "Resource": [
        "arn:aws:apigateway:us-east-1::/domainnames/example.com/basepathmappings/*",
        "arn:aws:apigateway:us-east-1::/domainnames/example.com/apimappings/*",
        "arn:aws:apigateway:us-east-1:111122223333:/domainnames/example.com/routingrules/*"
      ]
    }
  ]
}
```

------

### Benutzern erlauben, eine Routing-Regel für bestimmte Prioritäten zu aktualisieren
<a name="security_iam_id-based-policy-examples-routing-mode-2"></a>

Diese Richtlinie erlaubt einem Benutzer nur, eine Routing-Regel auf eine Priorität zwischen 1 001 und 2 000 zu aktualisieren. Sie können diese Regel verwenden, um Ihre Produktionsregeln von Regeln mit niedrigerer Priorität zu trennen und Benutzern zu erlauben, Regeln mit niedrigerer Priorität zu ändern, ohne dass dies Auswirkungen auf die Produktionsregeln hat.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "UpdatingRoutingRulePriorityBetween1001And2000",
      "Effect": "Allow",
      "Action": "apigateway:UpdateRoutingRule",
      "Resource": "arn:aws:apigateway:us-east-1:111122223333:/domainnames/example.com/routingrules/*",
      "Condition": {
        "NumericGreaterThanEquals": {
          "apigateway:Resource/Priority": 1001,
          "apigateway:Request/Priority": 1001
        },
       "NumericLessThanEquals": {
          "apigateway:Resource/Priority": 2000,
          "apigateway:Request/Priority": 2000
        } 
      }
    }
  ]
}
```

------

### Benutzern erlauben, eine Routing-Regel oder eine Basispfadzuweisung für einen bestimmten Basispfadwert zu aktualisieren
<a name="security_iam_id-based-policy-examples-routing-mode-3"></a>

Diese Richtlinie erlaubt es einem Benutzer nur, eine Basispfadzuweisung für jeden Basispfad zu aktualisieren, der mit `orders` beginnt, oder eine Routing-Regel zu aktualisieren, die zu einem Basispfad passt, der mit `orders` beginnt. Aufgrund dieser Richtlinie kann ein Benutzer eine Basispfadzuweisung oder eine Routing-Regel für `orders/create` oder `orders123` aktualisieren, aber nicht für `payment/orders`.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
      {
        "Sid": "AllowUpdateRoutingRuleUnderPathOrders",
        "Effect": "Allow",
        "Action": "apigateway:UpdateRoutingRule",
        "Resource": "arn:aws:apigateway:us-east-1:111122223333:/domainnames/example.com/routingrules/*",
        "Condition": {
            "ForAllValues:StringLike": {
                "apigateway:Request/ConditionBasePaths": ["orders*"],
                "apigateway:Resource/ConditionBasePaths": ["orders*"]
            },
            "Null":{
                 "apigateway:Request/ConditionBasePaths":"false",
                 "apigateway:Resource/ConditionBasePaths":"false"             
          }
        }
      }
  ]
}
```

------

### Benutzern erlauben, den Routing-Modus auf bestimmte Werte zu aktualisieren
<a name="security_iam_id-based-policy-examples-routing-mode-4"></a>

Diese Richtlinie erlaubt einem Benutzer, nur den Routing-Modus auf `API_MAPPING_ONLY` oder `ROUTING_RULE_THEN_API_MAPPING` zu aktualisieren. Weitere Informationen zum Routing-Modus finden Sie unter [Festlegen des Routing-Modus für Ihren benutzerdefinierten Domainnamen](set-routing-mode.md).

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
        {
           "Sid": "AllowUpdateRoutingModeToAnythingWithApiMapping",
           "Effect": "Allow",
           "Action": ["apigateway:PATCH"],
           "Resource": "arn:aws:apigateway:us-east-1::/domainnames/example.com",
              "Condition": {
               "StringLike": {
                   "apigateway:Request/RoutingMode":"*API_MAPPING*"
               }
           }
       }
    ]
}
```

------

# Beispiele für ressourcenbasierte Richtlinien für Amazon API Gateway
<a name="security_iam_resource-based-policy-examples"></a>

Beispiele für eine ressourcenbasierte Richtlinie finden Sie unter [Beispiele für API Gateway-Ressourcenrichtlinien](apigateway-resource-policies-examples.md).

# Fehlerbehebung bei Amazon API Gateway-Identität und -Zugriff
<a name="security_iam_troubleshoot"></a>

Diagnostizieren und beheben Sie mithilfe der folgenden Informationen gängige Probleme, die bei der Verwendung von API Gateway und IAM auftreten können.

**Topics**
+ [Ich bin nicht zur Ausführung einer Aktion in API Gateway autorisiert](#security_iam_troubleshoot-no-permissions)
+ [Ich bin nicht berechtigt, iam auszuführen: PassRole](#security_iam_troubleshoot-passrole)
+ [Ich möchte Personen außerhalb meines AWS Kontos den Zugriff auf meine API-Gateway-Ressourcen ermöglichen](#security_iam_troubleshoot-cross-account-access)

## Ich bin nicht zur Ausführung einer Aktion in API Gateway autorisiert
<a name="security_iam_troubleshoot-no-permissions"></a>

Wenn Sie eine Fehlermeldung erhalten, dass Sie nicht zur Durchführung einer Aktion berechtigt sind, müssen Ihre Richtlinien aktualisiert werden, damit Sie die Aktion durchführen können.

Der folgende Beispielfehler tritt auf, wenn der IAM-Benutzer `mateojackson` versucht, über die Konsole Details zu einer fiktiven `my-example-widget`-Ressource anzuzeigen, jedoch nicht über `apigateway:GetWidget`-Berechtigungen verfügt.

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: apigateway:GetWidget on resource: my-example-widget because no identity-based policy allows the GetWidget action 
```

In diesem Fall muss die Richtlinie für den Benutzer `mateojackson` aktualisiert werden, damit er mit der `apigateway:GetWidget`-Aktion auf die `my-example-widget`-Ressource zugreifen kann.

Wenn Sie Hilfe benötigen, wenden Sie sich an Ihren AWS Administrator. Ihr Administrator hat Ihnen Ihre Anmeldeinformationen zur Verfügung gestellt.

## Ich bin nicht berechtigt, iam auszuführen: PassRole
<a name="security_iam_troubleshoot-passrole"></a>

Wenn Sie die Fehlermeldung erhalten, dass Sie nicht zur Ausführung der Aktion „`iam:PassRole`“ autorisiert sind, müssen Ihre Richtlinien aktualisiert werden, um eine Rolle an API Gateway übergeben zu können.

Einige AWS-Services ermöglichen es Ihnen, eine bestehende Rolle an diesen Dienst zu übergeben, anstatt eine neue Servicerolle oder eine dienstverknüpfte Rolle zu erstellen. Hierzu benötigen Sie Berechtigungen für die Übergabe der Rolle an den Dienst.

Der folgende Beispielfehler tritt auf, wenn ein IAM-Benutzer mit dem Namen `marymajor` versucht, die Konsole zu verwenden, um eine Aktion in API Gateway auszuführen. Die Aktion erfordert jedoch, dass der Service über Berechtigungen verfügt, die durch eine Servicerolle gewährt werden. Mary besitzt keine Berechtigungen für die Übergabe der Rolle an den Dienst.

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

In diesem Fall müssen die Richtlinien von Mary aktualisiert werden, um die Aktion `iam:PassRole` ausführen zu können.

Wenn Sie Hilfe benötigen, wenden Sie sich an Ihren AWS Administrator. Ihr Administrator hat Ihnen Ihre Anmeldeinformationen zur Verfügung gestellt.

## Ich möchte Personen außerhalb meines AWS Kontos den Zugriff auf meine API-Gateway-Ressourcen ermöglichen
<a name="security_iam_troubleshoot-cross-account-access"></a>

Sie können eine Rolle erstellen, mit der Benutzer in anderen Konten oder Personen außerhalb Ihrer Organisation auf Ihre Ressourcen zugreifen können. Sie können festlegen, wem die Übernahme der Rolle anvertraut wird. Für Dienste, die ressourcenbasierte Richtlinien oder Zugriffskontrolllisten (ACLs) unterstützen, können Sie diese Richtlinien verwenden, um Personen Zugriff auf Ihre Ressourcen zu gewähren.

Weitere Informationen dazu finden Sie hier:
+ Informationen dazu, ob API Gateway diese Funktionen unterstützt, finden Sie unter [Funktionsweise von Amazon API Gateway mit IAM](security_iam_service-with-iam.md).
+ *Informationen dazu, wie Sie Zugriff auf Ihre Ressourcen in AWS-Konten Ihrem Besitz gewähren können, finden Sie im IAM-Benutzerhandbuch unter [Gewähren des Zugriffs für einen IAM-Benutzer in einem anderen AWS-Konto , dem Sie](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) gehören.*
+ Informationen dazu, wie Sie Dritten Zugriff auf Ihre Ressourcen gewähren können AWS-Konten, finden Sie [AWS-Konten im *IAM-Benutzerhandbuch* unter Gewähren des Zugriffs für Dritte](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html).
+ Informationen dazu, wie Sie über einen Identitätsverbund Zugriff gewähren, finden Sie unter [Gewähren von Zugriff für extern authentifizierte Benutzer (Identitätsverbund)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) im *IAM-Benutzerhandbuch*.
+ Informationen zum Unterschied zwischen der Verwendung von Rollen und ressourcenbasierten Richtlinien für den kontoübergreifenden Zugriff finden Sie unter [Kontoübergreifender Ressourcenzugriff in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) im *IAM-Benutzerhandbuch*.

# Verwenden von serviceverknüpften Rollen für API Gateway
<a name="using-service-linked-roles"></a>

Amazon API Gateway verwendet AWS Identity and Access Management (IAM) [service-verknüpfte Rollen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role). Eine serviceverknüpfte Rolle ist ein spezieller Typ einer IAM-Rolle, die direkt mit API Gateway verknüpft ist. Dienstbezogene Rollen sind von API Gateway vordefiniert und enthalten alle Berechtigungen, die der Dienst benötigt, um andere AWS Dienste in Ihrem Namen aufzurufen. 

Eine serviceverknüpfte Rolle vereinfacht die Einrichtung von API Gateway, da Sie die erforderlichen Berechtigungen nicht manuell hinzufügen müssen. API Gateway definiert die Berechtigungen seiner serviceverknüpften Rollen. Sofern keine andere Konfiguration festgelegt wurde, kann nur API Gateway die Rollen übernehmen. Die definierten Berechtigungen umfassen die Vertrauens- und Berechtigungsrichtlinie. Diese Berechtigungsrichtlinie kann keinen anderen IAM-Entitäten zugewiesen werden.

Sie können eine serviceverknüpfte Rolle erst löschen, nachdem die zugehörigen Ressourcen gelöscht wurden. Dies schützt Ihre API Gateway-Ressourcen, da Sie nicht versehentlich die Berechtigung für den Zugriff auf die Ressourcen entfernen können.

Informationen zu anderen Services, die serviceverknüpfte Rollen unterstützen, finden Sie unter [AWS -Services, die mit IAM funktionieren](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html). Suchen Sie nach den Services, für die **Ja **in der Spalte **Serviceverknüpfte Rolle** angegeben ist. Wählen Sie über einen Link **Ja** aus, um die Dokumentation zu einer serviceverknüpften Rolle für diesen Service anzuzeigen.

## Berechtigungen von serviceverknüpften Rollen für API Gateway
<a name="slr-permissions"></a>

API Gateway verwendet die dienstbezogene Rolle mit dem Namen **AWSServiceRoleForAPIGateway**— Ermöglicht API Gateway, in Ihrem Namen auf Elastic Load Balancing, Amazon Data Firehose und andere Serviceressourcen zuzugreifen.

Die AWSService RoleFor APIGateway serviceverknüpfte Rolle vertraut darauf, dass die folgenden Services die Rolle übernehmen:
+ `ops.apigateway.amazonaws.com`

Die Rollenberechtigungsrichtlinie erlaubt API Gateway die Durchführung der folgenden Aktionen für die angegebenen Ressourcen:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "elasticloadbalancing:AddListenerCertificates",
                "elasticloadbalancing:RemoveListenerCertificates",
                "elasticloadbalancing:ModifyListener",
                "elasticloadbalancing:DescribeListeners",
                "elasticloadbalancing:DescribeLoadBalancers",
                "xray:PutTraceSegments",
                "xray:PutTelemetryRecords",
                "xray:GetSamplingTargets",
                "xray:GetSamplingRules",
                "logs:CreateLogDelivery",
                "logs:GetLogDelivery",
                "logs:UpdateLogDelivery",
                "logs:DeleteLogDelivery",
                "logs:ListLogDeliveries",
                "servicediscovery:DiscoverInstances"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "firehose:DescribeDeliveryStream",
                "firehose:PutRecord",
                "firehose:PutRecordBatch"
            ],
            "Resource": "arn:aws:firehose:*:*:deliverystream/amazon-apigateway-*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "acm:DescribeCertificate",
                "acm:GetCertificate"
            ],
            "Resource": "arn:aws:acm:*:*:certificate/*"
        },
        {
            "Effect": "Allow",
            "Action": "ec2:CreateNetworkInterfacePermission",
            "Resource": "arn:aws:ec2:*:*:network-interface/*"
        },
        {
            "Effect": "Allow",
            "Action": "ec2:CreateTags",
            "Resource": "arn:aws:ec2:*:*:network-interface/*",
            "Condition": {
                "ForAllValues:StringEquals": {
                    "aws:TagKeys": [
                        "Owner",
                        "VpcLinkId"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:ModifyNetworkInterfaceAttribute",
                "ec2:DeleteNetworkInterface",
                "ec2:AssignPrivateIpAddresses",
                "ec2:CreateNetworkInterface",
                "ec2:DeleteNetworkInterfacePermission",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DescribeAvailabilityZones",
                "ec2:DescribeNetworkInterfaceAttribute",
                "ec2:DescribeVpcs",
                "ec2:DescribeNetworkInterfacePermissions",
                "ec2:UnassignPrivateIpAddresses",
                "ec2:DescribeSubnets",
                "ec2:DescribeRouteTables",
                "ec2:DescribeSecurityGroups"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "servicediscovery:GetNamespace",
            "Resource": "arn:aws:servicediscovery:*:*:namespace/*"
        },
        {
            "Effect": "Allow",
            "Action": "servicediscovery:GetService",
            "Resource": "arn:aws:servicediscovery:*:*:service/*"
        }
    ]
}
```

------

Sie müssen Berechtigungen konfigurieren, damit eine juristische Stelle von IAM (z. B. Benutzer, Gruppe oder Rolle) eine serviceverknüpfte Rolle erstellen, bearbeiten oder löschen kann. Weitere Informationen finden Sie unter [serviceverknüpfte Rollenberechtigungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions) im *IAM-Benutzerhandbuch*.

## Erstellen einer serviceverknüpften Rolle für API Gateway
<a name="create-slr"></a>

Sie müssen eine serviceverknüpfte Rolle nicht manuell erstellen. Wenn Sie eine API, einen benutzerdefinierten Domainnamen oder einen VPC-Link in der AWS-Managementkonsole, der oder der API erstellen AWS CLI, erstellt AWS API Gateway die serviceverknüpfte Rolle für Sie. 

Wenn Sie diese serviceverknüpfte Rolle löschen und sie dann erneut erstellen müssen, können Sie dasselbe Verfahren anwenden, um die Rolle in Ihrem Konto neu anzulegen. Wenn Sie eine API, einen benutzerdefinierten Domänennamen oder einen VPC-Link erstellen, erstellt API Gateway die serviceverknüpfte Rolle erneut für Sie. 

## Bearbeiten einer serviceverknüpften Rolle für API Gateway
<a name="edit-slr"></a>

Mit API Gateway können Sie die AWSService RoleFor APIGateway dienstverknüpfte Rolle nicht bearbeiten. Da möglicherweise verschiedene Entitäten auf die Rolle verweisen, kann der Rollenname nach der Erstellung einer serviceverknüpften Rolle nicht bearbeitet werden. Sie können jedoch die Beschreibung der Rolle mit IAM bearbeiten. Weitere Informationen finden Sie unter [Bearbeiten einer serviceverknüpften Rolle](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role) im *IAM-Benutzerhandbuch*.

## Löschen einer serviceverknüpften Rolle für API Gateway
<a name="delete-slr"></a>

Wenn Sie eine Funktion oder einen Service, die bzw. der eine serviceverknüpfte Rolle erfordert, nicht mehr benötigen, sollten Sie diese Rolle löschen. Auf diese Weise haben Sie keine ungenutzte Entität, die nicht aktiv überwacht oder verwaltet wird. Sie müssen jedoch die Ressourcen für Ihre serviceverknüpfte Rolle zunächst bereinigen, bevor Sie sie manuell löschen können.

**Anmerkung**  
Wenn der API Gateway-Service die Rolle verwendet, wenn Sie versuchen, die Ressourcen zu löschen, schlägt das Löschen möglicherweise fehl. Wenn dies passiert, warten Sie einige Minuten und versuchen Sie es erneut.

**Um API-Gateway-Ressourcen zu löschen, die von AWSService RoleFor APIGateway**

1. Öffnen Sie die API Gateway Gateway-Konsole unter [https://console.aws.amazon.com/apigateway/](https://console.aws.amazon.com/apigateway/). 

1. Navigieren Sie zu der API, dem benutzerdefinierten Domänennamen oder dem VPC-Link, der die serviceverknüpfte Rolle verwendet.

1. Verwenden Sie die Konsole, um die Ressource zu löschen.

1. Wiederholen Sie den Vorgang APIs, um alle benutzerdefinierten Domänennamen oder VPC-Links zu löschen, die die dienstverknüpfte Rolle verwenden.

**So löschen Sie die serviceverknüpfte Rolle mit IAM**

Verwenden Sie die IAM-Konsole, die oder die AWS API AWS CLI, um die dienstverknüpfte Rolle zu löschen. AWSService RoleFor APIGateway Weitere Informationen finden Sie unter [Löschen einer serviceverknüpften Rolle](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role) im *IAM-Benutzerhandbuch*.

## Unterstützte Regionen für serviceverknüpfte API Gateway-Rollen
<a name="slr-regions"></a>

API Gateway unterstützt die Verwendung von serviceverknüpften Rollen in allen Regionen, in denen der Service verfügbar ist. Weitere Informationen finden Sie unter [AWS -Service-Endpunkte](https://docs.aws.amazon.com/general/latest/gr/rande.html).

## API Gateway Gateway-Updates für AWS verwaltete Richtlinien
<a name="security-iam-awsmanpol-updates"></a>



Sehen Sie sich Details zu Aktualisierungen der AWS verwalteten Richtlinien für API Gateway an, seit dieser Dienst begonnen hat, diese Änderungen zu verfolgen. Um automatische Warnungen über Änderungen an dieser Seite erhalten, abonnieren Sie den RSS-Feed auf der API-Gateway-[Dokumentverlauf](history.md)-Seite.


| Änderungen | Beschreibung | Datum | 
| --- | --- | --- | 
|  `acm:GetCertificate`-Unterstützung für `AWSServiceRoleForAPIGateway`-Richtlinien wurde hinzugefügt.  |  Die `AWSServiceRoleForAPIGateway`-Richtlinie enthält jetzt die Berechtigung zum Aufrufen des ACM-`GetCertificate`API-Aktion  | 12. Juli 2021 | 
|  API Gateway hat mit der Verfolgung von Änderungen begonnen  |  API Gateway hat damit begonnen, Änderungen für seine AWS verwalteten Richtlinien zu verfolgen.  | 12. Juli 2021 | 