

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.

# Sicherheit in Amazon VPC Lattice
<a name="security"></a>

Cloud-Sicherheit hat höchste AWS Priorität. Als AWS Kunde profitieren Sie von Rechenzentren und Netzwerkarchitekturen, die darauf ausgelegt sind, die Anforderungen der sicherheitssensibelsten Unternehmen zu erfüllen.

Sie sind dafür verantwortlich, die Kontrolle über Ihre in dieser Infrastruktur gehosteten Inhalte zu behalten. Das [Modell der geteilten Verantwortung](https://aws.amazon.com/compliance/shared-responsibility-model/) beschreibt dies als Sicherheit *der* Cloud und Sicherheit *in* der Cloud:
+ **Sicherheit der Cloud** — AWS ist verantwortlich für den Schutz der Infrastruktur, in der AWS Dienste ausgeführt werden. AWS Cloud AWS bietet Ihnen auch Dienste, die Sie sicher nutzen können. Externe Prüfer testen und verifizieren regelmäßig die Wirksamkeit unserer Sicherheitsmaßnahmen im Rahmen der [AWS](https://aws.amazon.com/compliance/programs/) . Weitere Informationen zu den Compliance-Programmen, die für Amazon VPC Lattice gelten, finden Sie unter [AWS Services im Bereich nach Compliance-Programm AWS](https://aws.amazon.com/compliance/services-in-scope/) .
+ **Sicherheit in der Cloud** — Sie sind dafür verantwortlich, die Kontrolle über Ihre Inhalte zu behalten, die auf dieser Infrastruktur gehostet werden. Sie sind auch für andere Faktoren verantwortlich, etwa für die Vertraulichkeit Ihrer Daten, für die Anforderungen Ihres Unternehmens und für die geltenden Gesetze und Vorschriften. 

Diese Dokumentation hilft Ihnen zu verstehen, wie Sie das Modell der gemeinsamen Verantwortung bei der Verwendung von VPC Lattice anwenden können. In den folgenden Themen erfahren Sie, wie Sie VPC Lattice konfigurieren, um Ihre Sicherheits- und Compliance-Ziele zu erreichen. Sie lernen auch, wie Sie andere AWS Dienste verwenden, die Ihnen helfen, Ihren VPC Lattice-Dienst, Ihre Servicenetzwerke und Ressourcenkonfigurationen zu überwachen und zu sichern.

**Topics**
+ [Zugriff auf VPC Lattice-Dienste verwalten](access-management-overview.md)
+ [Datenschutz in Amazon VPC Lattice](data-protection.md)
+ [Identitäts- und Zugriffsmanagement für Amazon VPC Lattice](security-iam.md)
+ [Konformitätsvalidierung für Amazon VPC Lattice](compliance-validation.md)
+ [Greifen Sie über Schnittstellenendpunkte auf Amazon VPC Lattice zu ()AWS PrivateLink](vpc-interface-endpoints.md)
+ [Resilienz in Amazon VPC Lattice](disaster-recovery-resiliency.md)
+ [Infrastruktursicherheit in Amazon VPC Lattice](infrastructure-security.md)

# Zugriff auf VPC Lattice-Dienste verwalten
<a name="access-management-overview"></a>

VPC Lattice ist standardmäßig sicher, da Sie explizit angeben müssen, auf welche Dienste und Ressourcenkonfigurationen Sie Zugriff gewähren möchten und mit welchen. VPCs Sie können über eine VPC-Zuordnung oder einen VPC-Endpunkt vom Typ Dienstnetzwerk auf Dienste zugreifen. In Szenarien mit mehreren Konten können Sie Dienste, Ressourcenkonfigurationen und Dienstnetzwerke über Kontogrenzen hinweg gemeinsam nutzen [AWS Resource Access Manager](sharing.md).

 VPC Lattice bietet ein Framework, mit dem Sie eine defense-in-depth Strategie auf mehreren Ebenen des Netzwerks implementieren können.
+ **Erste Ebene** — Die Verbindung zwischen Dienst, Ressource, VPC und VPC-Endpunkt mit einem Servicenetzwerk. Eine VPC kann entweder über eine Assoziation oder über einen VPC-Endpunkt mit einem Servicenetzwerk verbunden sein. Wenn eine VPC nicht mit einem Dienstnetzwerk verbunden ist, können Clients in der VPC nicht auf die Dienst- und Ressourcenkonfigurationen zugreifen, die dem Dienstnetzwerk zugeordnet sind.
+ **Zweite Ebene** — Optionaler Sicherheitsschutz auf Netzwerkebene für das Servicenetzwerk, z. B. Sicherheitsgruppen und Netzwerk. ACLs Mit diesen können Sie den Zugriff auf bestimmte Gruppen von Clients in einer VPC statt auf alle Clients in der VPC zulassen.
+ **Dritte Ebene** — Optionale VPC Lattice-Authentifizierungsrichtlinie. Sie können eine Authentifizierungsrichtlinie auf Dienstnetzwerke und einzelne Dienste anwenden. In der Regel wird die Authentifizierungsrichtlinie im Servicenetzwerk vom Netzwerk- oder Cloud-Administrator verwaltet, und sie implementieren eine grobkörnige Autorisierung. Beispielsweise werden nur authentifizierte Anfragen von einer bestimmten Organisation zugelassen. AWS Organizations Bei einer Authentifizierungsrichtlinie auf Dienstebene legt der Dienstbesitzer in der Regel feinkörnige Kontrollen fest, die möglicherweise restriktiver sind als die grobkörnige Autorisierung, die auf Dienstnetzwerkebene angewendet wird.
**Anmerkung**  
Die Authentifizierungsrichtlinie im Servicenetzwerk gilt nicht für Ressourcenkonfigurationen im Servicenetzwerk.

**Methoden der Zugriffskontrolle**
+ [Authentifizierungsrichtlinien](auth-policies.md)
+ [Sicherheitsgruppen](security-groups.md)
+ [Netzwerk ACLs](network-acls.md)

# Steuern Sie den Zugriff auf VPC Lattice-Dienste mithilfe von Authentifizierungsrichtlinien
<a name="auth-policies"></a>

VPC Lattice-Authentifizierungsrichtlinien sind IAM-Richtliniendokumente, die Sie an Dienstnetzwerke oder Dienste anhängen, um zu steuern, ob ein bestimmter Principal Zugriff auf eine Gruppe von Diensten oder einen bestimmten Dienst hat. Sie können jedem Servicenetzwerk oder Service, auf das oder den Sie den Zugriff kontrollieren möchten, eine Authentifizierungsrichtlinie anhängen.

**Anmerkung**  
Die Authentifizierungsrichtlinie im Dienstnetzwerk gilt nicht für Ressourcenkonfigurationen im Dienstnetzwerk.

Authentifizierungsrichtlinien unterscheiden sich von identitätsbasierten IAM-Richtlinien. Identitätsbasierte IAM-Richtlinien sind IAM-Benutzern, -Gruppen oder -Rollen zugeordnet und definieren, welche Aktionen diese Identitäten auf welchen Ressourcen ausführen können. Authentifizierungsrichtlinien sind an Dienste und Dienstnetzwerke angehängt. Damit die Autorisierung erfolgreich ist, müssen sowohl Authentifizierungsrichtlinien als auch identitätsbasierte Richtlinien explizite Zulassungsanweisungen enthalten. Weitere Informationen finden Sie unter [Wie funktioniert die Autorisierung](#auth-policies-evaluation-logic).

Sie können die AND-Konsole verwenden, um Authentifizierungsrichtlinien für Dienste AWS CLI und Dienstnetzwerke anzuzeigen, hinzuzufügen, zu aktualisieren oder zu entfernen. Wenn Sie eine Authentifizierungsrichtlinie hinzufügen, aktualisieren oder entfernen, kann es einige Minuten dauern, bis sie fertig ist. Stellen Sie bei der Verwendung von sicher AWS CLI, dass Sie sich in der richtigen Region befinden. Sie können entweder die Standardregion für Ihr Profil ändern oder den `--region` Parameter zusammen mit dem Befehl verwenden.

**Topics**
+ [Allgemeine Elemente einer Authentifizierungsrichtlinie](#auth-policies-common-elements)
+ [Ressourcenformat für Authentifizierungsrichtlinien](#auth-policies-resource-format)
+ [Bedingungsschlüssel, die in Authentifizierungsrichtlinien verwendet werden können](#auth-policies-condition-keys)
+ [Ressourcen-Tags](#resource-tags)
+ [Wichtigste Stichwörter](#principal-tags)
+ [Anonyme (nicht authentifizierte) Prinzipale](#anonymous-unauthenticated-principals)
+ [Beispiel für Authentifizierungsrichtlinien](#example-auth-policies)
+ [Wie funktioniert die Autorisierung](#auth-policies-evaluation-logic)

Um mit Authentifizierungsrichtlinien zu beginnen, folgen Sie dem Verfahren zum Erstellen einer Authentifizierungsrichtlinie, die für ein Dienstnetzwerk gilt. Für restriktivere Berechtigungen, die Sie nicht auf andere Dienste anwenden möchten, können Sie optional Authentifizierungsrichtlinien für einzelne Dienste festlegen.

## Verwalten Sie den Zugriff auf ein Servicenetzwerk mit Authentifizierungsrichtlinien
<a name="manage-access-to-service-networks"></a>

Die folgenden AWS CLI Aufgaben zeigen Ihnen, wie Sie den Zugriff auf ein Servicenetzwerk mithilfe von Authentifizierungsrichtlinien verwalten. Anweisungen zur Verwendung der Konsole finden Sie unter[Servicenetzwerke in VPC Lattice](service-networks.md).

**Topics**
+ [Fügen Sie einem Servicenetzwerk eine Authentifizierungsrichtlinie hinzu](#add-service-network-auth-policy)
+ [Ändern Sie den Authentifizierungstyp eines Servicenetzwerks](#change-service-network-auth-type)
+ [Entfernen Sie eine Authentifizierungsrichtlinie aus einem Servicenetzwerk](#remove-service-network-auth-policy)

### Fügen Sie einem Servicenetzwerk eine Authentifizierungsrichtlinie hinzu
<a name="add-service-network-auth-policy"></a>

Folgen Sie den Schritten in diesem Abschnitt, um Folgendes AWS CLI zu verwenden:
+ Aktivieren Sie die Zugriffskontrolle in einem Servicenetzwerk mithilfe von IAM.
+ Fügen Sie dem Dienstnetzwerk eine Authentifizierungsrichtlinie hinzu. Wenn Sie keine Authentifizierungsrichtlinie hinzufügen, wird für den gesamten Datenverkehr die Fehlermeldung „Zugriff verweigert“ angezeigt.

**Um die Zugriffskontrolle zu aktivieren und eine Authentifizierungsrichtlinie zu einem neuen Servicenetzwerk hinzuzufügen**

1. Um die Zugriffskontrolle in einem Dienstnetzwerk zu aktivieren, sodass dieses eine Authentifizierungsrichtlinie verwenden kann, verwenden Sie den **create-service-network** Befehl mit der `--auth-type` Option und dem Wert von. `AWS_IAM`

   ```
   aws vpc-lattice create-service-network --name Name --auth-type AWS_IAM [--tags TagSpecification]
   ```

   Bei erfolgreicher Ausführung gibt der Befehl eine Ausgabe zurück, die in etwa wie folgt aussieht:

   ```
   {
      "arn": "arn",
      "authType": "AWS_IAM",
      "id": "sn-0123456789abcdef0",
      "name": "Name"
   }
   ```

1. Verwenden Sie den **put-auth-policy** Befehl und geben Sie die ID des Dienstnetzwerks an, dem Sie die Authentifizierungsrichtlinie hinzufügen möchten, sowie die Authentifizierungsrichtlinie, die Sie hinzufügen möchten.

   Verwenden Sie beispielsweise den folgenden Befehl, um eine Authentifizierungsrichtlinie für das Dienstnetzwerk mit der ID zu erstellen. *`sn-0123456789abcdef0`*

   ```
   aws vpc-lattice put-auth-policy --resource-identifier sn-0123456789abcdef0 --policy file://policy.json
   ```

   Verwenden Sie JSON, um eine Richtliniendefinition zu erstellen. Weitere Informationen finden Sie unter [Allgemeine Elemente einer Authentifizierungsrichtlinie](#auth-policies-common-elements).

   Bei erfolgreicher Ausführung gibt der Befehl eine Ausgabe zurück, die in etwa wie folgt aussieht:

   ```
   {
      "policy": "policy",
      "state": "Active"
   }
   ```

**Um die Zugriffskontrolle zu aktivieren und einem vorhandenen Servicenetzwerk eine Authentifizierungsrichtlinie hinzuzufügen**

1. Um die Zugriffskontrolle in einem Dienstnetzwerk zu aktivieren, sodass dieses eine Authentifizierungsrichtlinie verwenden kann, verwenden Sie den **update-service-network** Befehl mit der `--auth-type` Option und dem Wert von. `AWS_IAM`

   ```
   aws vpc-lattice update-service-network --service-network-identifier sn-0123456789abcdef0 --auth-type AWS_IAM
   ```

   Bei erfolgreicher Ausführung gibt der Befehl eine Ausgabe zurück, die in etwa wie folgt aussieht:

   ```
   {
      "arn": "arn",
      "authType": "AWS_IAM",
      "id": "sn-0123456789abcdef0",
      "name": "Name"
   }
   ```

1. Verwenden Sie den **put-auth-policy** Befehl und geben Sie die ID des Dienstnetzwerks an, dem Sie die Authentifizierungsrichtlinie hinzufügen möchten, sowie die Authentifizierungsrichtlinie, die Sie hinzufügen möchten. 

   ```
   aws vpc-lattice put-auth-policy --resource-identifier sn-0123456789abcdef0 --policy file://policy.json
   ```

   Verwenden Sie JSON, um eine Richtliniendefinition zu erstellen. Weitere Informationen finden Sie unter [Allgemeine Elemente einer Authentifizierungsrichtlinie](#auth-policies-common-elements).

   Bei erfolgreicher Ausführung gibt der Befehl eine Ausgabe zurück, die in etwa wie folgt aussieht:

   ```
   {
      "policy": "policy",
      "state": "Active"
   }
   ```

### Ändern Sie den Authentifizierungstyp eines Servicenetzwerks
<a name="change-service-network-auth-type"></a>

**Um die Authentifizierungsrichtlinie für ein Servicenetzwerk zu deaktivieren**  
Verwenden Sie den **update-service-network** Befehl mit der `--auth-type` Option und dem Wert. `NONE`

```
aws vpc-lattice update-service-network --service-network-identifier sn-0123456789abcdef0 --auth-type NONE
```

Wenn Sie die Authentifizierungsrichtlinie später erneut aktivieren müssen, führen Sie diesen Befehl mit den für die `--auth-type` Option `AWS_IAM` angegebenen Werten aus.

### Entfernen Sie eine Authentifizierungsrichtlinie aus einem Servicenetzwerk
<a name="remove-service-network-auth-policy"></a>

**Um eine Authentifizierungsrichtlinie aus einem Servicenetzwerk zu entfernen**  
Verwenden Sie den Befehl **delete-auth-policy**.

```
aws vpc-lattice delete-auth-policy --resource-identifier sn-0123456789abcdef0
```

Die Anforderung schlägt fehl, wenn Sie eine Authentifizierungsrichtlinie entfernen, bevor Sie den Authentifizierungstyp eines Dienstnetzwerks in ändern. `NONE`

## Verwalten Sie den Zugriff auf einen Dienst mit Authentifizierungsrichtlinien
<a name="manage-access-to-services"></a>

Die folgenden AWS CLI Aufgaben zeigen Ihnen, wie Sie den Zugriff auf einen Dienst mithilfe von Authentifizierungsrichtlinien verwalten. Anweisungen zur Verwendung der Konsole finden Sie unter[Dienstleistungen in VPC Lattice](services.md). 

**Topics**
+ [Fügen Sie einem Dienst eine Authentifizierungsrichtlinie hinzu](#add-service-auth-policy)
+ [Ändern Sie den Authentifizierungstyp eines Dienstes](#change-service-auth-type)
+ [Entfernen Sie eine Authentifizierungsrichtlinie aus einem Dienst](#remove-service-auth-policy)

### Fügen Sie einem Dienst eine Authentifizierungsrichtlinie hinzu
<a name="add-service-auth-policy"></a>

Gehen Sie wie folgt vor, um das AWS CLI zu verwenden:
+ Aktivieren Sie die Zugriffskontrolle für einen Dienst mithilfe von IAM.
+ Fügen Sie dem Dienst eine Authentifizierungsrichtlinie hinzu. Wenn Sie keine Authentifizierungsrichtlinie hinzufügen, wird für den gesamten Datenverkehr die Fehlermeldung „Zugriff verweigert“ angezeigt.

**Um die Zugriffskontrolle zu aktivieren und einem neuen Dienst eine Authentifizierungsrichtlinie hinzuzufügen**

1. Um die Zugriffskontrolle für einen Dienst zu aktivieren, sodass dieser eine Authentifizierungsrichtlinie verwenden kann, verwenden Sie den **create-service** Befehl mit der `--auth-type` Option und dem Wert von. `AWS_IAM`

   ```
   aws vpc-lattice create-service --name Name --auth-type AWS_IAM [--tags TagSpecification]
   ```

   Bei erfolgreicher Ausführung gibt der Befehl eine Ausgabe zurück, die in etwa wie folgt aussieht:

   ```
   {
      "arn": "arn",
      "authType": "AWS_IAM",
      "dnsEntry": { 
         ...
      },
      "id": "svc-0123456789abcdef0",
      "name": "Name",
      "status": "CREATE_IN_PROGRESS"
   }
   ```

1. Verwenden Sie den **put-auth-policy** Befehl und geben Sie die ID des Dienstes an, dem Sie die Authentifizierungsrichtlinie hinzufügen möchten, sowie die Authentifizierungsrichtlinie, die Sie hinzufügen möchten.

   Verwenden Sie beispielsweise den folgenden Befehl, um eine Authentifizierungsrichtlinie für den Dienst mit der ID zu erstellen. *svc-0123456789abcdef0*

   ```
   aws vpc-lattice put-auth-policy --resource-identifier svc-0123456789abcdef0 --policy file://policy.json
   ```

   Verwenden Sie JSON, um eine Richtliniendefinition zu erstellen. Weitere Informationen finden Sie unter [Allgemeine Elemente einer Authentifizierungsrichtlinie](#auth-policies-common-elements).

   Bei erfolgreicher Ausführung gibt der Befehl eine Ausgabe zurück, die in etwa wie folgt aussieht:

   ```
   {
      "policy": "policy",
      "state": "Active"
   }
   ```

**Um die Zugriffskontrolle zu aktivieren und einem vorhandenen Dienst eine Authentifizierungsrichtlinie hinzuzufügen**

1. Um die Zugriffskontrolle für einen Dienst zu aktivieren, sodass dieser eine Authentifizierungsrichtlinie verwenden kann, verwenden Sie den **update-service** Befehl mit der `--auth-type` Option und dem Wert von. `AWS_IAM`

   ```
   aws vpc-lattice update-service --service-identifier svc-0123456789abcdef0 --auth-type AWS_IAM
   ```

   Bei erfolgreicher Ausführung gibt der Befehl eine Ausgabe zurück, die in etwa wie folgt aussieht:

   ```
   {
      "arn": "arn",
      "authType": "AWS_IAM",
      "id": "svc-0123456789abcdef0",
      "name": "Name"
   }
   ```

1. Verwenden Sie den **put-auth-policy** Befehl und geben Sie die ID des Dienstes an, dem Sie die Authentifizierungsrichtlinie hinzufügen möchten, sowie die Authentifizierungsrichtlinie, die Sie hinzufügen möchten.

   ```
   aws vpc-lattice put-auth-policy --resource-identifier svc-0123456789abcdef0 --policy file://policy.json
   ```

   Verwenden Sie JSON, um eine Richtliniendefinition zu erstellen. Weitere Informationen finden Sie unter [Allgemeine Elemente einer Authentifizierungsrichtlinie](#auth-policies-common-elements).

   Bei erfolgreicher Ausführung gibt der Befehl eine Ausgabe zurück, die in etwa wie folgt aussieht:

   ```
   {
      "policy": "policy",
      "state": "Active"
   }
   ```

### Ändern Sie den Authentifizierungstyp eines Dienstes
<a name="change-service-auth-type"></a>

**Um die Authentifizierungsrichtlinie für einen Dienst zu deaktivieren**  
Verwenden Sie den **update-service** Befehl mit der `--auth-type` Option und dem Wert. `NONE`

```
aws vpc-lattice update-service --service-identifier svc-0123456789abcdef0 --auth-type NONE
```

Wenn Sie die Authentifizierungsrichtlinie später erneut aktivieren müssen, führen Sie diesen Befehl mit den für die `--auth-type` Option `AWS_IAM` angegebenen Werten aus.

### Entfernen Sie eine Authentifizierungsrichtlinie aus einem Dienst
<a name="remove-service-auth-policy"></a>

**Um eine Authentifizierungsrichtlinie aus einem Dienst zu entfernen**  
Verwenden Sie den Befehl **delete-auth-policy**.

```
aws vpc-lattice delete-auth-policy --resource-identifier svc-0123456789abcdef0
```

Die Anforderung schlägt fehl, wenn Sie eine Authentifizierungsrichtlinie entfernen, bevor Sie den Authentifizierungstyp des Dienstes in ändern. `NONE`

Wenn Sie Authentifizierungsrichtlinien aktivieren, die authentifizierte Anfragen an einen Dienst erfordern, müssen alle Anfragen an diesen Dienst eine gültige Anforderungssignatur enthalten, die mit Signature Version 4 (Sigv4) berechnet wurde. Weitere Informationen finden Sie unter [SIGv4 authentifizierte Anfragen für Amazon VPC Lattice](sigv4-authenticated-requests.md).

## Allgemeine Elemente einer Authentifizierungsrichtlinie
<a name="auth-policies-common-elements"></a>

VPC Lattice-Authentifizierungsrichtlinien werden mit derselben Syntax wie IAM-Richtlinien angegeben. *Weitere Informationen finden Sie unter [Identitätsbasierte Richtlinien und ressourcenbasierte Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html) im IAM-Benutzerhandbuch.*

Eine Authentifizierungsrichtlinie enthält die folgenden Elemente:
+ **Schulleiter** — Die Person oder Anwendung, der Zugriff auf die Aktionen und Ressourcen in der Anweisung gewährt wird. In einer Authentifizierungsrichtlinie ist der Principal die IAM-Entität, die der Empfänger dieser Berechtigung ist. Der Principal wird als IAM-Entität authentifiziert, um Anfragen an eine bestimmte Ressource oder eine Gruppe von Ressourcen zu stellen, wie dies bei Diensten in einem Dienstnetzwerk der Fall ist. 

  Sie müssen in einer ressourcenbasierten Richtlinie einen Prinzipal angeben. Prinzipale können Konten, Benutzer, Rollen, Verbundbenutzer oder Dienste umfassen. AWS Weitere Informationen finden Sie unter [AWS JSON-Richtlinienelemente: Principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) im *IAM-Benutzerhandbuch*.
+ **Effekt** — Der Effekt, wenn der angegebene Principal die bestimmte Aktion anfordert. Dies kann entweder `Allow` oder `Deny`sein. Wenn Sie die Zugriffskontrolle für einen Dienst oder ein Dienstnetzwerk mithilfe von IAM aktivieren, sind Prinzipale standardmäßig nicht berechtigt, Anfragen an den Dienst oder das Dienstnetzwerk zu stellen.
+ **Aktionen** — Die spezifische API-Aktion, für die Sie die Erlaubnis erteilen oder verweigern. VPC Lattice unterstützt Aktionen, die das Präfix verwenden. `vpc-lattice-svcs` Weitere Informationen finden Sie unter [Von Amazon VPC Lattice Services definierte Aktionen](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonvpclatticeservices.html#amazonvpclatticeservices-actions-as-permissions) in der *Service Authorization* Reference.
+ **Ressourcen** — Die Dienste, die von der Aktion betroffen sind. 
+ **Bedingung** — Die Bedingungen sind optional. Sie können sie verwenden, um zu kontrollieren, wann Ihre Richtlinie in Kraft tritt. Weitere Informationen finden Sie unter [Bedingungsschlüssel für Amazon VPC Lattice Services](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonvpclatticeservices.html#amazonvpclatticeservices-policy-keys) in der *Service Authorization* Reference.

Wenn Sie Authentifizierungsrichtlinien erstellen und verwalten, möchten Sie möglicherweise den [IAM-Richtliniengenerator](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-generator) verwenden.

**Anforderung**  
Die Richtlinie in JSON darf keine neuen Zeilen oder Leerzeilen enthalten.

## Ressourcenformat für Authentifizierungsrichtlinien
<a name="auth-policies-resource-format"></a>

Sie können den Zugriff auf bestimmte Ressourcen einschränken, indem Sie eine Authentifizierungsrichtlinie erstellen, die ein passendes Schema mit einem `<serviceARN>/<path>` Muster verwendet und das `Resource` Element codiert, wie in den folgenden Beispielen gezeigt. 


| Protocol (Protokoll) | Beispiele | 
| --- | --- | 
| HTTP |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/vpc-lattice/latest/ug/auth-policies.html)  | 
| gRPC |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/vpc-lattice/latest/ug/auth-policies.html)  | 

Verwenden Sie das folgende Amazon Resource Name (ARN) -Ressourcenformat für`<serviceARN>`:

```
arn:aws:vpc-lattice:region:account-id:service/service-id
```

Beispiel:

```
"Resource": "arn:aws:vpc-lattice:us-west-2:123456789012:service/svc-0123456789abcdef0"
```

## Bedingungsschlüssel, die in Authentifizierungsrichtlinien verwendet werden können
<a name="auth-policies-condition-keys"></a>

Der Zugriff kann durch Bedingungsschlüssel im Element **Bedingung der Authentifizierungsrichtlinien** weiter gesteuert werden. Diese Bedingungsschlüssel stehen je nach Protokoll und davon, ob die Anfrage mit [Signature Version 4 (Sigv4)](sigv4-authenticated-requests.md) signiert oder anonym ist, zur Auswertung zur Verfügung. Bei Bedingungsschlüsseln wird die Groß- und Kleinschreibung beachtet.

AWS stellt globale Bedingungsschlüssel bereit, mit denen Sie den Zugriff steuern können, z. B. `aws:PrincipalOrgID` und`aws:SourceIp`. Eine Liste der 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*.

In der folgenden Tabelle sind die VPC Lattice-Bedingungsschlüssel aufgeführt. Weitere Informationen finden Sie unter [Bedingungsschlüssel für Amazon VPC Lattice Services](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonvpclatticeservices.html#amazonvpclatticeservices-policy-keys) in der *Service Authorization* Reference.


| Bedingungsschlüssel | Description | Beispiel | Verfügbar für anonyme (nicht authentifizierte) Anrufer? | Verfügbar für gRPC? | 
| --- | --- | --- | --- | --- | 
| vpc-lattice-svcs:Port | Filtert den Zugriff nach dem Service-Port, an den die Anfrage gestellt wird | 80 | Ja | Ja | 
| vpc-lattice-svcs:RequestMethod | Filtert den Zugriff nach der Methode der Anfrage | GET | Ja | Immer POSTEN | 
| vpc-lattice-svcs:RequestPath | Filtert den Zugriff nach dem Pfadteil der Anforderungs-URL | /path | Ja | Ja | 
| vpc-lattice-svcs:RequestHeader/header-name: value | Filtert den Zugriff nach einem Header-Name-Wert-Paar in den Anforderungsheadern | content-type: application/json | Ja | Ja | 
| vpc-lattice-svcs:RequestQueryString/key-name: value | Filtert den Zugriff nach den Schlüssel-Wert-Paaren der Abfragezeichenfolge in der Anforderungs-URL | quux: [corge, grault] | Ja | Nein | 
| vpc-lattice-svcs:ServiceNetworkArn | Filtert den Zugriff nach dem ARN des Servicenetzwerks des Dienstes, der die Anfrage empfängt | arn:aws:vpc-lattice:us-west-2:123456789012:servicenetwork/sn-0123456789abcdef0 | Ja | Ja | 
| vpc-lattice-svcs:ServiceArn | Filtert den Zugriff nach dem ARN des Dienstes, der die Anfrage empfängt | arn:aws:vpc-lattice:us-west-2:123456789012:service/svc-0123456789abcdef0 | Ja | Ja | 
| vpc-lattice-svcs:SourceVpc | Filtert den Zugriff nach der VPC, von der aus die Anfrage gestellt wird | vpc-1a2b3c4d | Ja | Ja | 
| vpc-lattice-svcs:SourceVpcOwnerAccount | Filtert den Zugriff durch das eigene Konto der VPC, von der aus die Anfrage gestellt wird | 123456789012 | Ja | Ja | 

## Ressourcen-Tags
<a name="resource-tags"></a>

Ein *Tag* ist ein Metadaten-Label, das Sie zuweisen oder das einer AWS Ressource AWS zugewiesen wird. Jedes -Tag besteht aus zwei Teilen:
+ einem *Tag-Schlüssel* (z. B. `CostCenter`, `Environment` oder `Project`). Bei Tag-Schlüsseln wird zwischen Groß- und Kleinschreibung unterschieden.
+ einem optionalen Feld, dem sogenannten *Tag-Wert* (z. B. `111122223333` oder `Production`). Ein nicht angegebener Tag-Wert entspricht einer leeren Zeichenfolge. Wie bei Tag-Schlüsseln wird auch bei Tag-Werten zwischen Groß- und Kleinschreibung unterschieden.

Weitere Informationen zum Tagging finden Sie unter [Steuern des Zugriffs auf AWS Ressourcen mithilfe von](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html) Tags

Mithilfe des Kontextschlüssels für `aws:ResourceTag/key` AWS globale Bedingungen können Sie Tags in Ihren Authentifizierungsrichtlinien verwenden.

Die folgende Beispielrichtlinie gewährt Zugriff auf Dienste mit dem Tag`Environment=Gamma`. Mit dieser Richtlinie können Sie auf Dienste verweisen, für die der Dienst ARNs nicht fest codiert ist oder. IDs

```
{
  "Version": "2012-10-17", 		 	 	 		 	 	 
  "Statement": [
    {
      "Sid": "AllowGammaAccess",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "vpc-lattice-svcs:Invoke",
      "Resource": "arn:aws:vpc-lattice:us-west-2:123456789012:service/svc-0124446789abcdef0/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/Environment": "Gamma",
        }
      }
    }
  ]
}
```

## Wichtigste Stichwörter
<a name="principal-tags"></a>

Sie können den Zugriff auf Ihre Dienste und Ressourcen anhand der Tags steuern, die mit der Identität des Anrufers verknüpft sind. VPC Lattice unterstützt die Zugriffskontrolle auf der Grundlage beliebiger Prinzipal-Tags in den Benutzer-, Rollen- oder Sitzungs-Tags, die die `aws:PrincipalTag/context` Variablen verwenden. Weitere Informationen finden Sie unter [Steuern des Zugriffs für IAM-Prinzipale](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html#access_iam-tags_control-principals).

Die folgende Beispielrichtlinie gewährt Zugriff nur für Identitäten mit dem Tag. `Team=Payments` Mit dieser Richtlinie können Sie den Zugriff kontrollieren, ohne ein Konto IDs oder eine Rolle fest programmieren zu müssen. ARNs

```
{
  "Version": "2012-10-17", 		 	 	 		 	 	 
  "Statement": [
    {
      "Sid": "AllowPaymentsTeam",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "vpc-lattice-svcs:Invoke",
      "Resource": "arn:aws:vpc-lattice:us-west-2:123456789012:service/svc-0123456789abcdef0/*",
      "Condition": {
        "StringEquals": {
          "aws:PrincipalTag/Team": "Payments",
        }
      }
    }
  ]
}
```

## Anonyme (nicht authentifizierte) Prinzipale
<a name="anonymous-unauthenticated-principals"></a>

Anonyme Principals sind Anrufer, die ihre AWS Anfragen nicht mit [Signature Version 4 (Sigv4)](sigv4-authenticated-requests.md) signieren und sich in einer VPC befinden, die mit dem Servicenetzwerk verbunden ist. Anonyme Prinzipale können nicht authentifizierte Anfragen an Dienste im Servicenetzwerk stellen, sofern eine Authentifizierungsrichtlinie dies zulässt.

## Beispiel für Authentifizierungsrichtlinien
<a name="example-auth-policies"></a>

Im Folgenden finden Sie Beispiele für Authentifizierungsrichtlinien, bei denen Anfragen von authentifizierten Prinzipalen gestellt werden müssen.

Alle Beispiele verwenden die `us-west-2` Region und enthalten ein fiktives Konto. IDs

**Beispiel 1: Beschränken Sie den Zugriff auf Dienste durch eine bestimmte Organisation AWS**  
Das folgende Beispiel für eine Authentifizierungsrichtlinie gewährt jeder authentifizierten Anfrage Berechtigungen für den Zugriff auf alle Dienste im Dienstnetzwerk, für die die Richtlinie gilt. Die Anfrage muss jedoch von Prinzipalen stammen, die zu der in der Bedingung angegebenen AWS Organisation gehören.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Effect": "Allow",
         "Principal": "*",
         "Action": "vpc-lattice-svcs:Invoke",
         "Resource": "*",
         "Condition": {
            "StringEquals": {
               "aws:PrincipalOrgID": [ 
                  "o-123456example"
               ]
            }
         }
      }
   ]
}
```

------

**Beispiel 2: Beschränken Sie den Zugriff auf einen Service durch eine bestimmte IAM-Rolle**  
Das folgende Beispiel für eine Authentifizierungsrichtlinie gewährt Berechtigungen für jede authentifizierte Anfrage, die die IAM-Rolle verwendet, `rates-client` um HTTP-GET-Anfragen für den im Element angegebenen Dienst zu stellen. `Resource` Die Ressource im `Resource` Element entspricht dem Dienst, an den die Richtlinie angehängt ist.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect": "Allow",
         "Principal": {
            "AWS": [
               "arn:aws:iam::123456789012:role/rates-client"
            ]
         },
         "Action": "vpc-lattice-svcs:Invoke",
         "Resource": [
            "arn:aws:vpc-lattice:us-west-2:123456789012:service/svc-0123456789abcdef0/*"
         ],
         "Condition": {
            "StringEquals": {
               "vpc-lattice-svcs:RequestMethod": "GET"
            }
         }
      }
   ]
}
```

------

**Beispiel 3: Beschränken Sie den Zugriff auf Dienste durch authentifizierte Principals in einer bestimmten VPC**  
Das folgende Beispiel für eine Authentifizierungsrichtlinie erlaubt nur authentifizierte Anfragen von Prinzipalen in der VPC, deren VPC-ID lautet. `vpc-1a2b3c4d`

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Effect": "Allow",
         "Principal": "*",
         "Action": "vpc-lattice-svcs:Invoke",
         "Resource": "*",
         "Condition": {
            "StringNotEquals": {
               "aws:PrincipalType": "Anonymous"
            },
            "StringEquals": {
               "vpc-lattice-svcs:SourceVpc": "vpc-1a2b3c4d"
            }
         }
      }
   ]
}
```

------

## Wie funktioniert die Autorisierung
<a name="auth-policies-evaluation-logic"></a>

Wenn ein VPC Lattice-Dienst eine Anfrage erhält, bewertet der AWS Durchsetzungscode alle relevanten Berechtigungsrichtlinien zusammen, um zu bestimmen, ob die Anfrage autorisiert oder abgelehnt werden soll. Bei der Autorisierung werden alle identitätsbasierten IAM-Richtlinien und Authentifizierungsrichtlinien bewertet, die im Anforderungskontext gelten. Standardmäßig werden alle Anfragen implizit verweigert, wenn der Authentifizierungstyp ist. `AWS_IAM` Eine ausdrückliche Zulassung durch alle relevanten Richtlinien hat Vorrang vor der Standardeinstellung.

Die Autorisierung beinhaltet:
+ Erfassung aller relevanten identitätsbasierten IAM-Richtlinien und Authentifizierungsrichtlinien.
+ Bewertung der daraus resultierenden Richtlinien:
  + Es wird überprüft, ob der Anforderer (z. B. ein IAM-Benutzer oder eine IAM-Rolle) berechtigt ist, den Vorgang von dem Konto aus durchzuführen, zu dem der Anforderer gehört. Wenn es keine ausdrückliche Zulassungsanweisung gibt, wird die Anfrage AWS nicht autorisiert.
  + Es wird überprüft, ob die Anforderung gemäß der Authentifizierungsrichtlinie für das Dienstnetzwerk zulässig ist. Wenn eine Authentifizierungsrichtlinie aktiviert ist, es aber keine ausdrückliche Zulassungsanweisung gibt, wird die Anfrage AWS nicht autorisiert. Wenn es eine explizite Allow-Anweisung gibt oder der Authentifizierungstyp es ist`NONE`, wird der Code fortgesetzt. 
  + Es wird überprüft, ob die Anforderung gemäß der Authentifizierungsrichtlinie für den Dienst zulässig ist. Wenn eine Authentifizierungsrichtlinie aktiviert ist, es aber keine ausdrückliche Zulassungsanweisung gibt, wird die Anfrage AWS nicht autorisiert. **Wenn es eine explizite Erlaubnis-Anweisung gibt oder der Authentifizierungstyp es ist`NONE`, gibt der Erzwingungscode die endgültige Entscheidung Allow zurück.**
  + Eine explizite Zugriffsverweigerung überschreibt jede Zugriffserlaubnis in einer Richtlinie.

Das Diagramm zeigt den Autorisierungsablauf. Wenn eine Anfrage gestellt wird, erlauben oder verweigern die entsprechenden Richtlinien der Anfrage den Zugriff auf einen bestimmten Dienst.

![\[Ablauf der Autorisierung\]](http://docs.aws.amazon.com/de_de/vpc-lattice/latest/ug/images/authpolicy.png)


# Steuern Sie den Verkehr in VPC Lattice mithilfe von Sicherheitsgruppen
<a name="security-groups"></a>

AWS Sicherheitsgruppen agieren als virtuelle Firewalls und kontrollieren den Netzwerkverkehr zu und von den Entitäten, denen sie zugeordnet sind. Mit VPC Lattice können Sie Sicherheitsgruppen erstellen und sie der VPC-Zuordnung zuweisen, die eine VPC mit einem Servicenetzwerk verbindet, um zusätzliche Sicherheitsvorkehrungen auf Netzwerkebene für Ihr Servicenetzwerk durchzusetzen. Wenn Sie eine VPC über einen VPC-Endpunkt mit einem Servicenetzwerk verbinden, können Sie dem VPC-Endpunkt auch Sicherheitsgruppen zuweisen. Ebenso können Sie Ressourcen-Gateways, die Sie erstellen, Sicherheitsgruppen zuweisen, um den Zugriff auf Ressourcen in Ihrer VPC zu ermöglichen.

**Topics**
+ [Liste der verwalteten Präfixe](#managed-prefix-list)
+ [Sicherheitsgruppenregeln](#security-groups-rules)
+ [Sicherheitsgruppen für eine VPC-Zuordnung verwalten](#service-network-security-group)

## Liste der verwalteten Präfixe
<a name="managed-prefix-list"></a>

VPC Lattice stellt verwaltete Präfixlisten bereit, die die IP-Adressen enthalten, die für die Weiterleitung des Datenverkehrs über das VPC-Lattice-Netzwerk verwendet werden, wenn Sie eine Dienstnetzwerkverbindung verwenden, um Ihre VPC mithilfe einer VPC-Zuordnung mit einem Servicenetzwerk zu verbinden. Dabei handelt es sich entweder um private Verbindungen, um lokale Verbindungen oder um öffentliche Verbindungen, die nicht IPs geroutet werden können. IPs IPs

 Sie können in Ihren Sicherheitsgruppenregeln auf die von VPC Lattice verwalteten Präfixlisten verweisen. Dadurch kann der Datenverkehr von den Clients über das VPC-Lattice-Dienstnetzwerk zu den VPC-Lattice-Dienstzielen fließen.

Nehmen wir beispielsweise an, Sie haben eine EC2-Instance als Ziel in der Region USA West (Oregon) registriert (). `us-west-2` Sie können der Instanz-Sicherheitsgruppe eine Regel hinzufügen, die eingehenden HTTPS-Zugriff aus der Liste der verwalteten VPC Lattice-Präfixe ermöglicht, sodass der VPC-Lattice-Verkehr in dieser Region die Instance erreichen kann. Wenn Sie alle anderen Regeln für eingehenden Datenverkehr aus der Sicherheitsgruppe entfernen, können Sie verhindern, dass jeder andere Datenverkehr als VPC-Lattice-Verkehr die Instance erreicht.

Die Namen der verwalteten Präfixlisten für VPC Lattice lauten wie folgt:
+ com.amazonaws. *region*.vpc-Gitter
+ com.amazonaws. *region*.ipv6.vpc-Gitter

Weitere Informationen finden Sie im Abschnitt zur [AWS-verwalteten Präfixliste](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-aws-managed-prefix-lists.html#available-aws-managed-prefix-lists) im *Amazon-VPC-Benutzerhandbuch*.

**Windows- und MacOS-Clients**  
Die Adressen in den VPC Lattice-Präfixlisten sind verknüpfungslokale Adressen und nicht routbare öffentliche Adressen. Wenn Sie von diesen Clients aus eine Verbindung zu VPC Lattice herstellen, müssen Sie deren Konfigurationen aktualisieren, sodass die IP-Adressen in der Liste der verwalteten Präfixe an die primäre IP-Adresse des Clients weitergeleitet werden. Im Folgenden finden Sie einen Beispielbefehl, der die Konfiguration des Windows-Clients aktualisiert, wobei sich eine der Adressen in der Liste der verwalteten Präfixe 169.254.171.0 befindet. 

```
C:\> route add 169.254.171.0 mask 255.255.255.0 primary-ip-address
```

Im Folgenden finden Sie einen Beispielbefehl, der die Konfiguration des macOS-Clients aktualisiert, wobei 169.254.171.0 sich eine der Adressen in der Liste der verwalteten Präfixe befindet. 

```
sudo route -n add -net 169.254.171.0 primary-ip-address 255.255.255.0
```

Um die Erstellung einer statischen Route zu vermeiden, empfehlen wir, einen Servicenetzwerkendpunkt in einer VPC zu verwenden, um Konnektivität herzustellen. Weitere Informationen finden Sie unter [VPC-Endpunktzuordnungen für das Servicenetzwerk verwalten](service-network-associations.md#service-network-vpc-endpoint-associations).

## Sicherheitsgruppenregeln
<a name="security-groups-rules"></a>

Die Verwendung von VPC Lattice mit oder ohne Sicherheitsgruppen hat keine Auswirkungen auf Ihre bestehende VPC-Sicherheitsgruppenkonfiguration. Sie können jedoch jederzeit Ihre eigenen Sicherheitsgruppen hinzufügen.

**Wesentliche Überlegungen**
+ Sicherheitsgruppenregeln für Clients steuern den ausgehenden Datenverkehr zu VPC Lattice. 
+ Sicherheitsgruppenregeln für Ziele steuern den eingehenden Datenverkehr von VPC Lattice zu den Zielen, einschließlich des Zustandsprüfverkehrs. 
+ Sicherheitsgruppenregeln für die Verbindung zwischen dem Servicenetzwerk und der VPC steuern, welche Clients auf das VPC-Lattice-Dienstnetzwerk zugreifen können.
+ Sicherheitsgruppenregeln für das Ressourcen-Gateway steuern den ausgehenden Verkehr vom Ressourcen-Gateway zu den Ressourcen.

**Empfohlene Regeln für ausgehenden Datenverkehr, der vom Ressourcen-Gateway zu einer Datenbankressource fließt**  
Damit der Datenverkehr vom Ressourcen-Gateway zu den Ressourcen fließen kann, müssen Sie ausgehende Regeln für die offenen Ports und akzeptierte Listener-Protokolle für die Ressourcen erstellen.


| Ziel | Protocol (Protokoll) | Port-Bereich | Comment | 
| --- | --- | --- | --- | 
| CIDR range for resource | TCP | 3306 | Lassen Sie den Datenverkehr vom Ressourcen-Gateway zu den Datenbanken zu | 

**Empfohlene Regeln für eingehende Zugriffe für Dienstnetzwerk- und VPC-Zuordnungen**  
Damit der Datenverkehr vom Client VPCs zu den Diensten fließen kann, die dem Servicenetzwerk zugeordnet sind, müssen Sie Regeln für eingehenden Datenverkehr für die Listener-Ports und Listener-Protokolle für die Dienste erstellen.


| Quelle | Protocol (Protokoll) | Port-Bereich | Comment | 
| --- | --- | --- | --- | 
| VPC CIDR | listener | listener | Datenverkehr von Clients zu VPC Lattice zulassen | 

**Empfohlene ausgehende Regeln für den Datenverkehr, der von Client-Instances zu VPC Lattice fließt**  
Standardmäßig gestatten Sicherheitsgruppen allen ausgehenden Datenverkehr. Wenn Sie jedoch benutzerdefinierte Regeln für ausgehenden Datenverkehr haben, müssen Sie ausgehenden Datenverkehr zum VPC Lattice-Präfix für Listener-Ports und Protokolle zulassen, damit Client-Instances eine Verbindung zu allen Diensten herstellen können, die dem VPC Lattice-Dienstnetzwerk zugeordnet sind. Sie können diesen Verkehr zulassen, indem Sie auf die ID der Präfixliste für VPC Lattice verweisen.


| Ziel | Protocol (Protokoll) | Port-Bereich | Comment | 
| --- | --- | --- | --- | 
| ID of the VPC Lattice prefix list | listener | listener | Datenverkehr von Clients zu VPC Lattice zulassen | 

**Empfohlene Regeln für eingehenden Datenverkehr von VPC Lattice zu Ziel-Instances**  
Sie können die Client-Sicherheitsgruppe nicht als Quelle für die Sicherheitsgruppen Ihres Ziels verwenden, da der Datenverkehr von VPC Lattice fließt. Sie können auf die ID der Präfixliste für VPC Lattice verweisen.


| Quelle | Protocol (Protokoll) | Port-Bereich | Comment | 
| --- | --- | --- | --- | 
| ID of the VPC Lattice prefix list | target | target | Verkehr von VPC Lattice zu Zielen zulassen | 
| ID of the VPC Lattice prefix list | health check | health check | Health Check-Verkehr von VPC Lattice zu Zielen zulassen | 

## Sicherheitsgruppen für eine VPC-Zuordnung verwalten
<a name="service-network-security-group"></a>

Sie können die verwenden, AWS CLI um Sicherheitsgruppen auf der VPC anzuzeigen, hinzuzufügen oder zu aktualisieren, um die Netzwerkverbindung zu verwalten. Denken Sie bei der Verwendung von daran AWS CLI, dass Ihre Befehle in der für Ihr Profil AWS-Region konfigurierten Version ausgeführt werden. Wenn Sie die Befehle in einer anderen Region ausführen möchten, ändern Sie entweder die Standardregion für Ihr Profil, oder verwenden Sie den `--region`-Parameter mit dem Befehl.

Bevor Sie beginnen, vergewissern Sie sich, dass Sie die Sicherheitsgruppe in derselben VPC wie die VPC erstellt haben, die Sie dem Dienstnetzwerk hinzufügen möchten. Weitere Informationen finden Sie unter [Steuern des Datenverkehrs zu Ihren Ressourcen mithilfe von Sicherheitsgruppen](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-groups.html) im *Amazon VPC-Benutzerhandbuch*

**So fügen Sie eine Sicherheitsgruppe hinzu, wenn Sie eine VPC-Zuordnung mithilfe der Konsole erstellen**

1. Öffnen Sie die Amazon-VPC-Konsole unter [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. Wählen Sie im Navigationsbereich unter **VPC Lattice** die Option **Service** networks aus.

1. Wählen Sie den Namen des Servicenetzwerks aus, um dessen Detailseite zu öffnen.

1. Wählen Sie auf der Registerkarte **VPC-Zuordnungen** **erstellen und dann VPC-Zuordnung** **hinzufügen** aus.

1. Wählen Sie eine VPC und bis zu fünf Sicherheitsgruppen aus.

1. Wählen Sie **Änderungen speichern ** aus.

**So fügen Sie Sicherheitsgruppen für eine bestehende VPC-Zuordnung mithilfe der Konsole hinzu oder aktualisieren sie**

1. Öffnen Sie die Amazon-VPC-Konsole unter [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. Wählen Sie im Navigationsbereich unter **VPC Lattice** die Option **Service** networks aus.

1. Wählen Sie den Namen des Servicenetzwerks aus, um dessen Detailseite zu öffnen.

1. Aktivieren Sie auf der Registerkarte **VPC-Zuordnungen** das Kontrollkästchen für die Zuordnung und wählen Sie dann **Aktionen**, **Sicherheitsgruppen bearbeiten** aus.

1. Fügen Sie nach Bedarf Sicherheitsgruppen hinzu und entfernen Sie sie.

1. Wählen Sie **Änderungen speichern ** aus.

**Um eine Sicherheitsgruppe hinzuzufügen, wenn Sie eine VPC-Zuordnung mit dem AWS CLI**  
Verwenden Sie den Befehl [create-service-network-vpc-association](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/create-service-network-vpc-association.html) und geben Sie die ID der VPC für die VPC-Zuordnung und die ID der hinzuzufügenden Sicherheitsgruppen an.

```
aws vpc-lattice create-service-network-vpc-association \
    --service-network-identifier sn-0123456789abcdef0 \
    --vpc-identifier vpc-1a2b3c4d \
    --security-group-ids sg-7c2270198example
```

Bei erfolgreicher Ausführung gibt der Befehl eine Ausgabe zurück, die in etwa wie folgt aussieht:

```
{
  "arn": "arn",
  "createdBy": "464296918874",
  "id": "snva-0123456789abcdef0",
  "status": "CREATE_IN_PROGRESS",
  "securityGroupIds": ["sg-7c2270198example"]
}
```

**Um Sicherheitsgruppen für eine bestehende VPC-Zuordnung hinzuzufügen oder zu aktualisieren, verwenden Sie AWS CLI**  
Verwenden Sie den Befehl [update-service-network-vpc-association](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/update-service-network-vpc-association.html) und geben Sie die ID des Dienstnetzwerks und IDs der Sicherheitsgruppen an. Diese Sicherheitsgruppen haben Vorrang vor allen zuvor verknüpften Sicherheitsgruppen. Definieren Sie mindestens eine Sicherheitsgruppe, wenn Sie die Liste aktualisieren.

```
aws vpc-lattice update-service-network-vpc-association 
    --service-network-vpc-association-identifier sn-903004f88example \
    --security-group-ids sg-7c2270198example sg-903004f88example
```

**Warnung**  
Sie können nicht alle Sicherheitsgruppen entfernen. Stattdessen müssen Sie zuerst die VPC-Zuordnung löschen und dann die VPC-Zuordnung ohne Sicherheitsgruppen neu erstellen. Seien Sie vorsichtig, wenn Sie die VPC-Zuordnung löschen. Dadurch wird verhindert, dass der Datenverkehr Dienste erreicht, die sich in diesem Dienstnetzwerk befinden.

# Steuern Sie den Verkehr zu VPC Lattice über das Netzwerk ACLs
<a name="network-acls"></a>

Eine Netzwerk-Zugriffssteuerungsliste (ACL) erlaubt oder verweigert bestimmten eingehenden oder ausgehenden Datenverkehr auf der Subnetzebene. Die Standard-Netzwerk-ACL lässt den gesamten ein- und ausgehenden Datenverkehr zu. Sie können ein benutzerdefiniertes Netzwerk ACLs für Ihre Subnetze erstellen, um eine zusätzliche Sicherheitsebene bereitzustellen. Weitere Informationen finden Sie unter [Netzwerk ACLs](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html) im *Amazon VPC-Benutzerhandbuch*.

**Topics**
+ [Netzwerk ACLs für Ihre Client-Subnetze](#network-acl-client-subnets)
+ [Netzwerk ACLs für Ihre Zielsubnetze](#network-acl-target-subnets)

## Netzwerk ACLs für Ihre Client-Subnetze
<a name="network-acl-client-subnets"></a>

Das Netzwerk ACLs für Client-Subnetze muss den Verkehr zwischen Clients und VPC Lattice zulassen. Sie können die zulässigen IP-Adressbereiche aus der [Liste der verwalteten Präfixe](security-groups.md#managed-prefix-list) für VPC Lattice abrufen.

Im Folgenden finden Sie ein Beispiel für eine Regel für eingehenden Datenverkehr.


| Quelle | Protocol (Protokoll) | Port-Bereich | Comment | 
| --- | --- | --- | --- | 
| vpc\$1lattice\$1cidr\$1block | TCP | 1025-65535 | Verkehr von VPC Lattice zu Clients zulassen | 

Es folgt ein Beispiel für eine Outbound-Regel.


| Ziel | Protocol (Protokoll) | Port-Bereich | Comment | 
| --- | --- | --- | --- | 
| vpc\$1lattice\$1cidr\$1block | listener | listener | Datenverkehr von Clients zu VPC Lattice zulassen | 

## Netzwerk ACLs für Ihre Zielsubnetze
<a name="network-acl-target-subnets"></a>

Das Netzwerk ACLs für Zielsubnetze muss den Datenverkehr zwischen Zielen und VPC Lattice sowohl am Zielport als auch am Health Check-Port zulassen. Sie können die zulässigen IP-Adressbereiche aus der [Liste der verwalteten Präfixe](security-groups.md#managed-prefix-list) für VPC Lattice abrufen.

Im Folgenden finden Sie ein Beispiel für eine Regel für eingehenden Datenverkehr.


| Quelle | Protocol (Protokoll) | Port-Bereich | Comment | 
| --- | --- | --- | --- | 
| vpc\$1lattice\$1cidr\$1block | target | target | Verkehr von VPC Lattice zu Zielen zulassen | 
| vpc\$1lattice\$1cidr\$1block | health check | health check | Health Check-Verkehr von VPC Lattice zu Zielen zulassen | 

Es folgt ein Beispiel für eine Outbound-Regel.


| Ziel | Protocol (Protokoll) | Port-Bereich | Comment | 
| --- | --- | --- | --- | 
| vpc\$1lattice\$1cidr\$1block | target | 1024 - 65535 | Datenverkehr von Zielen zu VPC Lattice zulassen | 
| vpc\$1lattice\$1cidr\$1block | health check | 1024 - 65535 | Zustandsprüfungsverkehr von Zielen zu VPC Lattice zulassen | 

# SIGv4 authentifizierte Anfragen für Amazon VPC Lattice
<a name="sigv4-authenticated-requests"></a>

VPC Lattice verwendet Signature Version 4 (SIGv4) oder Signature Version 4A (SIGv4A) für die Client-Authentifizierung. 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*.

**Überlegungen**
+ VPC Lattice versucht, jede Anfrage zu authentifizieren, die mit oder A signiert ist. SIGv4 SIGv4 Die Anfrage schlägt ohne Authentifizierung fehl.
+ VPC Lattice unterstützt keine Payload-Signierung. Sie müssen einen `x-amz-content-sha256` Header senden, dessen Wert auf gesetzt ist. `"UNSIGNED-PAYLOAD"`

**Topics**
+ [Python](#sigv4-authenticated-requests-python)
+ [Java](#sigv4-authenticated-requests-java-custom-interceptor)
+ [Node.js](#sigv4-authenticated-requests-nodejs)
+ [Golang](#sigv4-authenticated-requests-golang)
+ [Golang - GRPC](#sigv4-authenticated-requests-golang-grpc)

## Python
<a name="sigv4-authenticated-requests-python"></a>

In diesem Beispiel werden die signierten Anfragen über eine sichere Verbindung an einen im Netzwerk registrierten Dienst gesendet. Wenn Sie [Anfragen](https://requests.readthedocs.io/en/latest/) bevorzugen, vereinfacht das [Botocore-Paket](https://github.com/boto/botocore) den Authentifizierungsprozess, ist aber nicht unbedingt erforderlich. Weitere Informationen finden Sie in der Boto3-Dokumentation unter [Anmeldeinformationen](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html).

Verwenden Sie den folgenden Befehl, um die `awscrt` Pakete `botocore` und zu installieren. Weitere Informationen finden Sie unter [AWS CRT Python](https://pypi.org/project/awscrt/).

```
pip install botocore awscrt
```

Wenn Sie die Client-Anwendung auf Lambda ausführen, installieren Sie die erforderlichen Module mithilfe von [Lambda-Schichten](https://docs.aws.amazon.com/lambda/latest/dg/python-layers.html) oder nehmen Sie sie in Ihr Bereitstellungspaket auf.

Ersetzen Sie im folgenden Beispiel die Platzhalterwerte durch Ihre eigenen Werte.

------
#### [ SIGv4 ]

```
from botocore import crt
import requests 
from botocore.awsrequest import AWSRequest
import botocore.session

if __name__ == '__main__':
    session = botocore.session.Session()
    signer = crt.auth.CrtSigV4Auth(session.get_credentials(), 'vpc-lattice-svcs', 'us-west-2')
    endpoint = 'https://data-svc-022f67d3a42.1234abc.vpc-lattice-svcs.us-west-2.on.aws'
    data = "some-data-here"
    headers = {'Content-Type': 'application/json', 'x-amz-content-sha256': 'UNSIGNED-PAYLOAD'}
    request = AWSRequest(method='POST', url=endpoint, data=data, headers=headers)
    request.context["payload_signing_enabled"] = False
    signer.add_auth(request)
    
    prepped = request.prepare()
    
    response = requests.post(prepped.url, headers=prepped.headers, data=data)
    print(response.text)
```

------
#### [ SIGv4A ]

```
from botocore import crt
import requests 
from botocore.awsrequest import AWSRequest
import botocore.session

if __name__ == '__main__':
    session = botocore.session.Session()
    signer = crt.auth.CrtSigV4AsymAuth(session.get_credentials(), 'vpc-lattice-svcs', '*')
    endpoint = 'https://data-svc-022f67d3a42.1234abc.vpc-lattice-svcs.us-west-2.on.aws'
    data = "some-data-here"
    headers = {'Content-Type': 'application/json', 'x-amz-content-sha256': 'UNSIGNED-PAYLOAD'}
    request = AWSRequest(method='POST', url=endpoint, data=data, headers=headers)
    request.context["payload_signing_enabled"] = False 
    signer.add_auth(request)
    
    prepped = request.prepare()
    
    response = requests.post(prepped.url, headers=prepped.headers, data=data)
    print(response.text)
```

------

## Java
<a name="sigv4-authenticated-requests-java-custom-interceptor"></a>

Dieses Beispiel zeigt, wie Sie das Signieren von Anfragen mithilfe benutzerdefinierter Interzeptoren durchführen können. Es verwendet die standardmäßige Anbieterklasse für Anmeldeinformationen von [AWS SDK for Java 2.x](https://github.com/aws/aws-sdk-java-v2), die die richtigen Anmeldeinformationen für Sie abruft. Wenn Sie lieber einen bestimmten Anbieter für Anmeldeinformationen verwenden möchten, können Sie einen aus der [AWS SDK for Java 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials.html)auswählen. Das AWS SDK für Java erlaubt nur unsignierte Payloads über HTTPS. Sie können den Unterzeichner jedoch so erweitern, dass er unsignierte Payloads über HTTP unterstützt.

------
#### [ SIGv4 ]

```
package com.example;

import software.amazon.awssdk.http.auth.aws.signer.AwsV4HttpSigner;
import software.amazon.awssdk.http.auth.spi.signer.SignedRequest;

import software.amazon.awssdk.http.SdkHttpMethod;
import software.amazon.awssdk.http.SdkHttpClient;
import software.amazon.awssdk.identity.spi.AwsCredentialsIdentity;
import software.amazon.awssdk.http.SdkHttpRequest;
import software.amazon.awssdk.http.apache.ApacheHttpClient;
import software.amazon.awssdk.http.HttpExecuteRequest;
import software.amazon.awssdk.http.HttpExecuteResponse;
import java.io.IOException;
import java.net.URI;

import software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider;

public class sigv4 {

    public static void main(String[] args) {
        AwsV4HttpSigner signer = AwsV4HttpSigner.create();

        AwsCredentialsIdentity credentials = DefaultCredentialsProvider.create().resolveCredentials();

        if (args.length < 2) {
            System.out.println("Usage: sample <url> <region>");
            System.exit(1);
        }
        // Create the HTTP request to be signed
        var url = args[0];
        SdkHttpRequest httpRequest = SdkHttpRequest.builder()
                .uri(URI.create(url))
                .method(SdkHttpMethod.GET)
                .build();

        SignedRequest signedRequest = signer.sign(r -> r.identity(credentials)
                .request(httpRequest)
                .putProperty(AwsV4HttpSigner.SERVICE_SIGNING_NAME, "vpc-lattice-svcs")
                .putProperty(AwsV4HttpSigner.PAYLOAD_SIGNING_ENABLED, false)
                .putProperty(AwsV4HttpSigner.REGION_NAME, args[1]));

        System.out.println("[*] Raw request headers:");
        signedRequest.request().headers().forEach((key, values) -> {
            values.forEach(value -> System.out.println("  " + key + ": " + value));
        });

        try (SdkHttpClient httpClient = ApacheHttpClient.create()) {
            HttpExecuteRequest httpExecuteRequest = HttpExecuteRequest.builder()
                    .request(signedRequest.request())
                    .contentStreamProvider(signedRequest.payload().orElse(null))
                    .build();

            System.out.println("[*] Sending request to: " + url);

            HttpExecuteResponse httpResponse = httpClient.prepareRequest(httpExecuteRequest).call();

            System.out.println("[*] Request sent");

            System.out.println("[*] Response status code: " + httpResponse.httpResponse().statusCode());
            // Read and print the response body
            httpResponse.responseBody().ifPresent(inputStream -> {
                try {
                    String responseBody = new String(inputStream.readAllBytes());
                    System.out.println("[*] Response body: " + responseBody);
                } catch (IOException e) {
                    System.err.println("[*] Failed to read response body");
                    e.printStackTrace();
                } finally {
                    try {
                        inputStream.close();
                    } catch (IOException e) {
                        System.err.println("[*] Failed to close input stream");
                        e.printStackTrace();
                    }
                }
            });
        } catch (IOException e) {
            System.err.println("[*] HTTP Request Failed.");
            e.printStackTrace();
        }

    }
}
```

------
#### [ SIGv4A ]

Dieses Beispiel erfordert eine zusätzliche Abhängigkeit von. `software.amazon.awssdk:http-auth-aws-crt`

```
package com.example;


import software.amazon.awssdk.http.auth.aws.signer.AwsV4aHttpSigner;
import software.amazon.awssdk.http.auth.aws.signer.RegionSet;
import software.amazon.awssdk.http.auth.spi.signer.SignedRequest;

import software.amazon.awssdk.http.SdkHttpMethod;
import software.amazon.awssdk.http.SdkHttpClient;
import software.amazon.awssdk.identity.spi.AwsCredentialsIdentity;
import software.amazon.awssdk.http.SdkHttpRequest;
import software.amazon.awssdk.http.apache.ApacheHttpClient;
import software.amazon.awssdk.http.HttpExecuteRequest;
import software.amazon.awssdk.http.HttpExecuteResponse;
import java.io.IOException;
import java.net.URI;
import java.util.Arrays;

import software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider;

public class sigv4a {
    
    public static void main(String[] args) {
        AwsV4aHttpSigner signer = AwsV4aHttpSigner.create();

        AwsCredentialsIdentity credentials = DefaultCredentialsProvider.create().resolveCredentials();

        if (args.length < 2) {
            System.out.println("Usage: sample <url> <regionset>");
            System.exit(1);
        }
        // Create the HTTP request to be signed
        var url = args[0];
        SdkHttpRequest httpRequest = SdkHttpRequest.builder()
                .uri(URI.create(url))
                .method(SdkHttpMethod.GET)
                .build();

        SignedRequest signedRequest = signer.sign(r -> r.identity(credentials)
                .request(httpRequest)
                .putProperty(AwsV4aHttpSigner.SERVICE_SIGNING_NAME, "vpc-lattice-svcs")
                .putProperty(AwsV4aHttpSigner.PAYLOAD_SIGNING_ENABLED, false)
                .putProperty(AwsV4aHttpSigner.REGION_SET, RegionSet.create(String.join(" ",Arrays.copyOfRange(args, 1, args.length)))));

        System.out.println("[*] Raw request headers:");
        signedRequest.request().headers().forEach((key, values) -> {
            values.forEach(value -> System.out.println("  " + key + ": " + value));
        });

        try (SdkHttpClient httpClient = ApacheHttpClient.create()) {
            HttpExecuteRequest httpExecuteRequest = HttpExecuteRequest.builder()
                    .request(signedRequest.request())
                    .contentStreamProvider(signedRequest.payload().orElse(null))
                    .build();

            System.out.println("[*] Sending request to: " + url);

            HttpExecuteResponse httpResponse = httpClient.prepareRequest(httpExecuteRequest).call();

            System.out.println("[*] Request sent");

            System.out.println("[*] Response status code: " + httpResponse.httpResponse().statusCode());
            // Read and print the response body
            httpResponse.responseBody().ifPresent(inputStream -> {
                try {
                    String responseBody = new String(inputStream.readAllBytes());
                    System.out.println("[*] Response body: " + responseBody);
                } catch (IOException e) {
                    System.err.println("[*] Failed to read response body");
                    e.printStackTrace();
                } finally {
                    try {
                        inputStream.close();
                    } catch (IOException e) {
                        System.err.println("[*] Failed to close input stream");
                        e.printStackTrace();
                    }
                }
            });
        } catch (IOException e) {
            System.err.println("[*] HTTP Request Failed.");
            e.printStackTrace();
        }
    }
}
```

------

## Node.js
<a name="sigv4-authenticated-requests-nodejs"></a>

In diesem Beispiel werden [NodeJS-Bindungen vom Typ aws-crt](https://github.com/awslabs/aws-crt-nodejs) verwendet, um eine signierte Anfrage über HTTPS zu senden.

Verwenden Sie den folgenden Befehl, um das `aws-crt` Paket zu installieren.

```
npm -i aws-crt
```

Wenn die `AWS_REGION` Umgebungsvariable existiert, verwendet das Beispiel die von angegebene Region`AWS_REGION`. Die Standardregion ist`us-east-1`.

------
#### [ SIGv4 ]

```
const https = require('https')
const crt = require('aws-crt')
const { HttpRequest } = require('aws-crt/dist/native/http')

function sigV4Sign(method, endpoint, service, algorithm) {
    const host = new URL(endpoint).host
    const request = new HttpRequest(method, endpoint)
    request.headers.add('host', host)
    // crt.io.enable_logging(crt.io.LogLevel.INFO)
    const config = {
        service: service,
        region: process.env.AWS_REGION ? process.env.AWS_REGION : 'us-east-1',
        algorithm: algorithm,
        signature_type: crt.auth.AwsSignatureType.HttpRequestViaHeaders,
        signed_body_header: crt.auth.AwsSignedBodyHeaderType.XAmzContentSha256,
        signed_body_value: crt.auth.AwsSignedBodyValue.UnsignedPayload,
        provider: crt.auth.AwsCredentialsProvider.newDefault()
    }

    return crt.auth.aws_sign_request(request, config)
}

if (process.argv.length === 2) {
  console.error(process.argv[1] + ' <url>')
  process.exit(1)
}

const algorithm = crt.auth.AwsSigningAlgorithm.SigV4;

sigV4Sign('GET', process.argv[2], 'vpc-lattice-svcs', algorithm).then(
  httpResponse => {
    var headers = {}

    for (const sigv4header of httpResponse.headers) {
      headers[sigv4header[0]] = sigv4header[1]
    }

    const options = {
      hostname: new URL(process.argv[2]).host,
      path: new URL(process.argv[2]).pathname,
      method: 'GET',
      headers: headers
    }

    req = https.request(options, res => {
      console.log('statusCode:', res.statusCode)
      console.log('headers:', res.headers)
      res.on('data', d => {
        process.stdout.write(d)
      })
    })
    req.on('error', err => {
      console.log('Error: ' + err)
    })
    req.end()
  }
)
```

------
#### [ SIGv4A ]

```
const https = require('https')
const crt = require('aws-crt')
const { HttpRequest } = require('aws-crt/dist/native/http')

function sigV4Sign(method, endpoint, service, algorithm) {
    const host = new URL(endpoint).host
    const request = new HttpRequest(method, endpoint)
    request.headers.add('host', host)
    // crt.io.enable_logging(crt.io.LogLevel.INFO)
    const config = {
        service: service,
        region: process.env.AWS_REGION ? process.env.AWS_REGION : 'us-east-1',
        algorithm: algorithm,
        signature_type: crt.auth.AwsSignatureType.HttpRequestViaHeaders,
        signed_body_header: crt.auth.AwsSignedBodyHeaderType.XAmzContentSha256,
        signed_body_value: crt.auth.AwsSignedBodyValue.UnsignedPayload,
        provider: crt.auth.AwsCredentialsProvider.newDefault()
    }

    return crt.auth.aws_sign_request(request, config)
}

if (process.argv.length === 2) {
  console.error(process.argv[1] + ' <url>')
  process.exit(1)
}

const algorithm = crt.auth.AwsSigningAlgorithm.SigV4Asymmetric;

sigV4Sign('GET', process.argv[2], 'vpc-lattice-svcs', algorithm).then(
  httpResponse => {
    var headers = {}

    for (const sigv4header of httpResponse.headers) {
      headers[sigv4header[0]] = sigv4header[1]
    }

    const options = {
      hostname: new URL(process.argv[2]).host,
      path: new URL(process.argv[2]).pathname,
      method: 'GET',
      headers: headers
    }

    req = https.request(options, res => {
      console.log('statusCode:', res.statusCode)
      console.log('headers:', res.headers)
      res.on('data', d => {
        process.stdout.write(d)
      })
    })
    req.on('error', err => {
      console.log('Error: ' + err)
    })
    req.end()
  }
)
```

------

## Golang
<a name="sigv4-authenticated-requests-golang"></a>

In diesem Beispiel werden die [Smithy-Codegeneratoren für Go](https://github.com/aws/smithy-go) und das [AWS SDK für die Programmiersprache Go](https://github.com/aws/aws-sdk-go) verwendet, um Anfragen zum Signieren von Anfragen zu verarbeiten. Das Beispiel erfordert eine Go-Version von 1.21 oder höher.

------
#### [ SIGv4 ]

```
package main
 
import (
        "context"
        "flag"
        "fmt"
        "io"
        "log"
        "net/http"
        "net/http/httputil"
        "os"
        "strings"
 
        "github.com/aws/aws-sdk-go-v2/aws"
        "github.com/aws/aws-sdk-go-v2/config"
        "github.com/aws/smithy-go/aws-http-auth/credentials"
        "github.com/aws/smithy-go/aws-http-auth/sigv4"
        v4 "github.com/aws/smithy-go/aws-http-auth/v4"
)
 
type nopCloser struct {
        io.ReadSeeker
}
 
func (nopCloser) Close() error {
        return nil
}
 
type stringFlag struct {
        set   bool
        value string
}
 
 
        flag.PrintDefaults()
        os.Exit(1)
}
 
func main() {
        flag.Parse()
        if !url.set || !region.set {
                Usage()
        }
 
        cfg, err := config.LoadDefaultConfig(context.TODO(), config.WithClientLogMode(aws.LogSigning))
        if err != nil {
                log.Fatalf("failed to load SDK configuration, %v", err)
        }
 
        if len(os.Args) < 2 {
                log.Fatalf("Usage: go run main.go  <url>")
        }
 
        // Retrieve credentials from an SDK source, such as the instance profile
        sdkCreds, err := cfg.Credentials.Retrieve(context.TODO())
        if err != nil {
                log.Fatalf("Unable to retrieve credentials from SDK, %v", err)
        }
 
        creds := credentials.Credentials{
                AccessKeyID:     sdkCreds.AccessKeyID,
                SecretAccessKey: sdkCreds.SecretAccessKey,
                SessionToken:    sdkCreds.SessionToken,
        }
 
        // Add a payload body, which will not be part of the signature calculation
        body := nopCloser{strings.NewReader(`Example payload body`)}
 
        req, _ := http.NewRequest(http.MethodPost, url.value, body)
 
        // Create a sigv4a signer with specific options
        signer := sigv4.New(func(o *v4.SignerOptions) {
                o.DisableDoublePathEscape = true
                // This will add the UNSIGNED-PAYLOAD sha256 header
                o.AddPayloadHashHeader = true
                o.DisableImplicitPayloadHashing = true
        })
 
        // Perform the signing on req, using the credentials we retrieved from the SDK
        err = signer.SignRequest(&sigv4.SignRequestInput{
                Request:     req,
                Credentials: creds,
                Service:     "vpc-lattice-svcs",
                Region: region.String(),
        })
 
        if err != nil {
                log.Fatalf("%s", err)
        }
 
        res, err := httputil.DumpRequest(req, true)
 
        if err != nil {
                log.Fatalf("%s", err)
        }
 
        log.Printf("[*] Raw request\n%s\n", string(res))
 
        log.Printf("[*] Sending request to %s\n", url.value)
 
        resp, err := http.DefaultClient.Do(req)
        if err != nil {
                log.Fatalf("%s", err)
        }
 
        log.Printf("[*] Request sent\n")
 
        log.Printf("[*] Response status code: %d\n", resp.StatusCode)
 
        respBody, err := io.ReadAll(resp.Body)
        if err != nil {
                log.Fatalf("%s", err)
        }
 
        log.Printf("[*] Response body: \n%s\n", respBody)
}
```

------
#### [ SIGv4A ]

```
package main
 
import (
        "context"
        "flag"
        "fmt"
        "io"
        "log"
        "net/http"
        "net/http/httputil"
        "os"
        "strings"
 
        "github.com/aws/aws-sdk-go-v2/aws"
        "github.com/aws/aws-sdk-go-v2/config"
        "github.com/aws/smithy-go/aws-http-auth/credentials"
        "github.com/aws/smithy-go/aws-http-auth/sigv4a"
        v4 "github.com/aws/smithy-go/aws-http-auth/v4"
)
 
type nopCloser struct {
        io.ReadSeeker
}
 
func (nopCloser) Close() error {
        return nil
}
 
type stringFlag struct {
 
func main() {
        flag.Parse()
        if !url.set || !regionSet.set {
                Usage()
        }
 
        cfg, err := config.LoadDefaultConfig(context.TODO(), config.WithClientLogMode(aws.LogSigning))
        if err != nil {
                log.Fatalf("failed to load SDK configuration, %v", err)
        }
 
        if len(os.Args) < 2 {
                log.Fatalf("Usage: go run main.go <url>")
        }
 
        // Retrieve credentials from an SDK source, such as the instance profile
        sdkCreds, err := cfg.Credentials.Retrieve(context.TODO())
        if err != nil {
                log.Fatalf("Unable to retrieve credentials from SDK, %v", err)
        }
 
        creds := credentials.Credentials{
                AccessKeyID:     sdkCreds.AccessKeyID,
                SecretAccessKey: sdkCreds.SecretAccessKey,
                SessionToken:    sdkCreds.SessionToken,
        }
 
        // Add a payload body, which will not be part of the signature calculation
        body := nopCloser{strings.NewReader(`Example payload body`)}
 
        req, _ := http.NewRequest(http.MethodPost, url.value, body)
 
        // Create a sigv4a signer with specific options
        signer := sigv4a.New(func(o *v4.SignerOptions) {
                o.DisableDoublePathEscape = true
                // This will add the UNSIGNED-PAYLOAD sha256 header
                o.AddPayloadHashHeader = true
                o.DisableImplicitPayloadHashing = true
        })
 
        // Create a slice out of the provided regionset
        rs := strings.Split(regionSet.value, ",")
 
        // Perform the signing on req, using the credentials we retrieved from the SDK
        err = signer.SignRequest(&sigv4a.SignRequestInput{
                Request:     req,
                Credentials: creds,
                Service:     "vpc-lattice-svcs",
                RegionSet: rs,
        })
 
        if err != nil {
                log.Fatalf("%s", err)
        }
 
        res, err := httputil.DumpRequest(req, true)
 
        if err != nil {
                log.Fatalf("%s", err)
        }
 
        log.Printf("[*] Raw request\n%s\n", string(res))
 
        log.Printf("[*] Sending request to %s\n", url.value)
 
        resp, err := http.DefaultClient.Do(req)
        if err != nil {
                log.Fatalf("%s", err)
        }
 
        log.Printf("[*] Request sent\n")
 
        log.Printf("[*] Response status code: %d\n", resp.StatusCode)
 
        respBody, err := io.ReadAll(resp.Body)
        if err != nil {
                log.Fatalf("%s", err)
        }
 
        log.Printf("[*] Response body: \n%s\n", respBody)
}
```

------

## Golang - GRPC
<a name="sigv4-authenticated-requests-golang-grpc"></a>

In diesem Beispiel wird das [AWS SDK für die Programmiersprache Go verwendet, um das](https://github.com/aws/aws-sdk-go-v2/) Signieren von Anfragen für GRPC-Anfragen zu handhaben. Dies kann mit dem [Echo-Server](https://github.com/grpc/grpc-go/tree/master/examples/features/proto/echo) aus dem GRPC-Beispielcode-Repository verwendet werden.

```
package main

import (
    "context"
    "crypto/tls"
    "crypto/x509"

    "flag"
    "fmt"
    "log"
    "net/http"
    "net/url"
    "strings"
    "time"

    "google.golang.org/grpc"
    "google.golang.org/grpc/credentials"

    "github.com/aws/aws-sdk-go-v2/aws"
    v4 "github.com/aws/aws-sdk-go-v2/aws/signer/v4"
    "github.com/aws/aws-sdk-go-v2/config"

    ecpb "google.golang.org/grpc/examples/features/proto/echo"
)

const (
    headerContentSha    = "x-amz-content-sha256"
    headerSecurityToken = "x-amz-security-token"
    headerDate          = "x-amz-date"
    headerAuthorization = "authorization"
    unsignedPayload     = "UNSIGNED-PAYLOAD"
)

type SigV4GrpcSigner struct {
    service      string
    region       string
    credProvider aws.CredentialsProvider
    signer       *v4.Signer
}

func NewSigV4GrpcSigner(service string, region string, credProvider aws.CredentialsProvider) *SigV4GrpcSigner {
    signer := v4.NewSigner()
    return &SigV4GrpcSigner{
        service:      service,
        region:       region,
        credProvider: credProvider,
        signer:       signer,
    }
}

func (s *SigV4GrpcSigner) GetRequestMetadata(ctx context.Context, uri ...string) (map[string]string, error) {
    ri, _ := credentials.RequestInfoFromContext(ctx)
    creds, err := s.credProvider.Retrieve(ctx)
    if err != nil {
        return nil, fmt.Errorf("failed to load credentials: %w", err)
    }

    // The URI we get here is scheme://authority/service/ - for siging we want to include the RPC name
    // But RequestInfoFromContext only has the combined /service/rpc-name - so read the URI, and
    // replace the Path with what we get from RequestInfo.
    parsed, err := url.Parse(uri[0])
    if err != nil {
        return nil, err
    }
    parsed.Path = ri.Method

    // Build a request for the signer.
    bodyReader := strings.NewReader("")
    req, err := http.NewRequest("POST", uri[0], bodyReader)
    if err != nil {
        return nil, err
    }
    date := time.Now()
    req.Header.Set(headerContentSha, unsignedPayload)
    req.Header.Set(headerDate, date.String())
    if creds.SessionToken != "" {
        req.Header.Set(headerSecurityToken, creds.SessionToken)
    }
    // The signer wants this as //authority/path
    // So get this by triming off the scheme and the colon before the first slash.
    req.URL.Opaque = strings.TrimPrefix(parsed.String(), parsed.Scheme+":")

    err = s.signer.SignHTTP(context.Background(), creds, req, unsignedPayload, s.service, s.region, date)
    if err != nil {
        return nil, fmt.Errorf("failed to sign request: %w", err)
    }

    // Pull the relevant headers out of the signer, and return them to get
    // included in the request we make.
    reqHeaders := map[string]string{
        headerContentSha:    req.Header.Get(headerContentSha),
        headerDate:          req.Header.Get(headerDate),
        headerAuthorization: req.Header.Get(headerAuthorization),
    }
    if req.Header.Get(headerSecurityToken) != "" {
        reqHeaders[headerSecurityToken] = req.Header.Get(headerSecurityToken)
    }

    return reqHeaders, nil
}

func (c *SigV4GrpcSigner) RequireTransportSecurity() bool {
    return true
}

var addr = flag.String("addr", "some-lattice-service:443", "the address to connect to")
var region = flag.String("region", "us-west-2", "region")

func callUnaryEcho(client ecpb.EchoClient, message string) {
    ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
    defer cancel()
    resp, err := client.UnaryEcho(ctx, &ecpb.EchoRequest{Message: message})
    if err != nil {
        log.Fatalf("client.UnaryEcho(_) = _, %v: ", err)
    }
    fmt.Println("UnaryEcho: ", resp.Message)
}

func main() {
    flag.Parse()
    cfg, err := config.LoadDefaultConfig(context.TODO(), config.WithClientLogMode(aws.LogSigning))
    if err != nil {
        log.Fatalf("failed to load SDK configuration, %v", err)
    }

    pool, _ := x509.SystemCertPool()
    tlsConfig := &tls.Config{
        RootCAs: pool,
    }

    authority, _, _ := strings.Cut(*addr, ":") // Remove the port from the addr
    opts := []grpc.DialOption{
        grpc.WithTransportCredentials(credentials.NewTLS(tlsConfig)),

        // Lattice needs both the Authority to be set (without a port), and the SigV4 signer
        grpc.WithAuthority(authority),
        grpc.WithPerRPCCredentials(NewSigV4GrpcSigner("vpc-lattice-svcs", *region, cfg.Credentials)),
    }

    conn, err := grpc.Dial(*addr, opts...)

    if err != nil {
        log.Fatalf("did not connect: %v", err)
    }
    defer conn.Close()
    rgc := ecpb.NewEchoClient(conn)

    callUnaryEcho(rgc, "hello world")
}
```

# Datenschutz in Amazon VPC Lattice
<a name="data-protection"></a>

Das AWS [Modell](https://aws.amazon.com/compliance/shared-responsibility-model/) der gilt für den Datenschutz in Amazon VPC Lattice. Wie in diesem Modell beschrieben, AWS ist verantwortlich für den Schutz der globalen Infrastruktur, auf der alle Systeme laufen. AWS Cloud Sie sind dafür verantwortlich, die Kontrolle über Ihre in dieser Infrastruktur gehosteten Inhalte zu behalten. Dieser Inhalt enthält die Sicherheitskonfigurations- und Verwaltungsaufgaben für die von Ihnen verwendeten AWS-Services . Weitere Informationen zum Datenschutz finden Sie unter [Häufig gestellte Fragen zum Datenschutz](https://aws.amazon.com/compliance/data-privacy-faq/). Informationen zum Datenschutz in Europa finden Sie im Blog-Beitrag [AWS -Modell der geteilten Verantwortung und in der DSGVO](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) im *AWS -Sicherheitsblog*.

## Verschlüsselung während der Übertragung
<a name="encryption-transit"></a>

VPC Lattice ist ein vollständig verwalteter Service, der aus einer Steuerungsebene und einer Datenebene besteht. Jede Ebene dient einem bestimmten Zweck im Service. Die Steuerungsebene stellt die administrative Ebene bereit, die zum Erstellen, Lesen/Beschreiben, Aktualisieren, Löschen und Auflisten (CRUDL) von Ressourcen APIs verwendet wird (z. B. `CreateService` und). `UpdateService` Die Kommunikation mit der VPC-Lattice-Steuerebene ist während der Übertragung durch TLS geschützt. Die Datenebene ist die VPC Lattice Invoke API, die die Verbindung zwischen Diensten bereitstellt. TLS verschlüsselt die Kommunikation mit der VPC Lattice-Datenebene, wenn Sie HTTPS oder TLS verwenden. Die Cipher Suite und die Protokollversion verwenden die von VPC Lattice bereitgestellten Standardeinstellungen und sind nicht konfigurierbar. Weitere Informationen finden Sie unter [HTTPS-Listener für VPC Lattice-Dienste](https-listeners.md).

## Verschlüsselung im Ruhezustand
<a name="encryption-rest"></a>

Standardmäßig trägt die Verschlüsselung ruhender Daten dazu bei, den betrieblichen Aufwand und die Komplexität beim Schutz sensibler Daten zu reduzieren. Gleichzeitig können Sie damit sichere Anwendungen erstellen, die strenge Verschlüsselungsvorschriften und gesetzliche Auflagen erfüllen.

**Topics**
+ [Serverseitige Verschlüsselung mit von Amazon S3 verwalteten Schlüsseln (SSE-S3)](#s3-managed-keys)
+ [Serverseitige Verschlüsselung mit in AWS KMS (SSE-KMS) gespeicherten AWS KMS Schlüsseln](#kms-managed-keys)

### Serverseitige Verschlüsselung mit von Amazon S3 verwalteten Schlüsseln (SSE-S3)
<a name="s3-managed-keys"></a>

Wenn Sie eine serverseitige Verschlüsselung mit von Amazon S3 verwalteten Schlüsseln (SSE-S3) verwenden, wird jedes Objekt wird mit einem eindeutigen Schlüssel verschlüsselt. Als zusätzliche Sicherheitsmaßnahme verschlüsseln wir den Schlüssel selbst mit einem Stammschlüssel, den wir regelmäßig wechseln. Die serverseitige Amazon-S3-Verschlüsselung verwendet zum Verschlüsseln Ihrer Daten eine der stärksten verfügbaren Blockverschlüsselungen, 256-bit Advanced Encryption Standard (AES-256) GCM. Für Objekte, die vor AES-GCM verschlüsselt wurden, wird AES-CBC zum Entschlüsseln dieser Objekte weiterhin unterstützt. Weitere Informationen finden Sie unter [Serverseitige Verschlüsselung mit von Amazon S3 verwalteten Verschlüsselungsschlüsseln (SSE-S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingServerSideEncryption.html)) verwenden.

Wenn Sie die serverseitige Verschlüsselung mit von Amazon S3 verwalteten Verschlüsselungsschlüsseln (SSE-S3) für Ihren S3-Bucket für VPC Lattice-Zugriffsprotokolle aktivieren, verschlüsseln wir automatisch jede Zugriffsprotokolldatei, bevor sie in Ihrem S3-Bucket gespeichert wird. Weitere Informationen finden Sie unter [An Amazon S3 gesendete Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-S3) im * CloudWatch Amazon-Benutzerhandbuch*.

### Serverseitige Verschlüsselung mit in AWS KMS (SSE-KMS) gespeicherten AWS KMS Schlüsseln
<a name="kms-managed-keys"></a>

Die serverseitige Verschlüsselung mit AWS KMS Schlüsseln (SSE-KMS) ähnelt SSE-S3, bietet jedoch zusätzliche Vorteile und Gebühren für die Nutzung dieses Dienstes. Es gibt separate Berechtigungen für den AWS KMS Schlüssel, der zusätzlichen Schutz vor unbefugtem Zugriff auf Ihre Objekte in Amazon S3 bietet. SSE-KMS bietet Ihnen auch einen Prüfpfad, aus dem hervorgeht, wann und von AWS KMS wem Ihr Schlüssel verwendet wurde. Weitere Informationen finden Sie unter [Serverseitige Verschlüsselung mit AWS Key Management Service (](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html)SSE-KMS) verwenden.

**Topics**
+ [Verschlüsselung und Entschlüsselung Ihres privaten Zertifikatschlüssels](#private-key)
+ [Verschlüsselungskontext für VPC Lattice](#encryption-context)
+ [Überwachung Ihrer Verschlüsselungsschlüssel für VPC Lattice](#monitoring-encryption-keys)

#### Verschlüsselung und Entschlüsselung Ihres privaten Zertifikatschlüssels
<a name="private-key"></a>

**Ihr ACM-Zertifikat und Ihr privater Schlüssel werden mit einem AWS verwalteten KMS-Schlüssel verschlüsselt, der den Alias aws/acm hat.** **Sie können die Schlüssel-ID mit diesem Alias in der AWS KMS Konsole unter Verwaltete Schlüssel einsehen.AWS **

VPC Lattice greift nicht direkt auf Ihre ACM-Ressourcen zu. Es verwendet den AWS TLS Connection Manager, um die privaten Schlüssel für Ihr Zertifikat zu sichern und darauf zuzugreifen. Wenn Sie Ihr ACM-Zertifikat verwenden, um einen VPC Lattice-Dienst zu erstellen, ordnet VPC Lattice Ihr Zertifikat dem TLS Connection Manager zu. AWS **Dazu erstellen Sie eine Grant-ID für Ihren AWS verwalteten Schlüssel mit dem AWS KMS Präfix aws/acm.** Eine Erteilung ist ein Richtlinieninstrument, das es TLS Connection Manager erlaubt, KMS-Schlüssel in kryptografischen Operationen zu verwenden. Die Erteilung erlaubt es dem Empfänger-Prinzipal (TLS Connection Manager), die angegebenen Genehmigungsoperationen für den KMS-Schlüssel aufzurufen, um den privaten Schlüssel Ihres Zertifikats zu entschlüsseln. Der TLS-Verbindungsmanager verwendet dann das Zertifikat und den entschlüsselten privaten Schlüssel (Klartext), um eine sichere Verbindung (SSL/TLS-Sitzung) mit Clients von VPC Lattice-Diensten herzustellen. Wenn das Zertifikat von einem VPC Lattice-Dienst getrennt wird, wird der Grant zurückgezogen.

Wenn Sie den Zugriff auf den KMS-Schlüssel entziehen möchten, empfehlen wir, das Zertifikat mit dem `update-service` Befehl oder aus dem Dienst zu ersetzen AWS-Managementkonsole oder zu löschen. AWS CLI

#### Verschlüsselungskontext für VPC Lattice
<a name="encryption-context"></a>

Ein [Verschlüsselungskontext](https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html) ist ein optionaler Satz von Schlüssel-Wert-Paaren, die kontextbezogene Informationen darüber enthalten, wofür Ihr privater Schlüssel verwendet werden könnte. AWS KMS bindet den Verschlüsselungskontext an die verschlüsselten Daten und verwendet ihn als zusätzliche authentifizierte Daten, um die authentifizierte Verschlüsselung zu unterstützen.

Wenn Ihre TLS-Schlüssel mit VPC Lattice und dem TLS Connection Manager verwendet werden, ist der Name Ihres VPC Lattice-Dienstes in dem Verschlüsselungskontext enthalten, der zur Verschlüsselung Ihres Schlüssels im Ruhezustand verwendet wird. Sie können überprüfen, für welchen VPC Lattice-Dienst Ihr Zertifikat und Ihr privater Schlüssel verwendet werden, indem Sie sich den Verschlüsselungskontext in Ihren CloudTrail Protokollen ansehen, wie im nächsten Abschnitt gezeigt, oder indem Sie in der ACM-Konsole die Registerkarte **Zugeordnete Ressourcen** aufrufen.

Zur Entschlüsselung von Daten wird derselbe Verschlüsselungskontext in der Anforderung übergeben. VPC Lattice verwendet bei allen kryptografischen AWS KMS-Vorgängen denselben Verschlüsselungskontext, wobei der Schlüssel `aws:vpc-lattice:arn` und der Wert der Amazon-Ressourcenname (ARN) des VPC Lattice-Dienstes ist.

Im folgenden Beispiel sehen Sie den Verschlüsselungskontext in der Ausgabe einer Operation wie `CreateGrant`.

```
"encryptionContextEquals": {
    "aws:acm:arn": "arn:aws:acm:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
    "aws:vpc-lattice:arn": "arn:aws:vpc-lattice:us-west-2:111122223333:service/svc-0b23c1234567890ab"
}
```

#### Überwachung Ihrer Verschlüsselungsschlüssel für VPC Lattice
<a name="monitoring-encryption-keys"></a>

Wenn Sie einen AWS verwalteten Schlüssel mit Ihrem VPC Lattice-Dienst verwenden, können Sie damit Anfragen verfolgen, [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/)an die VPC Lattice sendet. AWS KMS

**CreateGrant**  
Wenn Sie Ihr ACM-Zertifikat zu einem VPC Lattice-Dienst hinzufügen, wird in Ihrem Namen eine `CreateGrant` Anfrage gesendet, dass TLS Connection Manager den mit Ihrem ACM-Zertifikat verknüpften privaten Schlüssel entschlüsseln kann.

**Sie können den `CreateGrant` Vorgang als Ereignis in **CloudTrail**, Ereignisverlauf, anzeigen. **CreateGrant****

Im Folgenden finden Sie ein Beispiel für einen Ereignisdatensatz im CloudTrail Ereignisverlauf für den `CreateGrant` Vorgang.

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "IAMUser",
        "principalId": "EX_PRINCIPAL_ID",
        "arn": "arn:aws:iam::111122223333:user/Alice",
        "accountId": "111122223333",
        "accessKeyId": "EXAMPLE_KEY_ID",
        "sessionContext": {
            "sessionIssuer": {
                "type": "IAMUser",
                "principalId": "EX_PRINCIPAL_ID",
                "arn": "arn:aws:iam::111122223333:user/Alice",
                "accountId": "111122223333",
                "userName": "Alice"
            },
            "webIdFederationData": {},
            "attributes": {
                "creationDate": "2023-02-06T23:30:50Z",
                "mfaAuthenticated": "false"
            }
        },
        "invokedBy": "acm.amazonaws.com"
    },
    "eventTime": "2023-02-07T00:07:18Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "CreateGrant",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "acm.amazonaws.com",
    "userAgent": "acm.amazonaws.com",
    "requestParameters": {
        "granteePrincipal": "tlsconnectionmanager.amazonaws.com",
        "keyId": "1234abcd-12ab-34cd-56ef-1234567890ab",
        "operations": [
            "Decrypt"
        ],
        "constraints": {
            "encryptionContextEquals": {
                "aws:acm:arn": "arn:aws:acm:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
                "aws:vpc-lattice:arn": "arn:aws:vpc-lattice:us-west-2:111122223333:service/svc-0b23c1234567890ab"
            }
        },
        "retiringPrincipal": "acm.us-west-2.amazonaws.com"
    },
    "responseElements": {
        "grantId": "f020fe75197b93991dc8491d6f19dd3cebb24ee62277a05914386724f3d48758",
        "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
    },
    "requestID": "ba178361-8ab6-4bdd-9aa2-0d1a44b2974a",
    "eventID": "8d449963-1120-4d0c-9479-f76de11ce609",
    "readOnly": false,
    "resources": [
        {
            "accountId": "111122223333",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management"
}
```

Im obigen `CreateGrant` Beispiel ist der Principal des Empfängers TLS Connection Manager, und der Verschlüsselungskontext hat den VPC-Lattice-Dienst-ARN.

**ListGrants**  
Sie können Ihre KMS-Schlüssel-ID und Ihre Konto-ID verwenden, um die API aufzurufen. `ListGrants` Dadurch erhalten Sie eine Liste aller Grants für den angegebenen KMS-Schlüssel. Weitere Informationen finden Sie unter [ListGrants](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListGrants.html).

Verwenden Sie den folgenden `ListGrants` Befehl in AWS CLI , um die Details aller Zuschüsse anzuzeigen.

```
aws kms list-grants —key-id your-kms-key-id
```

Es folgt eine Beispielausgabe.

```
{
    "Grants": [
        {
            "Operations": [
                "Decrypt"
            ], 
            "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", 
            "Name": "IssuedThroughACM", 
            "RetiringPrincipal": "acm.us-west-2.amazonaws.com", 
            "GranteePrincipal": "tlsconnectionmanager.amazonaws.com", 
            "GrantId": "f020fe75197b93991dc8491d6f19dd3cebb24ee62277a05914386724f3d48758", 
            "IssuingAccount": "arn:aws:iam::111122223333:root", 
            "CreationDate": "2023-02-06T23:30:50Z", 
            "Constraints": {
                "encryptionContextEquals": {
                  "aws:acm:arn": "arn:aws:acm:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
                  "aws:vpc-lattice:arn": "arn:aws:vpc-lattice:us-west-2:111122223333:service/svc-0b23c1234567890ab"
                }
            }
        }
    ]
}
```

Im obigen `ListGrants` Beispiel ist der Principal des Empfängers TLS Connection Manager und der Verschlüsselungskontext hat den VPC-Lattice-Dienst-ARN.

**Decrypt**  
VPC Lattice verwendet den TLS Connection Manager, um den `Decrypt` Vorgang zum Entschlüsseln Ihres privaten Schlüssels aufzurufen, um TLS-Verbindungen in Ihrem VPC Lattice-Dienst bereitzustellen. ****Sie können den `Decrypt` Vorgang im Ereignisverlauf unter Decrypt als Ereignis anzeigen. **CloudTrail******

Im Folgenden finden Sie ein Beispiel für einen Ereignisdatensatz im CloudTrail Ereignisverlauf für den `Decrypt` Vorgang.

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AWSService",
        "invokedBy": "tlsconnectionmanager.amazonaws.com"
    },
    "eventTime": "2023-02-07T00:07:23Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "Decrypt",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "tlsconnectionmanager.amazonaws.com",
    "userAgent": "tlsconnectionmanager.amazonaws.com",
    "requestParameters": {
        "encryptionContext": {
            "aws:acm:arn": "arn:aws:acm:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
            "aws:vpc-lattice:arn": "arn:aws:vpc-lattice:us-west-2:111122223333:service/svc-0b23c1234567890ab"
        },
        "encryptionAlgorithm": "SYMMETRIC_DEFAULT"
    },
    "responseElements": null,
    "requestID": "12345126-30d5-4b28-98b9-9153da559963",
    "eventID": "abcde202-ba1a-467c-b4ba-f729d45ae521",
    "readOnly": true,
    "resources": [
        {
            "accountId": "111122223333",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "sharedEventID": "abcde202-ba1a-467c-b4ba-f729d45ae521",
    "eventCategory": "Management"
}
```

# Identitäts- und Zugriffsmanagement für Amazon VPC Lattice
<a name="security-iam"></a>

In den folgenden Abschnitten wird beschrieben, wie Sie AWS Identity and Access Management (IAM) zur Sicherung Ihrer VPC Lattice-Ressourcen verwenden können, indem Sie steuern, wer VPC Lattice-API-Aktionen ausführen kann.

**Topics**
+ [So funktioniert Amazon VPC Lattice mit IAM](security_iam_service-with-iam.md)
+ [Amazon VPC Lattice API-Berechtigungen](additional-api-permissions.md)
+ [Identitätsbasierte Richtlinien für Amazon VPC Lattice](security_iam_id-based-policies.md)
+ [Verwenden von serviceverknüpften Rollen für Amazon VPC Lattice](using-service-linked-roles.md)
+ [AWS verwaltete Richtlinien für Amazon VPC Lattice](managed-policies.md)

# So funktioniert Amazon VPC Lattice mit IAM
<a name="security_iam_service-with-iam"></a>

Bevor Sie IAM verwenden, um den Zugriff auf VPC Lattice zu verwalten, sollten Sie sich darüber informieren, welche IAM-Funktionen für die Verwendung mit VPC Lattice verfügbar sind.




| IAM-Feature | VPC-Lattice-Unterstützung | 
| --- | --- | 
|  [Identitätsbasierte Richtlinien](#security_iam_service-with-iam-id-based-policies)  |   Ja  | 
|  [Ressourcenbasierte Richtlinien](#security_iam_service-with-iam-resource-based-policies)  |   Ja  | 
|  [Richtlinienaktionen](#security_iam_service-with-iam-id-based-policies-actions)  |   Ja  | 
|  [Richtlinienressourcen](#security_iam_service-with-iam-id-based-policies-resources)  |   Ja  | 
|  [Bedingungsschlüssel für die Richtlinie](#security_iam_service-with-iam-id-based-policies-conditionkeys)  |   Ja  | 
|  [ACLs](#security_iam_service-with-iam-acls)  |   Nein   | 
|  [ABAC (Tags in Richtlinien)](#security_iam_service-with-iam-tags)  |   Ja  | 
|  [Temporäre Anmeldeinformationen](#security_iam_service-with-iam-roles-tempcreds)  |   Ja  | 
|  [Servicerollen](#security_iam_service-with-iam-roles-service)  |   Nein   | 
|  [Serviceverknüpfte Rollen](#security_iam_service-with-iam-roles-service-linked)  |   Ja  | 

*Einen allgemeinen Überblick darüber, wie VPC Lattice und andere AWS Dienste mit den meisten IAM-Funktionen funktionieren, finden Sie im [AWS IAM-Benutzerhandbuch unter Dienste, die mit IAM funktionieren](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html).*

## Identitätsbasierte Richtlinien für VPC Lattice
<a name="security_iam_service-with-iam-id-based-policies"></a>

**Unterstützt Richtlinien auf Identitätsbasis:** Ja

Identitätsbasierte Richtlinien sind JSON-Berechtigungsrichtliniendokumente, die Sie einer Identität anfügen können, wie z. B. IAM-Benutzern, -Benutzergruppen oder -Rollen. Diese Richtlinien steuern, welche Aktionen die Benutzer und Rollen 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*.

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. Informationen zu sämtlichen 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*.

## Ressourcenbasierte Richtlinien innerhalb von VPC Lattice
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**Unterstützt ressourcenbasierte Richtlinien:** Ja

Ressourcenbasierte Richtlinien sind JSON-Richtliniendokumente, die Sie an eine Ressource anhängen. AWS In AWS Diensten, die ressourcenbasierte Richtlinien unterstützen, können Dienstadministratoren sie verwenden, um den Zugriff auf eine bestimmte Ressource dieses Dienstes zu steuern. AWS Für die Ressource, an welche die Richtlinie angehängt ist, legt die Richtlinie fest, welche Aktionen ein bestimmter Prinzipal unter welchen Bedingungen für diese Ressource ausführen kann. Sie müssen in einer ressourcenbasierten Richtlinie einen Prinzipal angeben.

VPC Lattice unterstützt *Authentifizierungsrichtlinien*, eine ressourcenbasierte Richtlinie, mit der Sie den Zugriff auf Dienste in Ihrem Servicenetzwerk steuern können. Weitere Informationen finden Sie unter [Steuern Sie den Zugriff auf VPC Lattice-Dienste mithilfe von Authentifizierungsrichtlinien](auth-policies.md).

VPC Lattice unterstützt auch ressourcenbasierte Berechtigungsrichtlinien für die Integration mit. AWS Resource Access Manager Sie können diese ressourcenbasierten Richtlinien verwenden, um anderen AWS Konten oder Organisationen die Erlaubnis zur Verwaltung der Konnektivität für Dienste, Ressourcenkonfigurationen und Dienstnetzwerke zu erteilen. Weitere Informationen finden Sie unter [Teilen Ihrer VPC-Lattice-Entitäten](sharing.md).

## Politische Maßnahmen für VPC Lattice
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

**Unterstützt Richtlinienaktionen:** Ja

In einer IAM-Richtlinienanweisung können Sie jede API-Aktion von jedem Service, der IAM unterstützt, angeben. Verwenden Sie für VPC Lattice das folgende Präfix mit dem Namen der API-Aktion:. `vpc-lattice:` Beispiel: `vpc-lattice:CreateService`, `vpc-lattice:CreateTargetGroup` und `vpc-lattice:PutAuthPolicy`.

Wenn Sie mehrere Aktionen in einer einzigen Anweisung angeben möchten, trennen Sie diese wie folgt durch Kommas:

```
"Action": [ "vpc-lattice:action1", "vpc-lattice:action2" ]
```

Sie können auch mehrere Aktionen mittels Platzhaltern angeben. Sie können zum Beispiel alle Aktionen, deren Namen mit dem Wort `Get`beginnen, wie folgt angeben:

```
"Action": "vpc-lattice:Get*"
```

*Eine vollständige Liste der VPC Lattice-API-Aktionen finden Sie unter [Von Amazon VPC Lattice definierte Aktionen](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonvpclattice.html#amazonvpclattice-actions-as-permissions) in der Service Authorization Reference.*

## Politische Ressourcen für VPC Lattice
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

**Unterstützt Richtlinienressourcen:** Ja

In einer IAM-Richtlinienanweisung gibt das `Resource`-Element das Objekt oder die Objekte an, für die die Anweisung gilt. Für VPC Lattice gilt jede IAM-Richtlinienanweisung für die Ressourcen, die Sie mithilfe ihrer angeben. ARNs

Das spezifische Format des Amazon Resource Name (ARN) hängt von der Ressource ab. Wenn Sie einen ARN angeben, ersetzen Sie den *italicized* Text durch Ihre ressourcenspezifischen Informationen. 
+ **Abonnements für Zugriffsprotokolle:**

  ```
  "Resource": "arn:aws:vpc-lattice:region:account-id:accesslogsubscription/access-log-subscription-id"
  ```
+ **Zuhörer:**

  ```
  "Resource": "arn:aws:vpc-lattice:region:account-id:service/service-id/listener/listener-id"
  ```
+ **Ressourcen-Gateways**

  ```
  "Resource": "arn:aws:vpc-lattice:region:account-id:resourcegateway/resource-gateway-id"
  ```
+ **Konfiguration der Ressourcen**

  ```
  "Resource": "arn:aws:vpc-lattice:region:account-id:resourceconfiguration/resource-configuration-id"
  ```
+ **Regeln:**

  ```
  "Resource": "arn:aws:vpc-lattice:region:account-id:service/service-id/listener/listener-id/rule/rule-id"
  ```
+ **Services:**

  ```
  "Resource": "arn:aws:vpc-lattice:region:account-id:service/service-id"
  ```
+ **Servicenetzwerke:**

  ```
  "Resource": "arn:aws:vpc-lattice:region:account-id:servicenetwork/service-network-id"
  ```
+ **Verbände von Servicenetzwerken:**

  ```
  "Resource": "arn:aws:vpc-lattice:region:account-id:servicenetworkserviceassociation/service-network-service-association-id"
  ```
+ **Zuordnungen zur Konfiguration von Dienstnetzwerkressourcen**

  ```
  "Resource": "arn:aws:vpc-lattice:region:account-id:servicenetworkresourceassociation/service-network-resource-association-id"
  ```
+ **VPC-Zuordnungen für das Servicenetzwerk:**

  ```
  "Resource": "arn:aws:vpc-lattice:region:account-id:servicenetworkvpcassociation/service-network-vpc-association-id"
  ```
+ **Zielgruppen:**

  ```
  "Resource": "arn:aws:vpc-lattice:region:account-id:targetgroup/target-group-id"
  ```

## Schlüssel für Richtlinienbedingungen für VPC Lattice
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

**Unterstützt servicespezifische Richtlinienbedingungsschlüssel:** Ja

Administratoren können mithilfe von AWS JSON-Richtlinien angeben, wer auf was Zugriff 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*.

*Eine Liste der VPC Lattice-Bedingungsschlüssel finden Sie unter [Bedingungsschlüssel für Amazon VPC Lattice](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonvpclattice.html#amazonvpclattice-policy-keys) in der Service Authorization Reference.*

AWS unterstützt globale Bedingungsschlüssel und dienstspezifische Bedingungsschlüssel. Informationen zu AWS globalen Bedingungsschlüsseln finden Sie unter [Kontext-Schlüssel für AWS globale Bedingungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) im *IAM-Benutzerhandbuch*.

## Zugriffskontrolllisten (ACLs) in VPC Lattice
<a name="security_iam_service-with-iam-acls"></a>

**Unterstützt ACLs**: Nein 

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.

## Attributbasierte Zugriffskontrolle (ABAC) mit VPC Lattice
<a name="security_iam_service-with-iam-tags"></a>

**Unterstützt ABAC (Tags in Richtlinien):** Ja

Die attributbasierte Zugriffskontrolle (ABAC) ist eine Autorisierungsstrategie, bei der Berechtigungen basierend auf Attributen, auch als Tags bezeichnet, definiert werden. Sie können Tags an IAM-Entitäten und AWS -Ressourcen anhängen und dann ABAC-Richtlinien entwerfen, um Operationen zu ermöglichen, wenn das Tag des Prinzipals mit dem Tag auf der Ressource übereinstimmt.

Um den Zugriff auf der Grundlage von Tags zu steuern, geben Sie im Bedingungselement einer[ Richtlinie Tag-Informationen ](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)an, indem Sie die Schlüssel `aws:ResourceTag/key-name`, `aws:RequestTag/key-name`, oder Bedingung `aws:TagKeys` verwenden.

Wenn ein Service alle drei Bedingungsschlüssel für jeden Ressourcentyp unterstützt, lautet der Wert für den Service **Ja**. Wenn ein Service alle drei Bedingungsschlüssel für nur einige Ressourcentypen unterstützt, lautet der Wert **Teilweise**.

*Weitere Informationen zu ABAC finden Sie unter [Definieren von Berechtigungen mit ABAC-Autorisierung](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) im IAM-Benutzerhandbuch*. Um ein Tutorial mit Schritten zur Einstellung von ABAC anzuzeigen, siehe [Attributbasierte Zugriffskontrolle (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html) verwenden im *IAM-Benutzerhandbuch*.

## Temporäre Anmeldeinformationen mit VPC Lattice verwenden
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

**Unterstützt temporäre Anmeldeinformationen:** Ja

Temporäre Anmeldeinformationen ermöglichen kurzfristigen Zugriff auf AWS Ressourcen und werden automatisch erstellt, wenn Sie einen Verbund verwenden oder die Rollen wechseln. AWS empfiehlt, temporäre Anmeldeinformationen dynamisch zu generieren, anstatt langfristige Zugriffsschlüssel zu verwenden. Weitere Informationen finden Sie unter [Temporäre Anmeldeinformationen in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) und [AWS-Services , die mit IAM funktionieren](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) im *IAM-Benutzerhandbuch*.

## Servicerollen für VPC Lattice
<a name="security_iam_service-with-iam-roles-service"></a>

**Unterstützt Servicerollen:** Nein 

 Eine Servicerolle ist eine [IAM-Rolle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html), die ein Service annimmt, um Aktionen in Ihrem Namen auszuführen. Ein IAM-Administrator kann eine Servicerolle innerhalb von IAM erstellen, ändern und löschen. Weitere Informationen finden Sie unter [Erstellen einer Rolle zum Delegieren von Berechtigungen an einen AWS-Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) im *IAM-Benutzerhandbuch*. 

**Warnung**  
Durch das Ändern der Berechtigungen für eine Servicerolle kann die Funktionalität von VPC Lattice beeinträchtigt werden. Bearbeiten Sie Servicerollen nur, wenn VPC Lattice eine Anleitung dazu bereitstellt.

## Serviceverknüpfte Rollen für VPC Lattice
<a name="security_iam_service-with-iam-roles-service-linked"></a>

**Unterstützt serviceverknüpfte Rollen:** Ja

 Eine dienstverknüpfte Rolle ist eine Art von Servicerolle, die mit einer verknüpft ist. AWS-Service Der Service kann die Rolle übernehmen, um eine Aktion in Ihrem Namen auszuführen. Dienstbezogene Rollen werden in Ihrem Dienst angezeigt AWS-Konto und gehören dem Dienst. Ein IAM-Administrator kann die Berechtigungen für Service-verknüpfte Rollen anzeigen, aber nicht bearbeiten. 

Informationen zum Erstellen oder Verwalten von dienstverknüpften VPC Lattice-Rollen finden Sie unter. [Verwenden von serviceverknüpften Rollen für Amazon VPC Lattice](using-service-linked-roles.md)

# Amazon VPC Lattice API-Berechtigungen
<a name="additional-api-permissions"></a>

Sie müssen IAM-Identitäten (wie Benutzern oder Rollen) die Berechtigung erteilen, die benötigten VPC Lattice API-Aktionen aufzurufen, wie unter beschrieben. [Politische Maßnahmen für VPC Lattice](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-actions) Darüber hinaus müssen Sie für einige VPC Lattice-Aktionen IAM-Identitäten die Erlaubnis erteilen, bestimmte Aktionen von anderen aus aufzurufen. AWS APIs

## Erforderliche Berechtigungen für die API
<a name="required-API-permissions"></a>

Wenn Sie die folgenden Aktionen über die API aufrufen, müssen Sie IAM-Benutzern die Erlaubnis erteilen, die angegebenen Aktionen aufzurufen.

`CreateResourceConfiguration`  
+ `vpc-lattice:CreateResourceConfiguration`
+ `ec2:DescribeSubnets`
+ `rds:DescribeDBInstances`
+ `rds:DescribeDBClusters`

`CreateResourceGateway`  
+ `vpc-lattice:CreateResourceGateway`
+ `ec2:AssignPrivateIpAddresses`
+ `ec2:AssignIpv6Addresses`
+ `ec2:CreateNetworkInterface`
+ `ec2:CreateNetworkInterfacePermission`
+ `ec2:DeleteNetworkInterface`
+ `ec2:DescribeNetworkInterfaces`
+ `ec2:DescribeSecurityGroups`
+ `ec2:DescribeSubnets`

`DeleteResourceGateway`  
+ `vpc-lattice:DeleteResourceGateway`
+ `ec2:DeleteNetworkInterface`

`UpdateResourceGateway`  
+ `vpc-lattice:UpdateResourceGateway`
+ `ec2:AssignPrivateIpAddresses`
+ `ec2:AssignIpv6Addresses`
+ `ec2:UnassignPrivateIpAddresses`
+ `ec2:CreateNetworkInterface`
+ `ec2:CreateNetworkInterfacePermission`
+ `ec2:DeleteNetworkInterface`
+ `ec2:DescribeNetworkInterfaces`
+ `ec2:DescribeSecurityGroups`
+ `ec2:DescribeSubnets`
+ `ec2:ModifyNetworkInterfaceAttribute`

`CreateServiceNetworkResourceAssociation`  
+ `vpc-lattice:CreateServiceNetworkResourceAssociation`
+ `ec2:AssignIpv6Addresses`
+ `ec2:CreateNetworkInterface`
+ `ec2:CreateNetworkInterfacePermission`
+ `ec2:DescribeNetworkInterfaces`

`CreateServiceNetworkVpcAssociation`  
+ `vpc-lattice:CreateServiceNetworkVpcAssociation`
+ `ec2:DescribeVpcs`
+ `ec2:DescribeSecurityGroups`(Nur erforderlich, wenn Sicherheitsgruppen bereitgestellt werden)

`UpdateServiceNetworkVpcAssociation`  
+ `vpc-lattice:UpdateServiceNetworkVpcAssociation`
+ `ec2:DescribeSecurityGroups`(Wird nur benötigt, wenn Sicherheitsgruppen bereitgestellt werden)

`CreateTargetGroup`  
+ `vpc-lattice:CreateTargetGroup`
+ `ec2:DescribeVpcs`

`RegisterTargets`  
+ `vpc-lattice:RegisterTargets`
+ `ec2:DescribeInstances`(Wird nur benötigt, wenn der Zielgruppentyp angegeben `INSTANCE` ist)
+ `ec2:DescribeVpcs`(Wird nur benötigt, wenn `INSTANCE` oder `IP` ist der Zielgruppentyp)
+ `ec2:DescribeSubnets`(Wird nur benötigt, wenn `INSTANCE` oder der Zielgruppentyp `IP` ist)
+ `lambda:GetFunction`(Wird nur benötigt, wenn der Zielgruppentyp `LAMBDA` ist)
+ `lambda:AddPermission`(Nur erforderlich, wenn die Zielgruppe noch nicht berechtigt ist, die angegebene Lambda-Funktion aufzurufen)

`DeregisterTargets`  
+ `vpc-lattice:DeregisterTargets`

`CreateAccessLogSubscription`  
+ `vpc-lattice:CreateAccessLogSubscription`
+ `logs:GetLogDelivery`
+ `logs:CreateLogDelivery`

`DeleteAccessLogSubscription`  
+ `vpc-lattice:DeleteAccessLogSubscription`
+ `logs:DeleteLogDelivery`

`UpdateAccessLogSubscription`  
+ `vpc-lattice:UpdateAccessLogSubscription`
+ `logs:UpdateLogDelivery`

# Identitätsbasierte Richtlinien für Amazon VPC Lattice
<a name="security_iam_id-based-policies"></a>

Standardmäßig sind Benutzer und Rollen nicht berechtigt, VPC-Lattice-Ressourcen zu erstellen oder zu ändern. Ein IAM-Administrator muss IAM-Richtlinien erstellen, die Benutzern die Berechtigung erteilen, Aktionen für die Ressourcen auszuführen, die sie benötigen.

Informationen dazu, wie Sie unter Verwendung dieser beispielhaften JSON-Richtliniendokumente eine identitätsbasierte IAM-Richtlinie erstellen, finden Sie unter [Erstellen von IAM-Richtlinien (Konsole)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) im *IAM-Benutzerhandbuch*.

*Einzelheiten zu den von VPC Lattice definierten Aktionen und Ressourcentypen, einschließlich des Formats ARNs für die einzelnen Ressourcentypen, finden Sie unter [Aktionen, Ressourcen und Bedingungsschlüssel für Amazon VPC Lattice](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonvpclattice.html) in der Service Authorization Reference.*

**Topics**
+ [Best Practices für Richtlinien](#security_iam_service-with-iam-policy-best-practices)
+ [Für den vollen Zugriff sind zusätzliche Berechtigungen erforderlich](#security_iam_id-based-policy-additional-permissions)
+ [Beispiele für identitätsbasierte Richtlinien für VPC Lattice](#security_iam_id-based-policy-examples)

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

Identitätsbasierte Richtlinien legen fest, ob jemand VPC Lattice-Ressourcen in Ihrem Konto erstellen, darauf zugreifen oder sie 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*.

## Für den vollen Zugriff sind zusätzliche Berechtigungen erforderlich
<a name="security_iam_id-based-policy-additional-permissions"></a>

Um andere AWS Dienste, in die VPC Lattice integriert ist, und die gesamte Suite von VPC Lattice-Funktionen nutzen zu können, benötigen Sie spezielle zusätzliche Berechtigungen. Diese Berechtigungen sind nicht in der `VPCLatticeFullAccess` verwalteten Richtlinie enthalten, da das Risiko besteht, dass die Rechte eines unübersichtlichen [Stellvertreters eskalieren](https://docs.aws.amazon.com//IAM/latest/UserGuide/confused-deputy.html). 

Sie müssen Ihrer Rolle die folgende Richtlinie hinzufügen und sie zusammen mit der `VPCLatticeFullAccess` verwalteten Richtlinie verwenden.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "firehose:TagDeliveryStream",
                "lambda:AddPermission",
                "s3:PutBucketPolicy"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "logs:PutResourcePolicy"
            ],
            "Resource": "*",
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "aws:CalledVia": [
                        "vpc-lattice.amazonaws.com"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:AttachRolePolicy",
                "iam:PutRolePolicy"
            ],
            "Resource": "arn:aws:iam::*:role/aws-service-role/vpc-lattice.amazonaws.com/AWSServiceRoleForVpcLattice"
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:AttachRolePolicy",
                "iam:PutRolePolicy"
            ],
            "Resource": "arn:aws:iam::*:role/aws-service-role/delivery.logs.amazonaws.com/AWSServiceRoleForLogDelivery*"
        }
    ]
}
```

------

Diese Richtlinie bietet die folgenden zusätzlichen Berechtigungen:
+ `iam:AttachRolePolicy`: Ermöglicht es Ihnen, die angegebene verwaltete Richtlinie an die angegebene IAM-Rolle anzuhängen. 
+ `iam:PutRolePolicy`: Ermöglicht das Hinzufügen oder Aktualisieren eines Inline-Richtliniendokuments, das in die angegebene IAM-Rolle eingebettet ist.
+ `s3:PutBucketPolicy`: Ermöglicht es Ihnen, eine Bucket-Richtlinie auf einen Amazon S3 S3-Bucket anzuwenden.
+ `firehose:TagDeliveryStream`: Ermöglicht das Hinzufügen oder Aktualisieren von Tags für Firehose-Lieferstreams.

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

**Topics**
+ [Beispielrichtlinie: VPC-Zuordnungen zu einem Servicenetzwerk verwalten](#security_iam_id-based-policy-examples-vpc-to-service-network-association)
+ [Beispielrichtlinie: Dienstzuordnungen zu einem Dienstnetzwerk erstellen](#security_iam_id-based-policy-examples-service-to-service-network-association)
+ [Beispielrichtlinie: Hinzufügen von Tags zu Ressourcen](#security_iam_id-based-policy-examples-tag-resources)
+ [Beispielrichtlinie: Erstellen Sie eine serviceverknüpfte Rolle](#security_iam_id-based-policy-examples-service-linked-role)

### Beispielrichtlinie: VPC-Zuordnungen zu einem Servicenetzwerk verwalten
<a name="security_iam_id-based-policy-examples-vpc-to-service-network-association"></a>

Das folgende Beispiel zeigt eine Richtlinie, die Benutzern mit dieser Richtlinie die Berechtigung erteilt, die VPC-Zuordnungen zu einem Dienstnetzwerk zu erstellen, zu aktualisieren und zu löschen, jedoch nur für die in der Bedingung angegebene VPC und das Dienstnetzwerk. Weitere Informationen zur Angabe von Bedingungsschlüssel finden Sie unter [Schlüssel für Richtlinienbedingungen für VPC Lattice](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-conditionkeys). 

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Effect": "Allow",
         "Action": [
            "vpc-lattice:CreateServiceNetworkVpcAssociation",
            "vpc-lattice:UpdateServiceNetworkVpcAssociation",
            "vpc-lattice:DeleteServiceNetworkVpcAssociation"
         ],
         "Resource": [
            "*"
         ],
         "Condition": {
            "StringEquals": { 
               "vpc-lattice:ServiceNetworkArn": "arn:aws:vpc-lattice:us-west-2:123456789012:servicenetwork/sn-903004f88example",
               "vpc-lattice:VpcId": "vpc-1a2b3c4d"
            }
         }
      }
   ]
}
```

------

### Beispielrichtlinie: Dienstzuordnungen zu einem Dienstnetzwerk erstellen
<a name="security_iam_id-based-policy-examples-service-to-service-network-association"></a>

Wenn Sie keine Bedingungsschlüssel verwenden, um den Zugriff auf VPC-Lattice-Ressourcen zu steuern, können Sie stattdessen die Anzahl ARNs der Ressourcen in dem `Resource` Element angeben, um den Zugriff zu kontrollieren.

Das folgende Beispiel zeigt eine Richtlinie, die die Dienstzuordnungen auf ein Dienstnetzwerk beschränkt, das Benutzer mit dieser Richtlinie erstellen können, indem sie den ARNs Dienst und das Dienstnetzwerk angeben, die mit der `CreateServiceNetworkServiceAssociation` API-Aktion verwendet werden können. Weitere Hinweise zur Angabe der ARN-Werte finden Sie unter[Politische Ressourcen für VPC Lattice](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-resources).

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Effect": "Allow",
         "Action": [
            "vpc-lattice:CreateServiceNetworkServiceAssociation"
         ],
         "Resource": [
            "arn:aws:vpc-lattice:us-west-2:123456789012:servicenetworkserviceassociation/*",
            "arn:aws:vpc-lattice:us-west-2:123456789012:service/svc-04d5cc9b88example",
            "arn:aws:vpc-lattice:us-west-2:123456789012:servicenetwork/sn-903004f88example"
         ]
      }
   ]
}
```

------

### Beispielrichtlinie: Hinzufügen von Tags zu Ressourcen
<a name="security_iam_id-based-policy-examples-tag-resources"></a>

Das folgende Beispiel zeigt eine Richtlinie, die Benutzern mit dieser Richtlinie die Berechtigung gibt, Tags auf VPC-Lattice-Ressourcen zu erstellen. 

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Effect": "Allow",
         "Action": [
            "vpc-lattice:TagResource"
         ],
         "Resource": "arn:aws:vpc-lattice:us-west-2:123456789012:*/*"
      }
   ]
}
```

------

### Beispielrichtlinie: Erstellen Sie eine serviceverknüpfte Rolle
<a name="security_iam_id-based-policy-examples-service-linked-role"></a>

VPC Lattice benötigt Berechtigungen zum Erstellen einer serviceverknüpften Rolle, wenn ein Benutzer in Ihrem Unternehmen zum ersten Mal VPC AWS-Konto Lattice-Ressourcen erstellt. Wenn die serviceverknüpfte Rolle noch nicht existiert, erstellt VPC Lattice sie in Ihrem Konto. Die serviceverknüpfte Rolle erteilt VPC Lattice Berechtigungen, sodass sie in AWS-Services Ihrem Namen andere Personen anrufen kann. Weitere Informationen finden Sie unter [Verwenden von serviceverknüpften Rollen für Amazon VPC Lattice](using-service-linked-roles.md).

Damit diese automatische Rollenerstellung möglich ist, müssen Benutzer über Berechtigungen für die Aktion `iam:CreateServiceLinkedRole` verfügen.

```
"Action": "iam:CreateServiceLinkedRole"
```

Das folgende Beispiel zeigt eine Richtlinie, die Benutzern mit dieser Richtlinie die Berechtigung gibt, eine dienstverknüpfte Rolle für VPC Lattice zu erstellen.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Effect": "Allow",
         "Action": "iam:CreateServiceLinkedRole",
         "Resource": "arn:aws:iam::*:role/aws-service-role/vpc-lattice.amazonaws.com/AWSServiceRoleForVpcLattice",
         "Condition": {
            "StringLike": {
               "iam:AWSServiceName":"vpc-lattice.amazonaws.com"
            }
         }
      }
   ]
}
```

------

Weitere Informationen finden Sie unter [serviceverknüpfte Rollenberechtigung](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions) im *IAM-Benutzerhandbuch*.

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

Amazon VPC Lattice verwendet eine serviceverknüpfte Rolle für die Berechtigungen, die erforderlich sind, um andere in AWS-Services Ihrem Namen anzurufen. Weitere Informationen finden Sie unter [Serviceverknüpfte Rollen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create-service-linked-role.html) im *IAM-Benutzerhandbuch*.

VPC Lattice verwendet die mit dem Dienst verknüpfte Rolle namens. AWSServiceRoleForVpcLattice

## Dienstbezogene Rollenberechtigungen für VPC Lattice
<a name="slr-permissions"></a>

Die serviceverknüpfte Rolle **AWSServiceRoleForVpcLattice** vertraut darauf, dass der folgende Service die Rolle annimmt:
+ `vpc-lattice.amazonaws.com`

Die genannte Rollenberechtigungsrichtlinie AWSVpcLatticeServiceRolePolicy ermöglicht es VPC Lattice, CloudWatch Metriken im Namespace zu veröffentlichen. `AWS/VpcLattice` Weitere Informationen finden Sie [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSVpcLatticeServiceRolePolicy.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSVpcLatticeServiceRolePolicy.html)in der Referenz zu *AWS verwalteten* Richtlinien.

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 [Beispielrichtlinie: Erstellen Sie eine serviceverknüpfte Rolle](security_iam_id-based-policies.md#security_iam_id-based-policy-examples-service-linked-role).

## Eine serviceverknüpfte Rolle für VPC Lattice erstellen
<a name="create-slr"></a>

Sie müssen eine serviceverknüpfte Rolle nicht manuell erstellen. Wenn Sie VPC-Lattice-Ressourcen in der AWS-Managementkonsole, der oder der AWS API erstellen AWS CLI, erstellt VPC Lattice 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 VPC Lattice-Ressourcen erstellen, erstellt VPC Lattice die serviceverknüpfte Rolle erneut für Sie.

## Eine serviceverknüpfte Rolle für VPC Lattice bearbeiten
<a name="edit-slr"></a>

Sie können die Beschreibung der Verwendung von **AWSServiceRoleForVpcLattice**IAM bearbeiten. Weitere Informationen finden Sie unter [Bearbeiten einer serviceverknüpften Rollenbeschreibung](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-service-linked-role.html#edit-service-linked-role-iam-console) im *IAM-Benutzerhandbuch*.

## Löschen Sie eine serviceverknüpfte Rolle für VPC Lattice
<a name="delete-slr"></a>

Wenn Sie Amazon VPC Lattice nicht mehr verwenden müssen, empfehlen wir Ihnen, Amazon VPC Lattice zu löschen. **AWSServiceRoleForVpcLattice**

Sie können diese serviceverknüpfte Rolle erst löschen, nachdem Sie alle VPC Lattice-Ressourcen in Ihrem gelöscht haben. AWS-Konto

Verwenden Sie die IAM-Konsole, die oder die AWS API AWS CLI, um die serviceverknüpfte Rolle zu löschen. **AWSServiceRoleForVpcLattice** Weitere Informationen finden Sie unter [Löschen einer serviceverknüpften Rolle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_delete.html#id_roles_manage_delete_slr) im *IAM-Benutzerhandbuch*.

Nachdem Sie eine serviceverknüpfte Rolle gelöscht haben, erstellt VPC Lattice die Rolle erneut, wenn Sie VPC Lattice-Ressourcen in Ihrem erstellen. AWS-Konto

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

VPC Lattice unterstützt die Verwendung von serviceverknüpften Rollen in allen Regionen, in denen der Service verfügbar ist.

# AWS verwaltete Richtlinien für Amazon VPC Lattice
<a name="managed-policies"></a>

Eine AWS verwaltete Richtlinie ist eine eigenständige Richtlinie, die von erstellt und verwaltet wird. AWS AWS Verwaltete Richtlinien dienen dazu, Berechtigungen für viele gängige Anwendungsfälle bereitzustellen, sodass Sie damit beginnen können, Benutzern, Gruppen und Rollen Berechtigungen zuzuweisen.

Beachten Sie, dass AWS verwaltete Richtlinien für Ihre speziellen Anwendungsfälle möglicherweise keine Berechtigungen mit den geringsten Rechten gewähren, da sie allen AWS Kunden zur Verfügung stehen. Wir empfehlen Ihnen, die Berechtigungen weiter zu reduzieren, indem Sie [vom Kunden verwaltete Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies) definieren, die speziell auf Ihre Anwendungsfälle zugeschnitten sind.

Sie können die in AWS verwalteten Richtlinien definierten Berechtigungen nicht ändern. Wenn die in einer AWS verwalteten Richtlinie definierten Berechtigungen AWS aktualisiert werden, wirkt sich das Update auf alle Prinzidentitäten (Benutzer, Gruppen und Rollen) aus, denen die Richtlinie zugeordnet ist. AWS aktualisiert eine AWS verwaltete Richtlinie höchstwahrscheinlich, wenn eine neue Richtlinie eingeführt AWS-Service wird oder neue API-Operationen für bestehende Dienste verfügbar werden.

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) im *IAM-Benutzerhandbuch*.

## AWS verwaltete Richtlinie: VPCLattice FullAccess
<a name="vpc-lattice-fullaccess-policy"></a>

Diese Richtlinie bietet vollen Zugriff auf Amazon VPC Lattice und eingeschränkten Zugriff auf andere abhängige Dienste. Sie beinhaltet Berechtigungen für Folgendes:
+ ACM — Rufen Sie den SSL/TLS Zertifikat-ARN für benutzerdefinierte Domainnamen ab.
+ CloudWatch — Zugriffsprotokolle und Überwachungsdaten anzeigen.
+ CloudWatch Protokolle — Richten Sie Zugriffsprotokolle ein und senden Sie sie an CloudWatch Logs.
+ Amazon EC2 — Netzwerkschnittstellen konfigurieren und Informationen über EC2-Instances abrufen und. VPCs Dies wird verwendet, um Ressourcenkonfigurationen, Ressourcen-Gateways und Zielgruppen zu erstellen, VPC Lattice-Entitätszuordnungen zu konfigurieren und Ziele zu registrieren.
+ Elastic Load Balancing — Rufen Sie Informationen über einen Application Load Balancer ab, um ihn als Ziel zu registrieren.
+ Firehose — Ruft Informationen zu Lieferströmen ab, die zum Speichern von Zugriffsprotokollen verwendet werden.
+ Lambda — Ruft Informationen über eine Lambda-Funktion ab, um sie als Ziel zu registrieren.
+ Amazon RDS — Rufen Sie Informationen über RDS-Cluster und -Instances ab.
+ Amazon S3 — Rufen Sie Informationen über S3-Buckets ab, die zum Speichern von Zugriffsprotokollen verwendet werden.

Informationen zu den Berechtigungen für diese Richtlinie finden Sie unter [VPCLatticeFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/VPCLatticeFullAccess.html) in der *Referenz zu von AWS verwalteten Richtlinien*.

Um andere AWS Dienste, in die VPC Lattice integriert ist, und die gesamte Suite von VPC Lattice-Funktionen nutzen zu können, benötigen Sie spezielle zusätzliche Berechtigungen. Diese Berechtigungen sind nicht in der `VPCLatticeFullAccess` verwalteten Richtlinie enthalten, da das Risiko besteht, dass die Rechte eines unübersichtlichen [Stellvertreters eskalieren](https://docs.aws.amazon.com//IAM/latest/UserGuide/confused-deputy.html). Weitere Informationen finden Sie unter [Für den vollen Zugriff sind zusätzliche Berechtigungen erforderlich](security_iam_id-based-policies.md#security_iam_id-based-policy-additional-permissions).

## AWS verwaltete Richtlinie: VPCLattice ReadOnlyAccess
<a name="vpc-lattice-read-onlyaccess-policy"></a>

Diese Richtlinie bietet Lesezugriff auf Amazon VPC Lattice und eingeschränkten Zugriff auf andere abhängige Dienste. Sie umfasst Berechtigungen für Folgendes:
+ ACM — Rufen Sie den SSL/TLS Zertifikat-ARN für benutzerdefinierte Domainnamen ab.
+ CloudWatch — Zugriffsprotokolle und Überwachungsdaten anzeigen.
+ CloudWatch Protokolle — Zeigt Informationen zur Protokollzustellung für Zugriffsprotokollabonnements an.
+ Amazon EC2 — Rufen Sie Informationen über EC2-Instances ab und erstellen VPCs Sie Zielgruppen und registrieren Sie Ziele.
+ Elastic Load Balancing — Ruft Informationen über einen Application Load Balancer ab.
+ Firehose — Ruft Informationen zu Lieferströmen für die Zugriffs-Log-Zustellung ab.
+ Lambda — Informationen zu einer Lambda-Funktion anzeigen.
+ Amazon RDS — Rufen Sie Informationen über RDS-Cluster und -Instances ab.
+ Amazon S3 — Rufen Sie Informationen zu S3-Buckets für die Zustellung von Zugriffsprotokollen ab.

Informationen zu den Berechtigungen für diese Richtlinie finden Sie unter [VPCLatticeReadOnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/VPCLatticeReadOnlyAccess.html) in der *Referenz zu von AWS verwalteten Richtlinien*.

## AWS verwaltete Richtlinie: VPCLattice ServicesInvokeAccess
<a name="vpc-lattice-services-invoke-access-policy"></a>

Diese Richtlinie bietet Zugriff zum Aufrufen der Amazon VPC Lattice-Dienste.

Informationen zu den Berechtigungen für diese Richtlinie finden Sie unter [VPCLatticeServicesInvokeAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/VPCLatticeServicesInvokeAccess.html) in der *Referenz zu von AWS verwalteten Richtlinien*.

## AWS verwaltete Richtlinie: AWSVpc LatticeServiceRolePolicy
<a name="service-linked-role-policy"></a>

Diese Richtlinie ist einer dienstbezogenen Rolle zugeordnet, die so benannt ist **AWSServiceRoleForVpcLattice**, dass VPC Lattice Aktionen in Ihrem Namen ausführen kann. Sie können diese Richtlinie nicht mit Ihren IAM-Entitäten verknüpfen. Weitere Informationen finden Sie unter [Verwenden von serviceverknüpften Rollen für Amazon VPC Lattice](using-service-linked-roles.md).

Informationen zu den Berechtigungen für diese Richtlinie finden Sie unter [AWSVpcLatticeServiceRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSVpcLatticeServiceRolePolicy.html) in der *Referenz zu von AWS verwalteten Richtlinien*.

## VPC Lattice-Updates für verwaltete Richtlinien AWS
<a name="policy-updates"></a>

Sehen Sie sich Details zu Aktualisierungen der AWS verwalteten Richtlinien für VPC Lattice an, seit dieser Service begonnen hat, diese Änderungen zu verfolgen. Abonnieren Sie den RSS-Feed für das VPC Lattice User Guide, um automatische Benachrichtigungen über Änderungen an dieser Seite zu erhalten.


| Änderungen | Beschreibung | Date | 
| --- | --- | --- | 
| [VPCLatticeFullAccess](#vpc-lattice-fullaccess-policy) | VPC Lattice fügt Nur-Lese-Berechtigungen zur Beschreibung von Amazon RDS-Clustern und -Instances hinzu. | 01. Dezember 2024 | 
| [VPCLatticeReadOnlyAccess](#vpc-lattice-read-onlyaccess-policy) | VPC Lattice fügt Nur-Lese-Berechtigungen zur Beschreibung von Amazon RDS-Clustern und -Instances hinzu. | 01. Dezember 2024 | 
| [AWSVpcLatticeServiceRolePolicy](#service-linked-role-policy) | VPC Lattice fügt Berechtigungen hinzu, damit VPC Lattice eine vom Anforderer verwaltete Netzwerkschnittstelle erstellen kann. | 01. Dezember 2024 | 
| [VPCLatticeFullAccess](#vpc-lattice-fullaccess-policy) | VPC Lattice fügt eine neue Richtlinie hinzu, um Berechtigungen für vollen Zugriff auf Amazon VPC Lattice und eingeschränkten Zugriff auf andere abhängige Dienste zu gewähren. | 31. März 2023 | 
| [VPCLatticeReadOnlyAccess](#vpc-lattice-read-onlyaccess-policy) | VPC Lattice fügt eine neue Richtlinie hinzu, um Berechtigungen für schreibgeschützten Zugriff auf Amazon VPC Lattice und eingeschränkten Zugriff auf andere abhängige Dienste zu gewähren. | 31. März 2023 | 
| [VPCLatticeServicesInvokeAccess](#vpc-lattice-services-invoke-access-policy) | VPC Lattice fügt eine neue Richtlinie hinzu, um Zugriff auf den Aufruf von Amazon VPC Lattice-Diensten zu gewähren. | 31. März 2023 | 
| [AWSVpcLatticeServiceRolePolicy](#service-linked-role-policy) | VPC Lattice fügt seiner serviceverknüpften Rolle Berechtigungen hinzu, damit VPC Lattice Metriken im Namespace veröffentlichen CloudWatch kann. AWS/VpcLattice Die AWSVpcLatticeServiceRolePolicy Richtlinie beinhaltet die Erlaubnis, die API-Aktion aufzurufen. CloudWatch [PutMetricData](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricData.html) Weitere Informationen finden Sie unter [Verwenden von serviceverknüpften Rollen für Amazon VPC Lattice](using-service-linked-roles.md). | 5. Dezember 2022 | 
|  VPC Lattice hat begonnen, Änderungen zu verfolgen  |  VPC Lattice begann, Änderungen an seinen AWS verwalteten Richtlinien zu verfolgen.  | 5. Dezember 2022 | 

# Konformitätsvalidierung für Amazon VPC Lattice
<a name="compliance-validation"></a>

Externe Prüfer bewerten die Sicherheit und Konformität von Amazon VPC Lattice im Rahmen mehrerer AWS Compliance-Programme. 

Informationen darüber, ob AWS-Service ein in den Geltungsbereich bestimmter Compliance-Programme fällt, finden Sie unter [AWS-Services Umfang nach Compliance-Programm unter Umfang nach Compliance-Programm AWS-Services](https://aws.amazon.com/compliance/services-in-scope/) das Compliance-Programm aus, an dem Sie interessiert sind. Allgemeine Informationen finden Sie unter [AWS Compliance-Programme AWS](https://aws.amazon.com/compliance/programs/) .

Sie können Prüfberichte von Drittanbietern unter herunterladen AWS Artifact. Weitere Informationen finden Sie unter [Berichte herunterladen unter ](https://docs.aws.amazon.com/artifact/latest/ug/downloading-documents.html).

Ihre Verantwortung für die Einhaltung der Vorschriften bei der Nutzung AWS-Services hängt von der Vertraulichkeit Ihrer Daten, den Compliance-Zielen Ihres Unternehmens und den geltenden Gesetzen und Vorschriften ab. Weitere Informationen zu Ihrer Verantwortung für die Einhaltung der Vorschriften bei der Nutzung AWS-Services finden Sie in der [AWS Sicherheitsdokumentation](https://docs.aws.amazon.com/security/).

# Greifen Sie über Schnittstellenendpunkte auf Amazon VPC Lattice zu ()AWS PrivateLink
<a name="vpc-interface-endpoints"></a>

Sie können eine private Verbindung zwischen Ihrer VPC und Amazon VPC Lattice herstellen, indem Sie einen *VPC-Schnittstellen-Endpunkt* erstellen. Schnittstellenendpunkte werden mit einer Technologie betrieben [AWS PrivateLink](https://aws.amazon.com/privatelink/), die es Ihnen ermöglicht, privat auf VPC Lattice APIs ohne Internet-Gateway, NAT-Gerät, VPN-Verbindung oder Verbindung zuzugreifen. Direct Connect Instances in Ihrer VPC benötigen keine öffentlichen IP-Adressen, um mit VPC Lattice zu kommunizieren. APIs 

Jeder Schnittstellenendpunkt wird durch eine oder mehrere [Netzwerkschnittstellen](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) in Ihren Subnetzen repräsentiert.

## Überlegungen zu VPC-Endpunkten mit Schnittstellen
<a name="vpc-endpoint-considerations"></a>

*Bevor Sie einen VPC-Schnittstellen-Endpunkt für VPC Lattice einrichten, stellen Sie sicher, dass Sie [Access AWS-Services through AWS PrivateLink im Leitfaden](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-access-aws-services.html) lesen.AWS PrivateLink *

VPC Lattice unterstützt Aufrufe aller API-Aktionen von Ihrer VPC aus. 

## Erstellen eines VPC-Schnittstellen-Endpunkts für VPC Lattice
<a name="vpc-endpoint-create"></a>

Sie können einen VPC-Endpunkt für den VPC Lattice-Service entweder mit der Amazon VPC-Konsole oder mit () erstellen. AWS Command Line Interface AWS CLI Weitere Informationen finden Sie im *AWS PrivateLink Handbuch* unter [Erstellen eines Schnittstellen-VPC-Endpunkts](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html).

Erstellen Sie einen VPC-Endpunkt für VPC Lattice mit dem folgenden Dienstnamen: 

`com.amazonaws.region.vpc-lattice`

Wenn Sie privates DNS für den Endpunkt aktivieren, können Sie API-Anfragen an VPC Lattice stellen, indem Sie den Standard-DNS-Namen für die Region verwenden, z. B. `vpc-lattice.us-east-1.amazonaws.com`

# Resilienz in Amazon VPC Lattice
<a name="disaster-recovery-resiliency"></a>

Die AWS globale Infrastruktur basiert AWS-Regionen auf Availability Zones. 

AWS-Regionen bieten mehrere physisch getrennte und isolierte Availability Zones, die über Netzwerke mit niedriger Latenz, hohem Durchsatz und hoher Redundanz miteinander verbunden sind. 

Mithilfe von Availability Zones können Sie Anwendungen und Datenbanken erstellen und ausführen, die automatisch Failover zwischen Zonen ausführen, ohne dass es zu Unterbrechungen kommt. Availability Zones sind besser verfügbar, fehlertoleranter und skalierbarer als herkömmliche Infrastrukturen mit einem oder mehreren Rechenzentren. 

Weitere Informationen zu Availability Zones AWS-Regionen und Availability Zones finden Sie unter [AWS Globale](https://aws.amazon.com/about-aws/global-infrastructure/) Infrastruktur.

# Infrastruktursicherheit in Amazon VPC Lattice
<a name="infrastructure-security"></a>

Als verwalteter Service ist Amazon VPC Lattice durch AWS globale Netzwerksicherheit geschützt. Informationen zu AWS Sicherheitsdiensten und zum AWS Schutz der Infrastruktur finden Sie unter [AWS Cloud-Sicherheit](https://aws.amazon.com/security/). Informationen zum Entwerfen Ihrer AWS Umgebung unter Verwendung der bewährten Methoden für die Infrastruktursicherheit finden Sie unter [Infrastructure Protection](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/infrastructure-protection.html) in *Security Pillar AWS Well‐Architected Framework*.

Sie verwenden AWS veröffentlichte API-Aufrufe, um über das Netzwerk auf VPC Lattice zuzugreifen. Kunden müssen Folgendes unterstützen:
+ Transport Layer Security (TLS). Wir benötigen TLS 1.2 und empfehlen TLS 1.3.
+ Verschlüsselungs-Suiten mit Perfect Forward Secrecy (PFS) wie DHE (Ephemeral Diffie-Hellman) oder ECDHE (Elliptic Curve Ephemeral Diffie-Hellman). Die meisten modernen Systeme wie Java 7 und höher unterstützen diese Modi.