

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 EC2
<a name="ec2-security"></a>

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

Sicherheit ist eine gemeinsame Verantwortung von Ihnen AWS und Ihnen. Das [Modell der übergreifenden Verantwortlichkeit](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, die AWS Dienste in der AWS Cloud ausführt. 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 EC2 gelten, finden Sie unter [AWS Services in Scope by Compliance Program AWS](https://aws.amazon.com/compliance/services-in-scope/) .
+ **Sicherheit in der Cloud** – Ihre Verantwortlichkeit umfasst die folgenden Bereiche.
  + Steuern des Netzwerkzugriffs auf Ihre Instances, z. B. durch die Konfiguration Ihrer VPC und Ihrer Sicherheitsgruppen. Weitere Informationen finden Sie unter [Steuern des Netzwerkverkehrs](infrastructure-security.md#control-network-traffic).
  + Verwaltung der Anmeldedaten, die für die Verbindung mit Ihren Instances verwendet werden.
  + Verwaltung des Gastbetriebssystems und der Software, die für das Gastbetriebssystem bereitgestellt werden, einschließlich Updates und Sicherheitspatches. Weitere Informationen finden Sie unter [Verwaltung von Aktualisierungen für Amazon-EC2-Instances](update-management.md).
  + Konfigurieren der IAM-Rollen, die an die Instance angehängt sind, und die mit diesen Rollen verknüpften Berechtigungen. Weitere Informationen finden Sie unter [IAM-Rollen für Amazon EC2](iam-roles-for-amazon-ec2.md).

Diese Dokumentation zeigt Ihnen, wie Sie das Modell der übergreifenden Verantwortlichkeit bei der Verwendung von Amazon EC2 einsetzen können. Es zeigt Ihnen, wie Sie Amazon EC2 konfigurieren, um Ihre Sicherheits- und Compliance-Ziele zu erreichen. Sie lernen auch, wie Sie andere AWS Dienste nutzen können, die Ihnen helfen, Ihre Amazon EC2 EC2-Ressourcen zu überwachen und zu sichern.

**Topics**
+ [Datenschutz](data-protection.md)
+ [Sicherheit der Infrastruktur](infrastructure-security.md)
+ [Ausfallsicherheit](disaster-recovery-resiliency.md)
+ [Compliance-Validierung](compliance-validation.md)
+ [Identitäts- und Zugriffsverwaltung](security-iam.md)
+ [Update-Management](update-management.md)
+ [Bewährte Methoden für Windows-Instances](ec2-windows-security-best-practices.md)
+ [Schlüsselpaare](ec2-key-pairs.md)
+ [Sicherheitsgruppen](ec2-security-groups.md)
+ [NitroTPM](nitrotpm.md)
+ [EC2-Instance-Attestierung](nitrotpm-attestation.md)
+ [

# Credential Guard für Windows-Instances
](credential-guard.md)
+ [AWS PrivateLink](interface-vpc-endpoints.md)

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

Das AWS [Modell](https://aws.amazon.com/compliance/shared-responsibility-model/) der gilt für den Datenschutz in Amazon Elastic Compute Cloud. Wie in diesem Modell beschrieben, AWS ist es 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. Sie sind auch für die Sicherheitskonfiguration und die Verwaltungsaufgaben für die von Ihnen verwendeten AWS-Services verantwortlich. 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*.

Aus Datenschutzgründen empfehlen wir, dass Sie AWS-Konto Anmeldeinformationen schützen und einzelne Benutzer mit AWS IAM Identity Center oder AWS Identity and Access Management (IAM) einrichten. So erhält jeder Benutzer nur die Berechtigungen, die zum Durchführen seiner Aufgaben erforderlich sind. Außerdem empfehlen wir, die Daten mit folgenden Methoden schützen:
+ Verwenden Sie für jedes Konto die Multi-Faktor-Authentifizierung (MFA).
+ Wird verwendet SSL/TLS , um mit AWS Ressourcen zu kommunizieren. Wir benötigen TLS 1.2 und empfehlen TLS 1.3.
+ Richten Sie die API und die Protokollierung von Benutzeraktivitäten mit ein AWS CloudTrail. Informationen zur Verwendung von CloudTrail Pfaden zur Erfassung von AWS Aktivitäten finden Sie unter [Arbeiten mit CloudTrail Pfaden](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html) im *AWS CloudTrail Benutzerhandbuch*.
+ Verwenden Sie AWS Verschlüsselungslösungen zusammen mit allen darin enthaltenen Standardsicherheitskontrollen AWS-Services.
+ Verwenden Sie erweiterte verwaltete Sicherheitsservices wie Amazon Macie, die dabei helfen, in Amazon S3 gespeicherte persönliche Daten zu erkennen und zu schützen.
+ Wenn Sie für den Zugriff AWS über eine Befehlszeilenschnittstelle oder eine API FIPS 140-3-validierte kryptografische Module benötigen, verwenden Sie einen FIPS-Endpunkt. Weitere Informationen über verfügbare FIPS-Endpunkte finden Sie unter [Federal Information Processing Standard (FIPS) 140-3](https://aws.amazon.com/compliance/fips/).

Wir empfehlen dringend, in Freitextfeldern, z. B. im Feld **Name**, keine vertraulichen oder sensiblen Informationen wie die E-Mail-Adressen Ihrer Kunden einzugeben. Dies gilt auch, wenn Sie mit Amazon EC2 oder anderen Geräten arbeiten und die Konsole AWS CLI, API oder AWS-Services AWS SDKs verwenden. Alle Daten, die Sie in Tags oder Freitextfelder eingeben, die für Namen verwendet werden, können für Abrechnungs- oder Diagnoseprotokolle verwendet werden. Wenn Sie eine URL für einen externen Server bereitstellen, empfehlen wir dringend, keine Anmeldeinformationen zur Validierung Ihrer Anforderung an den betreffenden Server in die URL einzuschließen.

**Topics**
+ [

## Datensicherheit bei Amazon EBS
](#ebs-data-security)
+ [

## Verschlüsselung im Ruhezustand
](#encryption-rest)
+ [

## Verschlüsselung während der Übertragung
](#encryption-transit)

## Datensicherheit bei Amazon EBS
<a name="ebs-data-security"></a>

Amazon-EBS-Volumes werden Ihnen als unformatierte Blockgeräte präsentiert. Diese logischen Geräte werden in der EBS-Infrastruktur erstellt und der Amazon-EBS-Service stellt sicher, dass die Geräte vor jeder (Wieder-)Verwendung durch einen Kunden logisch leer sind (d. h. die Rohblöcke werden auf Null gesetzt oder enthalten kryptografische pseudozufällige Daten).

Wenn Prozeduren erfordern, dass alle Daten mit einer bestimmten Methode gelöscht werden, entweder nach oder vor der Verwendung (oder beidem), wie z. B. in **DoD 5220.22-M** (National Industrial Security Program Operating Manual) oder **NIST 800-88** (Guidelines for Media Sanitization), ist das in Amazon EBS entsprechend möglich. Diese Aktivität auf Blockebene wird auf die zugrunde liegenden Speichermedien im Amazon EBS-Service übertragen.

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

**EBS-Datenträger**  
Die Amazon EBS-Verschlüsselung ist eine Verschlüsselungslösung für Ihre EBS-Volumes und -Snapshots. Es benutzt AWS KMS keys. Weitere Informationen finden Sie unter [Amazon-EBS-Verschlüsselung](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption.html) im *Amazon-EBS-Benutzerhandbuch*.

[Windows-Instances] Sie können auch Microsoft EFS- und NTFS-Berechtigungen für die Verschlüsselung auf Ordner- und Dateiebene verwenden.

**Instance-Speicher-Volumes**  
Die Daten auf NVMe Instance-Speicher-Volumes werden mit einer XTS-AES-256-Verschlüsselung verschlüsselt, die auf einem Hardwaremodul auf der Instance implementiert ist. Die Schlüssel, die zur Verschlüsselung von Daten verwendet werden, die auf lokal angeschlossene NVMe Speichergeräte geschrieben werden, werden pro Kunde und pro Volume vergeben. Die Schlüssel werden vom Hardwaremodul generiert, das für AWS -Personal unzugänglich ist, und befinden sich nur in diesem. Die Verschlüsselungsschlüssel werden vernichtet, wenn die Instance angehalten oder beendet wird, und können nicht wiederhergestellt werden. Sie können diese Verschlüsselung nicht deaktivieren und keine eigenen Verschlüsselungsschlüssel bereitstellen.

Die Daten auf HDD-Instance-Speichervolumes auf H1-, D3- und D3en-Instances werden mit XTS-AES-256 und Einmalschlüsseln verschlüsselt.

Wenn Sie eine Instance anhalten, in den Ruhezustand versetzen oder beenden, wird jeder Speicherblock im Instance-Speicher-Volume zurückgesetzt. Deshalb ist der Zugriff auf Ihre Daten nicht über den Instance-Speicher einer anderen Instance möglich.

**Arbeitsspeicher**

Die Speicherverschlüsselung ist auf den folgenden Instances aktiviert:
+ Instances mit AWS Graviton2-Prozessoren oder neueren Graviton-Prozessoren unterstützen die AWS Always-On-Speicherverschlüsselung. Die Verschlüsselungsschlüssel werden sicher im Hostsystem generiert, verlassen das Hostsystem nicht und werden zerstört, wenn der Host neu gestartet oder heruntergefahren wird. Weitere Informationen finden Sie unter [AWS -Graviton-Processors.](https://aws.amazon.com/ec2/graviton/)
+ Instances mit skalierbaren Intel-Xeon-Prozessoren der 3. Generation (Ice Lake), z. B. M6i-Instances, und skalierbaren Intel-Xeon-Prozessoren der 4. Generation (Sapphire Rapids), z. B. M7i-Instances. Diese Prozessoren unterstützen eine immer aktive Speicherverschlüsselung mit Intel Total Memory Encryption (TME).
+ Instances mit AMD-EPYC-Prozessoren der 3. Generation (Milan), z. B. M6a-Instances, und AMD-EPYC-Prozessoren der 4. Generation (Genoa), z. B. M7a-Instances. Diese Prozessoren unterstützen eine immer aktive Speicherverschlüsselung mit AMD Secure Memory Encryption (SME).
+ AMD Secure Encrypted Virtualization-Secure Nested Paging (SEV-SNP) wird für einige AMD-basierte Instance-Typen unterstützt. Weitere Informationen finden Sie unter [Finden Sie EC2 Instance-Typen, die AMD SEV-SNP unterstützen](snp-find-instance-types.md).

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

**Verschlüsselung auf physischer Ebene**  
Alle Daten, die über das AWS globale Netzwerk zwischen AWS Regionen fließen, werden auf der physischen Ebene automatisch verschlüsselt, bevor sie gesicherte Einrichtungen verlassen. AWS Der gesamte Datenverkehr zwischen beiden AZs ist verschlüsselt. Zusätzliche Verschlüsselungsebenen, einschließlich der in diesem Abschnitt aufgeführten, bieten möglicherweise zusätzlichen Schutz.

**Verschlüsselung bereitgestellt durch Amazon-VPC-Peering und regionsübergreifendem Peering in Transit Gateway**  
Der gesamte regionsübergreifende Datenverkehr, der Amazon-VPC- und Transit-Gateway-Peering verwendet, wird automatisch massenverschlüsselt, wenn er eine Region verlässt. Auf der physischen Ebene wird automatisch eine zusätzliche Verschlüsselungsebene für den gesamten Datenverkehr bereitgestellt, bevor er AWS gesicherte Einrichtungen verlässt, wie bereits in diesem Abschnitt erwähnt.

**Verschlüsselung zwischen den Instances**  
AWS bietet sichere und private Konnektivität zwischen EC2-Instances aller Typen. Darüber hinaus verwenden einige Instance-Typen die Offload-Funktionen der zugrunde liegenden Nitro-System-Hardware, um den Datenverkehr während der Übertragung zwischen Instances automatisch zu verschlüsseln. Diese Verschlüsselung verwendet AEAD-Algorithmen (Authenticated Encryption with Associated Data) mit 256-Bit-Verschlüsselung. Es gibt keine Auswirkungen auf die Netzwerkleistung. Um diese zusätzliche Verschlüsselung des Datenverkehrs während der Übertragung zwischen Instances zu unterstützen, müssen die folgenden Anforderungen erfüllt sein:
+ Die Instances verwenden die folgenden Instance-Typen:
  + **Allzweck**: M5dn, M5n, M5Zn, M6a, M6i, M6id, M6idn, M6in, M7a, M7g, M7GD, M7i, M7i-Flex, M8a, M8azn, M8G, M8GB, M8GD, M8Gn, M8i, M8id, M8i-Flex, MAC-Flex M4, Mac-M4 Pro
  + **Computeroptimiert:** C5n, C6a, C6Gn, C6i, C6id, C6in, C7a, C7g, C7GD, C7gn, C7i, C7i-Flex, C8a, C8g, C8GB, C8GD, C8Gn, C8i, C8id, C8i-Flex
  + **Speicheroptimiert:** R5dn, R5n, R6a, R6i, R6id, R6idn, R6in, R7a, R7g, R7gd, R7i, R7iz, R8a, R8g, R8GB, R8gd, R8gn, R8i, R8id, R8i-Flex, U-3tb1, U-6tb1, U-9Tb TB1, U-12 TB1, U-18 TB1, U-24 TB, U7i-6 TB, U7i-8 TB, U7i-12 TB, U7in-16 TB, U7in-24 TB, U7in-32 TB, U7inH-32 TB, X2IDN, X2iEDN, X2IEZN, X2IEZN, X8G, X8AEDZ, X8i
  + **Speicheroptimiert:** D3, D3en, I3en, I4g, I4i, I7i, I7ie, I8g, I8ge, Im4gn, Is4gen
  + **Beschleunigtes Rechnen:** DL1 DL2q,, F2, G4ad, G4dn, G5, G6, G6e, G6f, Gr6, Gr6f, G7e, Inf1, Inf2, P3dn, P4d, P4de, P5, P5e, P5en, P6-B200, P6-B300, P6e-GB200, Trn1, Trn1n, Trn1 n2, trn2U, VT1
  + **Hochleistungsrechnen:** HPC6a, HPC6id, HPC7a, HPC7G, HPC8a
+ Die Instances befinden sich in derselben Region.
+ Die Instances befinden sich in derselben VPC oder werden per Peering betrieben VPCs, und der Datenverkehr wird nicht über ein virtuelles Netzwerkgerät oder einen virtuellen Netzwerkdienst wie einen Load Balancer oder ein Transit-Gateway geleitet.

Auf der physischen Ebene wird automatisch eine zusätzliche Verschlüsselungsebene für den gesamten Datenverkehr bereitgestellt, bevor er AWS gesicherte Einrichtungen verlässt, wie bereits in diesem Abschnitt erwähnt.

**Um die Instance-Typen anzuzeigen, die den während der Übertragung befindlichen Verkehr zwischen Instances verschlüsseln, verwenden Sie AWS CLI**  
Verwenden Sie den folgenden [ describe-instance-types](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-types.html)-Befehl.

```
aws ec2 describe-instance-types \
    --filters Name=network-info.encryption-in-transit-supported,Values=true \
    --query "InstanceTypes[*].[InstanceType]" \
    --output text | sort
```

**Verschlüsselung von und nach AWS Outposts**  
Ein Outpost stellt spezielle Netzwerkverbindungen her, die als *Dienstlinks* zu seiner AWS Heimatregion bezeichnet werden, und optional private Konnektivität zu einem von Ihnen angegebenen VPC-Subnetz. Der gesamte Datenverkehr über diese Verbindung ist vollständig verschlüsselt. Weitere Informationen finden Sie unter [Konnektivität über Service-Links](https://docs.aws.amazon.com/outposts/latest/userguide/region-connectivity.html#service-links) und [Verschlüsselung während der Übertragung](https://docs.aws.amazon.com/outposts/latest/userguide/data-protection.html#encryption-transit) im *AWS Outposts Benutzerhandbuch*.

**Verschlüsselung des Fernzugriffs**  
Die SSH- und RDP-Protokolle bieten sichere Kommunikationskanäle für den Fernzugriff auf Ihre Instances, entweder direkt oder über EC2 Instance Connect. Der Fernzugriff auf Ihre Instances mithilfe von AWS Systems Manager Session Manager oder Run Command wird mit TLS 1.2 verschlüsselt, und Anfragen zum Herstellen einer Verbindung werden mit [SigV4](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) signiert und authentifiziert und autorisiert. [AWS Identity and Access Management](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)

Es liegt in Ihrer Verantwortung, ein Verschlüsselungsprotokoll wie Transport Layer Security (TLS) zu verwenden, um sensible Daten bei der Übertragung zwischen Clients und Ihren Amazon-EC2-Instances zu verschlüsseln.

(Windows-Instances) Stellen Sie sicher, dass nur verschlüsselte Verbindungen zwischen EC2-Instances und den AWS -API-Endpunkten oder anderen sensiblen Remote-Netzwerkservices zugelassen werden. Sie können dies über eine ausgehende Sicherheitsgruppe oder [Windows-Firewall](https://learn.microsoft.com/en-us/windows/security/operating-system-security/network-security/windows-firewall/)-Regeln erzwingen.

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

Als verwalteter Service ist Amazon Elastic Compute Cloud 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 Amazon EC2 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.

Weitere Informationen finden Sie unter [Infrastructure Protection in the](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/infrastructure-protection.html) *Security Pillar — AWS Well-Architected Framework*.

## Netzwerkisolierung
<a name="network-isolation"></a>

Eine Virtual Private Cloud (VPC) ist ein virtuelles Netzwerk in Ihrem eigenen logisch isolierten Bereich in der AWS Cloud. Verwenden Sie VPCs es separat, um die Infrastruktur nach Arbeitslast oder organisatorischer Einheit zu isolieren.

Ein Subnetz ist ein Bereich von IP-Adressen in einer VPC. Wenn Sie eine Instance starten, starten Sie sie in einem Subnetz in Ihrer VPC. Verwenden Sie Subnetze, um Ihre Anwendungsschichten (z. B. Web, Anwendung und Datenbank) innerhalb einer einzelnen VPC zu isolieren. Verwenden Sie für Ihre Instances private Subnetze, wenn Sie nicht direkt aus dem Internet erreichbar sein sollen.

Um die Amazon-EC2-API von Ihrer VPC aus mit privaten IP-Adressen aufzurufen, verwenden Sie AWS PrivateLink. Weitere Informationen finden Sie unter [Zugreifen auf Amazon EC2 über einen Schnittstellen-VPC-Endpunkt](interface-vpc-endpoints.md).

## Isolierung auf physischen Hosts
<a name="physical-isolation"></a>

Verschiedene EC2-Instances auf demselben physischen Host werden so voneinander isoliert, als ob sie sich auf separaten physischen Hosts befinden. Der Hypervisor isoliert CPU und Speicher, und den Instances werden virtualisierte Festplatten anstelle des Zugriffs auf die Datenträger bereitgestellt.

Wenn Sie eine Instance stoppen oder beenden, wird der ihr zugewiesene Speicher vom Hypervisor gesäubert (mit Null überschrieben), bevor er einer neuen Instance zugewiesen wird. Jeder Speicherblock wird zurückgesetzt. Dadurch wird sichergestellt, dass Ihre Daten nicht unbeabsichtigt einer anderen Instance zugänglich gemacht werden.

Netzwerk-MAC-Adressen werden Instanzen von der AWS Netzwerkinfrastruktur dynamisch zugewiesen. IP-Adressen werden entweder dynamisch von der AWS -Netzwerkinfrastruktur oder von einem EC2-Administrator über authentifizierte API-Anfragen den Instances zugewiesen. Das AWS Netzwerk ermöglicht es Instanzen, Datenverkehr nur von den ihnen zugewiesenen MAC- und IP-Adressen zu senden. Andernfalls wird der Datenverkehr unterbrochen.

Standardmäßig kann eine Instance keinen Datenverkehr empfangen, der nicht speziell an sie gerichtet ist. Wenn Sie Network Address Translation (NAT), Routing oder Firewall-Services auf Ihrer Instance ausführen müssen, können Sie die source/destination Überprüfung der Netzwerkschnittstelle deaktivieren.

## Steuern des Netzwerkverkehrs
<a name="control-network-traffic"></a>

Beachten Sie die folgenden Optionen zur Steuerung des Netzwerkverkehrs mit Ihren EC2-Instances:
+ Beschränken Sie den Zugriff auf Ihre Instances über [Sicherheitsgruppen](ec2-security-groups.md). Konfigurieren Sie Regeln, die den minimal erforderlichen Netzwerkverkehr zulassen. Sie können beispielsweise den Datenverkehr nur aus den Adressbereichen Ihres Unternehmensnetzwerks oder nur für bestimmte Protokolle, wie HTTPS, zulassen. Lassen Sie für Windows-Instances Windows-Verwaltungsverkehr und minimale ausgehende Verbindungen zu.
+ Nutzen Sie Sicherheitsgruppen als primären Mechanismus zur Steuerung des Netzwerkzugriffs auf Amazon EC2-Instances. Verwenden Sie das Netzwerk bei Bedarf ACLs sparsam, um eine zustandslose, grobkörnige Netzwerksteuerung zu gewährleisten. Sicherheitsgruppen sind vielseitiger als Netzwerke, ACLs da sie statusbehaftete Pakete filtern und Regeln erstellen können, die auf andere Sicherheitsgruppen verweisen. Das Netzwerk ACLs kann jedoch als sekundäre Kontrolle wirksam sein, wenn es darum geht, eine bestimmte Teilmenge des Datenverkehrs zu blockieren oder hochrangige Schutzmechanismen für Subnetze bereitzustellen. Da Netzwerke ACLs für ein ganzes Subnetz gelten, können sie auch so verwendet werden, als ob defense-in-depth eine Instance versehentlich ohne die richtige Sicherheitsgruppe gestartet wird.
+ [Windows-Instances] Verwalten Sie die Windows-Firewall-Einstellungen mithilfe von Gruppenrichtlinienobjekten (GPO) zentral, um die Netzwerksteuerelemente weiter zu verbessern. Kunden verwenden die Windows-Firewall häufig, um den Netzwerkverkehr besser zu erkennen und Sicherheitsgruppenfilter zu ergänzen, indem sie erweiterte Regeln erstellen, um den Zugriff auf bestimmte Anwendungen auf das Netzwerk zu blockieren oder den Datenverkehr von einer Teilmenge der IP-Adressen zu filtern. Beispielsweise kann die Windows-Firewall den Zugriff auf die IP-Adresse des EC2-Metadatenservices auf bestimmte Benutzer oder Anwendungen beschränken. Alternativ kann ein öffentlicher Service Sicherheitsgruppen verwenden, um den Datenverkehr auf bestimmte Ports zu beschränken, und die Windows-Firewall, um eine Liste explizit blockierter IP-Adressen zu führen.
+ Verwenden Sie für Ihre Instances private Subnetze, wenn Sie nicht direkt aus dem Internet erreichbar sein sollen. Verwenden Sie einen Bastions-Host oder ein NAT-Gateway für den Internetzugriff von einer Instance in einem privaten Subnetz.
+ [Windows-Instanzen] Verwenden Sie sichere Verwaltungsprotokolle wie RDP-Kapselung. SSL/TLS. The Remote Desktop Gateway Quick Start provides best practices for deploying remote desktop gateway, including configuring RDP to use SSL/TLS
+ [Windows-Instanzen] Verwenden Sie Active Directory oder Directory Service , um den interaktiven Benutzer- und Gruppenzugriff auf Windows-Instanzen streng und zentral zu steuern und zu überwachen und lokale Benutzerberechtigungen zu vermeiden. Vermeiden Sie auch die Verwendung von Domain-Administratoren und erstellen Sie stattdessen detailliertere, anwendungsspezifische rollenbasierte Konten. Just Enough Administration (JEA) ermöglicht die Verwaltung von Änderungen an Windows-Instances ohne interaktiven oder Administratorzugriff. Darüber hinaus ermöglicht JEA Unternehmen, den administrativen Zugriff auf die Teilmenge der PowerShell Windows-Befehle zu sperren, die für die Instanzverwaltung erforderlich sind. Weitere Informationen finden Sie im Whitepaper zu [AWS Security Best Practices](https://d1.awsstatic.com/whitepapers/Security/AWS_Security_Best_Practices.pdf) im Abschnitt „Verwalten des Zugriffs auf Betriebssystemebene auf Amazon EC2“.
+ [Windows-Instances] Systemadministratoren sollten Windows-Konten mit eingeschränktem Zugriff für tägliche Aktivitäten verwenden und den Zugriff nur erhöhen, wenn dies erforderlich ist, um bestimmte Konfigurationsänderungen durchzuführen. Greifen Sie darüber hinaus nur auf Windows-Instances direkt zu, wenn dies unbedingt erforderlich ist. Nutzen Sie stattdessen zentrale Konfigurationsmanagementsysteme wie EC2 Run Command, Systems Center Configuration Manager (SCCM), Windows PowerShell DSC oder Amazon EC2 Systems Manager (SSM), um Änderungen an Windows-Server zu übertragen.
+ Konfigurieren Sie Amazon VPC-Subnetz-Routingtabellen mit den minimal erforderlichen Netzwerkrouten. Platzieren Sie beispielsweise nur Amazon-EC2-Instances, die einen direkten Internetzugriff erfordern, in Subnetze mit Routen zu einem Internet-Gateway und platzieren Sie nur Amazon-EC2-Instances, die direkten Zugriff auf interne Netzwerke benötigen, in Subnetze mit Routen zu einem Virtual Private Gateway.
+ Erwägen Sie, zusätzliche Sicherheitsgruppen oder Netwerk-Schnittstellen, um den Datenverkehr der Amazon Ec2-Instance-Verwaltung getrennt vom regulären Anwendungsdatenverkehr zu steuern und zu prüfen. Dieser Ansatz ermöglicht es Kunden, spezielle IAM-Richtlinien für die Änderungssteuerung zu implementieren, wodurch Änderungen an Sicherheitsgruppenregeln oder automatisierten Regelverifizierungsskripts leichter geprüft werden können. Mehrere Netzwerk-Schnittstellen bieten außerdem zusätzliche Optionen zur Steuerung des Netzwerkdatenverkehrs, einschließlich der Möglichkeit, Host-basierte Routing-Richtlinien zu erstellen oder verschiedene VPC-Subnetz-Routing-Regeln basierend auf einer einem Subnetz zugewiesenen Netzwerkschnittstelle zu nutzen.
+ Verwenden Sie AWS Virtual Private Network oder Direct Connect , um private Verbindungen von Ihren Remote-Netzwerken zu Ihren herzustellen. VPCs Weitere Informationen finden Sie unter [Network-to-Amazon VPC-Konnektivitätsoptionen](https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/network-to-amazon-vpc-connectivity-options.html).
+ Verwenden Sie [VPC Flow-Protokolle](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html), um den Datenverkehr zu überwachen, der Ihre Instances erreicht.
+ Verwenden Sie den [GuardDuty Malware-Schutz](https://docs.aws.amazon.com/guardduty/latest/ug/malware-protection.html), um verdächtiges Verhalten zu identifizieren, das auf bösartige Software auf Ihren Instances hindeutet, die Ihre Arbeitslast gefährden, Ressourcen für böswillige Zwecke wiederverwenden und sich unbefugten Zugriff auf Ihre Daten verschaffen könnte.
+ Verwenden Sie [GuardDuty Runtime Monitoring](https://docs.aws.amazon.com/guardduty/latest/ug/runtime-monitoring.html), um potenzielle Bedrohungen für Ihre Instanzen zu identifizieren und darauf zu reagieren. Weitere Informationen finden Sie unter [So funktioniert Laufzeit-Überwachung mit Amazon-EC2-Instances](https://docs.aws.amazon.com/guardduty/latest/ug/how-runtime-monitoring-works-ec2.html).
+ Verwenden Sie [AWS Security Hub CSPM](https://docs.aws.amazon.com/securityhub/latest/userguide/), [Reachability Analyzer](https://docs.aws.amazon.com/vpc/latest/reachability/) oder [Network Access Analyzer](https://docs.aws.amazon.com/vpc/latest/network-access-analyzer/), um zu überprüfen, ob Ihre Instances unbeabsichtigt auf das Netzwerk zugreifen können.
+ Verwenden Sie [EC2 Instance Connect](connect-linux-inst-eic.md), um sich per Secure Shell (SSH) mit Ihren Instances zu verbinden, ohne dass Sie SSH-Schlüssel freigeben und verwalten müssen.
+ Verwenden Sie [AWS Systems Manager Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html), um entfernt auf Ihre Instances zuzugreifen, anstatt eingehende SSH-Ports zu öffnen und SSH-Schlüssel RDP-Ports zu verwalten.
+ Verwenden Sie [AWS Systems Manager Run Command](https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html), um allgemeine administrative Aufgaben zu automatisieren, anstatt eine Verbindung zu Ihren Instances herzustellen.
+ [Windows-Instanzen] Viele der Windows-Betriebssystemrollen und Microsoft-Geschäftsanwendungen bieten auch erweiterte Funktionen wie Einschränkungen des IP-Adressbereichs in IIS, TCP/IP Filterrichtlinien in Microsoft SQL Server und Verbindungsfilterrichtlinien in Microsoft Exchange. Netzwerkeinschränkungsfunktionalität innerhalb der Anwendungsebene kann zusätzliche Verteidigungsebenen für kritische Geschäftsanwendungsserver bereitstellen.

Amazon VPC unterstützt zusätzliche Netzwerksicherheitskontrollen wie Gateways, Proxyserver und Netzwerküberwachungsoptionen. Weitere Informationen finden Sie unter [Kontrollieren des Datenverkehrs](https://docs.aws.amazon.com/vpc/latest/userguide/infrastructure-security.html#control-network-traffic) im *Benutzerhandbuch von Amazon VPC*.

# Ausfallsicherheit in Amazon EC2
<a name="disaster-recovery-resiliency"></a>

Die AWS globale Infrastruktur basiert auf AWS Regionen und Availability Zones. Regionen stellen mehrere physisch getrennte und isolierte Availability Zones bereit, die über hoch redundante Netzwerke mit niedriger Latenz und hohen Durchsätzen 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 hoch verfügbar, fehlertoleranter und skalierbarer als herkömmliche Infrastrukturen mit einem oder mehreren Rechenzentren.

Falls Sie Ihre Daten oder Anwendungen über größere geografische Distanzen hinweg replizieren müssen, verwenden Sie AWS -Local Zones. Eine AWS lokale Zone ist eine Erweiterung einer AWS Region in geografischer Nähe zu Ihren Benutzern. Local Zones haben ihre eigenen Verbindungen mit dem Internet und unterstützen Direct Connect. Wie alle AWS Regionen sind AWS Local Zones vollständig von anderen AWS Zonen isoliert.

Wenn Sie Ihre Daten oder Anwendungen in einer AWS lokalen Zone replizieren müssen, AWS empfiehlt es sich, eine der folgenden Zonen als Failover-Zone zu verwenden:
+ Eine andere Local Zone
+ Eine Availability Zone in der Region, bei der es sich nicht um die übergeordnete Zone handelt. Sie können den [describe-availability-zones](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-availability-zones.html)Befehl verwenden, um die übergeordnete Zone anzuzeigen.

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

Zusätzlich zur AWS globalen Infrastruktur bietet Amazon EC2 die folgenden Funktionen zur Unterstützung Ihrer Datenstabilität:
+ Regionsübergreifendes Kopieren AMIs 
+ Kopieren von EBS-Snapshots über Regionen hinweg
+ Automatisierung mit EBS-Unterstützung AMIs mithilfe von Amazon Data Lifecycle Manager
+ Automatisierung von EBS-Snapshots mit Amazon Data Lifecycle Manager
+ Aufrechterhaltung der Funktionsfähigkeit und Verfügbarkeit Ihrer Flotte mit Amazon EC2 Auto Scaling
+ Verteilung des eingehenden Datenverkehrs auf mehrere Instances in einer einzigen Availability Zone oder mehreren Availability Zones mit Elastic Load Balancing

# Compliance-Validierung für Amazon EC2
<a name="compliance-validation"></a>

Informationen darüber, ob AWS-Service ein [AWS-Services in den Geltungsbereich bestimmter Compliance-Programme fällt, finden Sie unter Umfang nach Compliance-Programm AWS-Services unter](https://aws.amazon.com/compliance/services-in-scope/) . Wählen Sie dort 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/).

# Identity and Access Management für Amazon EC2
<a name="security-iam"></a>

AWS Identity and Access Management (IAM) hilft einem Administrator AWS-Service , den Zugriff auf AWS Ressourcen sicher zu kontrollieren. IAM-Administratoren steuern, wer *authentifiziert* (angemeldet) und *autorisiert* (im Besitz von Berechtigungen) ist, Amazon-EC2-Ressourcen zu nutzen. IAM ist ein Programm AWS-Service , das Sie ohne zusätzliche Kosten nutzen können.

Ihre Sicherheitsnachweise identifizieren Sie gegenüber Diensten in AWS und gewähren Ihnen Zugriff auf AWS Ressourcen, wie z. B. Ihre Amazon EC2 EC2-Ressourcen. Sie können anderen Benutzern, Services und Anwendungen mithilfe von Features in Amazon EC2 und IAM die Nutzung Ihrer Amazon-EC2-Ressourcen erlauben, ohne Ihre Sicherheitsanmeldeinformationen freizugeben. Sie können IAM verwenden, um zu kontrollieren, wie andere Benutzer Ressourcen in Ihren verwenden AWS-Konto, und Sie können Sicherheitsgruppen verwenden, um den Zugriff auf Ihre Amazon EC2 EC2-Instances zu kontrollieren. Sie können wählen, ob Sie die volle oder eingeschränkte Nutzung Ihrer Amazon-EC2-Ressourcen erlauben.

Wenn Sie ein Entwickler sind, können Sie IAM-Rollen verwenden, um die Sicherheits-Anmeldeinformationen zu verwalten, die von den Anwendungen benötigt werden, die Sie auf Ihren EC2-Instances ausführen. Nachdem Sie Ihrer Instance eine IAM-Rolle zugewiesen haben, können Ihre Anwendungen, die auf der Instance ausgeführt werden, die Anmeldeinformationen vom Instance Metadata Service (IMDS) abrufen.

*Bewährte Methoden für den Schutz Ihrer AWS Ressourcen mithilfe von IAM finden Sie unter [Bewährte Sicherheitsmethoden in IAM im IAM-Benutzerhandbuch](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html).*

**Topics**
+ [

# Identitätsbasierte Richtlinien für Amazon EC2
](iam-policies-for-amazon-ec2.md)
+ [

# Beispielrichtlinien zur Steuerung des Zugriffs auf die Amazon-EC2-API
](ExamplePolicies_EC2.md)
+ [

# Beispielrichtlinien zur Steuerung des Zugriffs auf die Amazon-EC2-Konsole
](iam-policies-ec2-console.md)
+ [

# AWS verwaltete Richtlinien für Amazon EC2
](security-iam-awsmanpol.md)
+ [

# IAM-Rollen für Amazon EC2
](iam-roles-for-amazon-ec2.md)

# Identitätsbasierte Richtlinien für Amazon EC2
<a name="iam-policies-for-amazon-ec2"></a>

Standardmäßig verfügen Benutzer nicht über die Berechtigung zum Erstellen oder Ändern von Amazon EC2-Ressourcen oder zum Ausführen von Aufgaben mithilfe der Amazon EC2-API, der Amazon EC2-Konsole oder der CLI. Damit Benutzer Ressourcen erstellen oder ändern und Aufgaben ausführen können, müssen Sie IAM-Richtlinien erstellen, die Benutzern die Berechtigung zur Verwendung der spezifischen Ressourcen und API-Aktionen gewähren, die sie benötigen. Anschließend fügen Sie diese Richtlinien den Benutzern, Gruppen oder IAM-Rollen an, die diese Berechtigungen benötigen.

Wenn Sie eine Richtlinie einem Benutzer, einer Benutzergruppe oder einer Rolle zuweisen, kann diese dem Benutzer die Berechtigung zur Durchführung der angegebenen Aufgaben auf den angegebenen Ressourcen gewähren oder verweigern. Weitere allgemeine Informationen zu IAM-Richtlinien finden Sie unter [Berechtigungen und Richtlinien in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) im *IAM-Benutzerhandbuch*. Weitere Informationen zum Verwalten und Erstellen von IAM-Richtlinien finden Sie unter [Verwalten von IAM-Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage.html).

Eine IAM-Richtlinie erteilt bzw. verweigert die Berechtigungen, eine oder mehrere Amazon EC2-Aktionen auszuführen. Zudem muss die Richtlinie die Ressourcen benennen, die für diese Aktion verwendet werden dürfen. Dabei kann es sich um alle Ressourcen oder ggf. auch um bestimmte Ressourcen handeln. Eine Richtlinie kann auch Bedingungen enthalten, die für eine Ressource gelten.

Zunächst können Sie überprüfen, ob die AWS verwalteten Richtlinien für Amazon EC2 Ihren Anforderungen entsprechen. Sie können aber Ihre eigenen benutzerdefinierten Richtlinien erstellen. Weitere Informationen finden Sie unter [AWS verwaltete Richtlinien für Amazon EC2](security-iam-awsmanpol.md).

**Topics**
+ [

## Richtliniensyntax
](#policy-syntax)
+ [

## Aktionen für Amazon EC2
](#UsingWithEC2_Actions)
+ [

## Unterstützte Berechtigungen auf Ressourcenebene für Amazon EC2-API-Aktionen
](#ec2-supported-iam-actions-resources)
+ [

## Amazon-Ressourcennamen (ARNs) für Amazon EC2
](#EC2_ARN_Format)
+ [

## Bedingungsschlüssel für Amazon EC2
](#amazon-ec2-keys)
+ [

## Den Zugriff mithilfe des attributbasierten Zugriffs steuern
](#control-access-with-tags)
+ [

## Gewähren von Berechtigungen für Benutzer, Gruppen und Rollen
](#granting-iam-permissions)
+ [

## Prüfen, ob Benutzer über die erforderlichen Berechtigungen verfügen
](#check-required-permissions)

## Richtliniensyntax
<a name="policy-syntax"></a>

Eine IAM-Richtlinie ist ein JSON-Dokument, das eine oder mehrere Anweisungen enthält. Jede Anweisung ist folgendermaßen strukturiert.

```
{
  "Statement":[{
    "Effect":"effect",
    "Action":"action",
    "Resource":"arn",
    "Condition":{
      "condition":{
        "key":"value"
        }
      }
    }
  ]
}
```

Eine Anweisung kann aus verschiedenen Elementen bestehen:
+ **Effect:** Der *effect*-Wert kann `Allow` oder `Deny` lauten. -Benutzer verfügen standardmäßig nicht über die Berechtigung zur Verwendung von Ressourcen und API-Aktionen. Daher werden alle Anfragen abgelehnt. Dieser Standardwert kann durch eine explizite Zugriffserlaubnis überschrieben werden. Eine explizite Zugriffsverweigerung überschreibt jedwede Zugriffserlaubnis.
+ **Action**: Mit *action* wird die API-Aktion spezifiziert, für die Sie Berechtigungen erteilen oder verweigern. Weitere Informationen zur Spezifizierung von *action* finden Sie unter [Aktionen für Amazon EC2](#UsingWithEC2_Actions). 
+ **Resource**: Die von einer Aktion betroffene Ressource. Bei einigen Amazon EC2-API-Aktionen lassen sich bestimmte Ressourcen, die mit der Aktion erstellt oder geändert werden können, in die Richtlinie einbinden. Sie legen eine Ressource unter Verwendung eines Amazon-Ressourcennamens (ARN) oder eines Platzhalters (\$1) fest, um anzugeben, dass die Anweisung für alle Ressourcen gilt. Weitere Informationen finden Sie unter [Unterstützte Berechtigungen auf Ressourcenebene für Amazon EC2-API-Aktionen](#ec2-supported-iam-actions-resources). 
+ **Condition**: Bedingungen sind optional. Mit ihrer Hilfe können Sie bestimmen, wann Ihre Richtlinie wirksam ist. Weitere Informationen zur Angabe von Bedingungen für Amazon EC2 finden Sie unter [Bedingungsschlüssel für Amazon EC2](#amazon-ec2-keys).

Weitere Informationen zu Richtlinienanforderungen finden Sie in der [IAM-JSON-Richtlinienreferenz](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) im *IAM-Benutzerhandbuch*. Beispiele mit IAM-Richtlinienanweisungen für Amazon EC2 finden Sie unter [Beispielrichtlinien zur Steuerung des Zugriffs auf die Amazon-EC2-API](ExamplePolicies_EC2.md). 

## Aktionen für Amazon EC2
<a name="UsingWithEC2_Actions"></a>

In einer IAM-Richtlinienanweisung können Sie jede API-Aktion von jedem Service, der IAM unterstützt, angeben. Bei Amazon EC2 setzen Sie folgendes Präfix vor den Namen der API-Aktion: `ec2:`. Zum Beispiel `ec2:RunInstances` und `ec2:CreateImage`.

Um mehrere Aktionen in einer einzigen Anweisung anzugeben, trennen Sie sie folgendermaßen mit Kommas:

```
"Action": ["ec2:action1", "ec2:action2"]
```

Sie können auch mehrere Aktionen mittels Platzhaltern angeben. Beispielsweise können Sie alle Aktionen festlegen, deren Name mit dem Wort "Describe" beginnt:

```
"Action": "ec2:Describe*"
```

**Anmerkung**  
Derzeit unterstützen die Amazon-EC2-Describe\$1-API-Aktionen Berechtigungen auf Ressourcenebene nicht. Weitere Informationen zu Berechtigungen auf Ressourcenebene für Amazon EC2 finden Sie unter [Identitätsbasierte Richtlinien für Amazon EC2](#iam-policies-for-amazon-ec2).

Um alle Amazon EC2-API-Aktionen anzugeben, verwenden Sie den Platzhalter \$1 folgendermaßen:

```
"Action": "ec2:*"
```

Eine Liste von Amazon-EC2-Aktionen finden Sie unter [von Amazon EC2 definierte Aktionen](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-actions-as-permissions) in der *Service-Autorisierungs-Referenz*.

## Unterstützte Berechtigungen auf Ressourcenebene für Amazon EC2-API-Aktionen
<a name="ec2-supported-iam-actions-resources"></a>

*Berechtigungen auf Ressourcenebene* bedeutet, dass Sie angeben können, für welche Ressourcen die Benutzer Aktionen ausführen dürfen. Amazon EC2 unterstützt teilweise Berechtigungen auf Ressourcenebene. Das heißt, Sie können bei bestimmten Amazon EC2-Aktionen kontrollieren, wann die Benutzer diese Aktionen verwenden dürfen. Dies basiert auf Bedingungen, die erfüllt sein müssen oder auf bestimmten Ressourcen, die von den Benutzern verwendet werden dürfen. Zum Beispiel können Sie Benutzern die Berechtigungen erteilen, Instances zu starten, aber nur für einen bestimmten Typ und nur mithilfe eines bestimmten AMI.

Um eine Ressource in einer IAM-Richtlinienanweisung anzugeben, verwenden Sie deren Amazon-Ressourcennamen (ARN). Mehr Informationen zur Angabe des ARN-Werts erhalten Sie unter [Amazon-Ressourcennamen (ARNs) für Amazon EC2](#EC2_ARN_Format). Wenn eine API-Aktion einzelne Personen nicht unterstützt ARNs, müssen Sie einen Platzhalter (\$1) verwenden, um anzugeben, dass alle Ressourcen von der Aktion betroffen sein können. 

Tabellen, die angeben, welche Amazon EC2-API-Aktionen Berechtigungen auf Ressourcenebene unterstützen, ARNs sowie die Bedingungsschlüssel, die Sie in einer Richtlinie verwenden können, finden Sie unter [Aktionen, Ressourcen und Bedingungsschlüssel für](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html) Amazon EC2.

Beachten Sie, dass Sie Tag (Markierungen)-basierte Berechtigungen auf Ressourcenebene in den IAM-Richtlinien anwenden können, die Sie für Amazon EC2-API-Aktionen verwenden. Dies ermöglicht Ihnen eine bessere Kontrolle darüber, welche Ressourcen ein Benutzer erstellen, ändern oder verwenden kann. Weitere Informationen finden Sie unter [Berechtigung zum Markieren von Amazon-EC2-Ressourcen während der Erstellung erteilen](supported-iam-actions-tagging.md). 

## Amazon-Ressourcennamen (ARNs) für Amazon EC2
<a name="EC2_ARN_Format"></a>

Jede IAM-Richtlinienerklärung gilt für die Ressourcen, die Sie mithilfe ihrer angeben. ARNs 

Ein ARN weist die folgende generelle Syntax auf:

```
arn:aws:[service]:[region]:[account-id]:resourceType/resourcePath
```

*Service nicht zulässig*  
Der Service (z. B. `ec2`)

*Region*  
Die Region für die Ressource (z. B. `us-east-1`)

*account-id*  
Die AWS Konto-ID ohne Bindestriche (z. B.). `123456789012`

*RessourcenTyp*  
Der Typ der Ressource (z. B. `instance`)

*resourcePath*  
Ein Pfad zur Identifizierung der Ressource. Sie können in den Pfaden das Platzhalterzeichen Sternchen (\$1) verwenden.

Verwenden Sie beispielsweise den ARN wie folgt, um eine bestimmte Instance (`i-1234567890abcdef0`) in der Anweisung anzugeben. 

```
"Resource": "arn:aws:ec2:us-east-1:123456789012:instance/i-1234567890abcdef0"
```

Sie können auch alle Instances angeben, die zu einem bestimmten Konto gehören, indem Sie das Platzhalterzeichen (\$1) folgendermaßen hinzufügen.

```
"Resource": "arn:aws:ec2:us-east-1:123456789012:instance/*"
```

Sie können auch alle Amazon EC2-Ressourcen angeben, die zu einem bestimmten Konto gehören, indem Sie das Platzhalterzeichen (\$1) folgendermaßen hinzufügen.

```
"Resource": "arn:aws:ec2:us-east-1:123456789012:*"
```

Um alle Ressourcen anzugeben oder falls eine bestimmte API-Aktion dies nicht unterstützt ARNs, verwenden Sie den Platzhalter \$1 im `Resource` Element wie folgt.

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

Viele Amazon EC2-API-Aktionen umfassen mehrere Ressourcen. Beispielsweise fügt `AttachVolume` ein Amazon-EBS-Volume an eine Instance an, sodass ein Benutzer über Berechtigungen zum Verwenden des Volumes und der Instance verfügen muss. Um mehrere Ressourcen in einer einzigen Anweisung anzugeben, trennen Sie sie wie ARNs folgt durch Kommas.

```
"Resource": ["arn1", "arn2"]
```

Eine Liste der ARNs für Amazon EC2-Ressourcen finden Sie unter [Von Amazon EC2 definierte Ressourcentypen](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-resources-for-iam-policies).

## Bedingungsschlüssel für Amazon EC2
<a name="amazon-ec2-keys"></a>

In einer Richtlinienanweisung können Sie optional Bedingungen angeben, mit denen gesteuert wird, wann die Richtlinie in Kraft tritt. Jede Bedingung enthält ein oder mehrere Schlüssel-Wert-Paare. Bei Bedingungsschlüsseln muss die Groß- und Kleinschreibung nicht beachtet werden. Wir haben AWS globale Bedingungsschlüssel sowie zusätzliche dienstspezifische Bedingungsschlüssel definiert.

Eine Liste der dienstspezifischen Bedingungsschlüssel für Amazon EC2 finden Sie unter [Bedingungsschlüssel für Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-policy-keys). Amazon EC2 implementiert auch die AWS globalen Bedingungsschlüssel. Für weitere Informationen vgl. [In allen Anforderungen verfügbare Informationen](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html#policy-vars-infoallreqs) im *IAM-Benutzerhandbuch*.

Alle Amazon EC2-Aktionen unterstützen die Bedingungsschlüssel `aws:RequestedRegion` und `ec2:Region`. Weitere Informationen finden Sie unter [Beispiel: Beschränken des Zugriffs auf eine bestimmte Region](ExamplePolicies_EC2.md#iam-example-region).

Verwenden Sie die `Condition`-Anweisung, um einen Bedingungsschlüssel in Ihrer IAM-Richtlinie zu verwenden. Die folgende Richtlinie gewährt Benutzern beispielsweise die Berechtigung, eingehende und ausgehende Regeln für jede Sicherheitsgruppe hinzuzufügen und zu entfernen. Der `ec2:Vpc`-Bedingungsschlüssel wird verwendet, um anzugeben, dass diese Aktionen nur für Sicherheitsgruppen in einer bestimmten VPC ausgeführt werden können.

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

****  

```
{
"Version":"2012-10-17",		 	 	 
  "Statement":[{
    "Effect":"Allow",
    "Action": [
       "ec2:AuthorizeSecurityGroupIngress",
       "ec2:AuthorizeSecurityGroupEgress",
       "ec2:RevokeSecurityGroupIngress",
       "ec2:RevokeSecurityGroupEgress"],
     "Resource": "arn:aws:ec2:us-east-1:111122223333:security-group/*",
      "Condition": {
        "StringEquals": {
          "ec2:Vpc": "arn:aws:ec2:us-east-1:111122223333:vpc/vpc-11223344556677889"
        }
      }
    }
  ]
}
```

------

Wenn Sie mehrere Bedingungen oder mehrere Schlüssel in einer einzelnen Bedingung angeben, werden diese mit einer logischen UND-Operation ausgewertet. Wenn Sie eine einzelne Bedingung mit mehreren Werten für einen Schlüssel angeben, wird die Bedingung mit einer logischen ODER-Operation ausgewertet. Damit die Berechtigungen erteilt werden, müssen alle Bedingungen erfüllt sein.

Bei der Angabe von Bedingungen können Sie auch Platzhalter verwenden. Weitere Informationen finden Sie unter [IAM-Richtlinienelemente: Variablen und Tags (Markierungen)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html) im *IAM-Benutzerhandbuch*.

**Wichtig**  
Einige API-Aktionen verwenden mehrere Ressourcen. Viele Bedingungsschlüssel sind jedoch ressourcenspezifisch. Wenn Sie eine Richtlinie mit einem Bedingungsschlüssel schreiben, legen Sie über das `Resource`-Element der Anweisung fest, für welche Ressource der Bedingungsschlüssel gültig ist. Andernfalls verhindert die Richtlinie möglicherweise, dass Benutzer die Aktion überhaupt ausführen, da die Bedingungsprüfung für die Ressourcen fehlschlägt, auf die der Bedingungsschlüssel nicht zutrifft. Wenn Sie keine Ressource angeben möchten oder über das `Action`-Element Ihrer Richtlinie mehrere API-Aktionen hinzugefügt haben, müssen Sie mit dem `...IfExists`-Bedingungstyp sicherstellen, dass der Bedingungsschlüssel für die Ressourcen, die ihn nicht verwenden, ignoriert wird. [Weitere Informationen finden Sie unter... IfExists ](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Conditions_IfExists)Bedingungen im *IAM-Benutzerhandbuch*.

**Topics**
+ [

### ec2:Attribute-Bedingungsschlüssel
](#attribute-key)
+ [

### ec2:ResourceID-Bedingungsschlüssel
](#imageId-key)
+ [

### ec2:SourceInstanceARN-Bedingungsschlüssel
](#SourceInstanceARN)

### ec2:Attribute-Bedingungsschlüssel
<a name="attribute-key"></a>

Der `ec2:Attribute`-Bedingungsschlüssel kann für Bedingungen verwendet werden, die den Zugriff nach einem Attribut einer Ressource filtern.

Dieser Bedingungsschlüssel unterstützt nur Eigenschaften eines primitiven Datentyps (wie Zeichenketten oder Ganzzahlen) oder komplexe **[AttributeValue](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_AttributeValue.html)**Objekte, die nur eine **Value-Eigenschaft** enthalten (wie die **Beschreibung** oder **ImdsSupport**Objekte der [ModifyImageAttribute](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyImageAttribute.html)API-Aktion). Der Bedingungsschlüssel kann nicht für komplexe Objekte verwendet werden, die mehrere Eigenschaften enthalten, wie z. B. das **LaunchPermission**Objekt von [ModifyImageAttribute](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyImageAttribute.html).

Die folgende Richtlinie verwendet beispielsweise den `ec2:Attribute/Description` Bedingungsschlüssel, um den Zugriff nach dem komplexen **Description-Objekt** der **ModifyImageAttribute**API-Aktion zu filtern. Der Bedingungsschlüssel lässt nur Anforderungen zu, die die Beschreibung eines Images entweder in `Production` oder `Development` ändern. 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "ec2:ModifyImageAttribute",
      "Resource": "arn:aws:ec2:us-east-1::image/ami-*",
      "Condition": {
        "StringEquals": {
          "ec2:Attribute/Description": [
            "Production",
            "Development"
          ]
        }
      }
    }
  ]
}
```

------

Die folgende Beispielrichtlinie verwendet den `ec2:Attribute` Bedingungsschlüssel, um den Zugriff nach der primitiven **Attributeigenschaft** der **ModifyImageAttribute**API-Aktion zu filtern. Der Bedingungsschlüssel lehnt alle Anforderungen ab, die versuchen, die Beschreibung eines Images zu ändern.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": "ec2:ModifyImageAttribute",
      "Resource": "arn:aws:ec2:us-east-1::image/ami-*",
      "Condition": {
        "StringEquals": {
          "ec2:Attribute": "Description"
        }
      }
    }
  ]
}
```

------

### ec2:ResourceID-Bedingungsschlüssel
<a name="imageId-key"></a>

Wenn Sie die folgenden `ec2:ResourceID`-Bedingungsschlüssel mit den angegebenen API-Aktionen verwenden, wird der Bedingungsschlüsselwert verwendet, um die resultierende Ressource anzugeben, die von der API-Aktion erstellt wird. `ec2:ResourceID`-Bedingungsschlüssel können nicht zum Angeben einer Quellressource verwendet werden, die in der API-Anfrage angegeben ist. Wenn Sie einen der folgenden `ec2:ResourceID`-Bedingungsschlüssel mit einer angegebenen API verwenden, müssen Sie immer den Platzhalter (`*`) angeben. Wenn Sie einen anderen Wert angeben, wird die Bedingung zur Laufzeit immer in `*` aufgelöst. Um beispielsweise den `ec2:ImageId` Bedingungsschlüssel mit der **CopyImage**API zu verwenden, müssen Sie den Bedingungsschlüssel wie folgt angeben:

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "ec2:CopyImage",
      "Resource": "arn:aws:ec2:us-east-1::image/ami-*",
      "Condition": {
        "StringEquals": {
          "ec2:ImageID": "*"
        }
      }
    }
  ]
}
```

------

Es wird empfohlen, die Verwendung von diesen Bedingungsschlüsseln bei diesen API-Aktionen zu vermeiden:
+ `ec2:DhcpOptionsID` – `CreateDhcpOptions`
+ `ec2:ImageID` – `CopyImage`, `CreateImage`, `ImportImage` und `RegisterImage`
+ `ec2:InstanceID` – `RunInstances` und `ImportInstance`
+ `ec2:InternetGatewayID` – `CreateInternetGateway`
+ `ec2:NetworkAclID` – `CreateNetworkAcl`
+ `ec2:NetworkInterfaceID` – `CreateNetworkInterface`
+ `ec2:PlacementGroupName` – `CreatePlacementGroup`
+ `ec2:RouteTableID` – `CreateRouteTable`
+ `ec2:SecurityGroupID` – `CreateSecurityGroup`
+ `ec2:SnapshotID` – `CopySnapshot`, `CreateSnapshot`, `CreateSnapshots` und `ImportSnapshots`
+ `ec2:SubnetID` – `CreateSubnet`
+ `ec2:VolumeID` – `CreateVolume` und `ImportVolume`
+ `ec2:VpcID` – `CreateVpc`
+ `ec2:VpcPeeringConnectionID` – `CreateVpcPeeringConnection`

Um den Zugriff auf der Grundlage einer bestimmten Ressource zu filtern IDs, empfehlen wir, das `Resource` Richtlinienelement wie folgt zu verwenden.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "ec2:CopyImage",
      "Resource": "arn:aws:ec2:us-east-1::image/ami-01234567890abcdef"
    }
  ]
}
```

------

### ec2:SourceInstanceARN-Bedingungsschlüssel
<a name="SourceInstanceARN"></a>

Verwenden Sie `ec2:SourceInstanceARN`, um den ARN der Instance anzugeben, von der aus eine Anfrage getätigt wird. Dies ist ein [AWS -globaler Bedingungsschlüssel](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html), was bedeutet, dass Sie ihn mit anderen Services als Amazon EC2 verwenden können. Eine Beispielrichtlinie finden Sie in [Beispiel: Erlauben Sie einer bestimmten Instanz, Ressourcen in anderen AWS Diensten anzuzeigen](ExamplePolicies_EC2.md#iam-example-source-instance).

## Den Zugriff mithilfe des attributbasierten Zugriffs steuern
<a name="control-access-with-tags"></a>

Wenn Sie eine IAM-Richtlinie erstellen, die Benutzern die Berechtigung zur Verwendung von EC2-Ressourcen gewährt, können Sie Tag-Informationen in das `Condition`-Element der Richtlinie einfügen, um den Zugriff basierend auf Tags zu steuern. Dies wird als attributbasierte Zugriffskontrolle (ABAC) bezeichnet. ABAC bietet eine besser Kontrolle darüber, welche Ressourcen ein Benutzer ändern, verwenden oder löschen kann. Weitere Informationen finden Sie unter [Was ist ABAC für AWS?](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)

Beispielsweise können Sie eine Richtlinie erstellen, die es Benutzern ermöglicht, eine Instance zu beenden, aber die Aktion verweigert, wenn die Instance über den `environment=production`-Tag (Markierungen) verfügt. Dazu verwenden Sie den `aws:ResourceTag`-Bedingungsschlüssel, um den Zugriff auf die Ressource basierend auf den der Ressource zugewiesenen Tags (Markierung) zu erlauben oder zu verweigern.

```
"StringEquals": { "aws:ResourceTag/environment": "production" }
```

Informationen darüber, ob eine Amazon EC2-API-Aktion das Steuern des Zugriffs mithilfe des `aws:ResourceTag`-Bedingungsschlüssels unterstützt finden Sie unter [Aktionen, Ressourcen und Bedingungsschlüssel für Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html). Beachten Sie, dass die `Describe`-Aktionen keine Berechtigungen auf Ressourcenebene unterstützen, sodass sie in einer separaten Anweisung ohne Bedingungen angegeben werden müssen.

Beispiele für IAM-Richtlinien finden Sie unter [Beispielrichtlinien zur Steuerung des Zugriffs auf die Amazon-EC2-API](ExamplePolicies_EC2.md). 

Wenn Sie Benutzern den Zugriff zu Ressourcen auf der Grundlage von Tags (Markierungen) gewähren oder verweigern, müssen Sie daran denken, Benutzern explizit das Hinzufügen und Entfernen dieser Tags (Markierungen) von den jeweiligen Ressourcen unmöglich zu machen. Andernfalls können Benutzer möglicherweise Ihre Einschränkungen umgehen und sich Zugriff auf eine Ressource verschaffen, indem sie ihre Tags (Markierungen) modifizieren.

## Gewähren von Berechtigungen für Benutzer, Gruppen und Rollen
<a name="granting-iam-permissions"></a>

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

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

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

## Prüfen, ob Benutzer über die erforderlichen Berechtigungen verfügen
<a name="check-required-permissions"></a>

Nach der Erstellung einer IAM-Richtlinie sollten Sie zunächst überprüfen, ob damit den Benutzern die benötigten Berechtigungen zur Verwendung bestimmter API-Aktionen und Ressourcen erteilt werden. Anschließend können Sie die Richtlinie anwenden.

Erstellen Sie zunächst einen Benutzer zu Testzwecken und fügen Sie dann die von Ihnen erstellte IAM-Richtlinie dem Testbenutzer an. Anschließend initiieren Sie mit dem Testbenutzer eine Anforderung.

Wenn durch die getestete Amazon-EC2-Aktion eine Ressource erstellt oder geändert wird, sollten Sie die Anforderung mit dem Parameter `DryRun` (oder über den AWS CLI -Befehl mit der Option `--dry-run`) ausführen. In diesem Fall schließt der Aufruf zwar die Autorisierungsprüfung, aber nicht die Operation ab. Beispielsweise können Sie prüfen, ob ein Benutzer eine bestimmte Instance beenden kann, ohne sie tatsächlich abzuschließen. Sofern der Testbenutzer über die erforderlichen Berechtigungen verfügt, gibt die Anforderung `DryRunOperation` zurück. Andernfalls wird `UnauthorizedOperation` zurückgegeben.

Falls die Richtlinie dem Benutzer nicht die erwarteten Berechtigungen erteilt oder zu viele Berechtigungen gewährt, können Sie die Richtlinie entsprechend anpassen und erneut testen, bis Sie die gewünschten Ergebnisse erhalten. 

**Wichtig**  
Es kann einige Minuten dauern, bis Richtlinienänderungen wirksam werden. Daher wird empfohlen, fünf Minuten verstreichen zu lassen, bevor Sie die aktualisierte Richtlinie testen.

Bei einer fehlgeschlagenen Autorisierungsprüfung gibt die Anforderung eine codierte Nachricht mit Diagnoseinformationen zurück. Sie können die Nachricht mit der Aktion `DecodeAuthorizationMessage` decodieren. Weitere Informationen finden Sie [DecodeAuthorizationMessage](https://docs.aws.amazon.com/STS/latest/APIReference/API_DecodeAuthorizationMessage.html)in der *AWS -Security-Token-Service API-Referenz* und [decode-authorization-message](https://docs.aws.amazon.com/cli/latest/reference/sts/decode-authorization-message.html).

# Beispielrichtlinien zur Steuerung des Zugriffs auf die Amazon-EC2-API
<a name="ExamplePolicies_EC2"></a>

Sie können IAM-Richtlinien verwenden, um Benutzern die für die Arbeit mit Amazon EC2 erforderlichen Berechtigungen zu gewähren. step-by-stepAnweisungen finden Sie unter [Erstellen von IAM-Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) im *IAM-Benutzerhandbuch*.

Die folgenden Beispiele zeigen Richtlinienanweisungen, die Sie verwenden können, um Benutzern die Berechtigung zur Nutzung von Amazon EC2 zu gewähren. Diese Richtlinien sind für Anfragen konzipiert, die mit dem AWS CLI oder einem AWS SDK gestellt werden. Ersetzen Sie in den folgenden Beispielen jedes Beispiel *user input placeholder* durch Ihre eigenen Informationen.

**Topics**
+ [Schreibgeschützter Zugriff](#iam-example-read-only)
+ [Beschränken des Zugriffs auf eine bestimmte Region](#iam-example-region)
+ [Arbeiten mit Instances](#iam-example-instances)
+ [Instanzen starten (RunInstances)](#iam-example-runinstances)
+ [

## Arbeiten mit Spot-Instances
](#iam-example-spot-instances)
+ [Arbeiten mit Reserved Instances](#iam-example-reservedinstances)
+ [Markieren von Ressourcen](#iam-example-taggingresources)
+ [Arbeiten mit IAM-Rollen](#iam-example-iam-roles)
+ [Arbeiten mit Routing-Tabellen](#iam-example-route-tables)
+ [Erlauben Sie einer bestimmten Instanz, Ressourcen in anderen AWS Diensten anzuzeigen](#iam-example-source-instance)
+ [Arbeiten mit Startvorlagen](#iam-example-launch-templates)
+ [Arbeiten mit Instance-Metadaten](#iam-example-instance-metadata)
+ [

## Arbeiten Sie mit Amazon-EBS-Volumes und Snapshots
](#iam-example-ebs)

Wenn Sie die Amazon EC2-Konsole verwenden möchten, finden Sie Beispielrichtlinien unter [Beispielrichtlinien zur Steuerung des Zugriffs auf die Amazon-EC2-Konsole](iam-policies-ec2-console.md).

## Beispiel: schreibgeschützter Zugriff
<a name="iam-example-read-only"></a>

Mit der folgenden Richtlinie wird Benutzern Berechtigungen zur Verwendung aller Amazon EC2-API-Aktionen erteilt, deren Name mit `Describe` beginnt. Das `Resource`-Element verwendet einen Platzhalter, wodurch Benutzer alle Ressourcen mit diesen API-Aktionen angeben können. Das Sternchen (\$1) als Platzhalter ist auch dann erforderlich, wenn die API-Aktion keine Berechtigungen auf Ressourcenebene unterstützt. Weitere Informationen dazu, welche ARNs Sie mit welchen Amazon EC2-API-Aktionen verwenden können, finden Sie unter [Aktionen, Ressourcen und Bedingungsschlüssel für Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html).

Die Benutzer haben keine Berechtigung zum Ausführen von Aktionen auf den Ressourcen (es sei denn, eine andere Anweisung erteilt ihnen diese Erlaubnis), da ihnen die Berechtigung für die Verwendung von API-Aktionen standardmäßig verweigert wird.

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

****  

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

------

## Beispiel: Beschränken des Zugriffs auf eine bestimmte Region
<a name="iam-example-region"></a>

Die folgende Richtlinie verweigert Benutzern die Berechtigung, Amazon EC2-API-Aktionen in anderen Regionen als Europa (Frankfurt) zu verwenden. Sie verwendet den globalen Bedingungsschlüssel `aws:RequestedRegion`, der von allen Amazon EC2-API-Aktionen unterstützt wird.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
       {
      "Effect": "Deny",
      "Action": "ec2:*",
      "Resource": "*",
      "Condition": {
        "StringNotEquals": {
          "aws:RequestedRegion": "eu-central-1"
        }
      }
    }  
  ]
}
```

------

Alternativ können Sie den Bedingungsschlüssel `ec2:Region` verwenden, der speziell für Amazon EC2 verwendet wird und von allem Amazon EC2-API-Aktionen unterstützt wird.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
       {
      "Effect": "Deny",
      "Action": "ec2:*",
      "Resource": "*",
      "Condition": {
        "StringNotEquals": {
          "ec2:Region": "eu-central-1"
        }
      }
    }  
  ]
}
```

------

## Arbeiten mit Instances
<a name="iam-example-instances"></a>

**Topics**
+ [

### Beispiel: Beschreiben, Initiieren, Stoppen, Starten und Beenden aller Instances
](#iam-example-instances-all)
+ [

### Beispiel: Beschreiben aller Instances sowie Stoppen, Starten und Beenden nur bestimmter Instances
](#iam-example-instances-specific)

### Beispiel: Beschreiben, Initiieren, Stoppen, Starten und Beenden aller Instances
<a name="iam-example-instances-all"></a>

Mit der folgenden Richtlinie wird Benutzern Berechtigungen erteilt, die im Element `Action` angegebenen API-Aktionen zu verwenden. Das `Resource`-Element verwendet den Platzhalter "\$1", wodurch Benutzer alle Ressourcen mit diesen API-Aktionen angeben können. Das Sternchen (\$1) als Platzhalter ist auch dann erforderlich, wenn die API-Aktion keine Berechtigungen auf Ressourcenebene unterstützt. Weitere Informationen dazu, welche ARNs Sie mit welchen Amazon EC2-API-Aktionen verwenden können, finden Sie unter [Aktionen, Ressourcen und Bedingungsschlüssel für Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html).

Die Benutzer haben keine Berechtigung zur Verwendung von anderen API-Aktionen (es sei denn, eine andere Anweisung erteilt ihnen die entsprechende Erlaubnis), da den Benutzern die Berechtigung für die Verwendung von API-Aktionen standardmäßig verweigert wird.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeInstances", 
        "ec2:DescribeImages",
        "ec2:DescribeKeyPairs", 
        "ec2:DescribeSecurityGroups",
        "ec2:DescribeAvailabilityZones",
        "ec2:RunInstances", 
        "ec2:TerminateInstances",
        "ec2:StopInstances", 
        "ec2:StartInstances"
      ],
      "Resource": "*"
    }
   ]
}
```

------

### Beispiel: Beschreiben aller Instances sowie Stoppen, Starten und Beenden nur bestimmter Instances
<a name="iam-example-instances-specific"></a>

Die folgende Richtlinie erlaubt den Benutzern, alle Instances zu beschreiben, nur die Instances i-1234567890abcdef0 und i-0598c7d356eba48d7 zu starten und anzuhalten sowie ausschließlich Instances in der Region `us-east-1` mit dem Ressourcen-Tag „`purpose=test`“ zu beenden. 

In der ersten Anweisung legt ein \$1-Platzhalter im `Resource`-Element fest, dass die Benutzer alle Ressourcen für die Aktion angeben können. In diesem Beispiel können sie alle Instances auflisten. Das Sternchen (\$1) als Platzhalter ist auch dann erforderlich, wenn die API-Aktion keine Berechtigungen auf Ressourcenebene unterstützt (in diesem Fall `ec2:DescribeInstances`). Weitere Informationen dazu, welche ARNs Sie mit welchen Amazon EC2-API-Aktionen verwenden können, finden Sie unter [Aktionen, Ressourcen und Bedingungsschlüssel für Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html).

Die zweite Anweisung erteilt Berechtigungen auf Ressourcenebene für die Aktionen `StopInstances` und `StartInstances`. Die spezifischen Instanzen werden durch ihre ARNs im `Resource` Element enthaltenen Werte gekennzeichnet.

Die dritte Anweisung ermöglicht es Benutzern, alle Instances in der `us-east-1` Region zu beenden, die zu dem angegebenen AWS Konto gehören, aber nur dort, wo die Instanz das Tag hat`"purpose=test"`. Das `Condition`-Element bestimmt, wann die Richtlinienanweisung wirksam ist. 

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
   {
   "Effect": "Allow",
      "Action": "ec2:DescribeInstances",
      "Resource": "*"
   },
   {
      "Effect": "Allow",
      "Action": [
        "ec2:StopInstances", 
        "ec2:StartInstances"
      ],
      "Resource": [
        "arn:aws:ec2:us-east-1:111122223333:instance/i-1234567890abcdef0",
        "arn:aws:ec2:us-east-1:111122223333:instance/i-0598c7d356eba48d7"
      ]
    },
    {
      "Effect": "Allow",
      "Action": "ec2:TerminateInstances",
      "Resource": "arn:aws:ec2:us-east-1:111122223333:instance/*",
      "Condition": {
         "StringEquals": {
            "aws:ResourceTag/purpose": "test"
         }
      }
   }

   ]
}
```

------

## Instanzen starten (RunInstances)
<a name="iam-example-runinstances"></a>

Die [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html)API-Aktion startet eine oder mehrere On-Demand-Instances oder eine oder mehrere Spot-Instances. `RunInstances`benötigt ein AMI und erstellt eine Instanz. Benutzer können in der Anforderung ein Schlüsselpaar und eine Sicherheitsgruppe angeben. Der Start in einer VPC erfordert ein Subnetz und generiert eine Netzwerkschnittstelle. Beim Starten von einem Amazon EBS-Backed AMI wird ein Volume erstellt. Der Benutzer muss daher über Berechtigungen zur Verwendung dieser Amazon EC2-Ressourcen verfügen. Sie können eine Richtlinienanweisung erstellen, damit die Benutzer einen optionalen Parameter für `RunInstances` angeben müssen oder die Werte einschränken, die den Benutzern für einen Parameter gestattet sind.

Weitere Informationen zu Berechtigungen auf Ressourcenebene, die zum Starten einer Instance erforderlich sind, finden Sie unter [Aktionen, Ressourcen und Bedingungsschlüssel für Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html).

Standardmäßig verfügen Benutzer nicht über Berechtigungen, die resultierenden Instances zu beschreiben, zu starten, anzuhalten oder zu beenden. Eine Möglichkeit, den Benutzern die Berechtigung zum Verwalten der resultierenden Instances zu erteilen, besteht darin, ein spezielles Tags (Markierung) für jede Instance und eine Anweisung zu erstellen, welche dazu dient, die Instances mit diesem Tag (Markierung) zu verwalten. Weitere Informationen finden Sie unter [Arbeiten mit Instances](#iam-example-instances).

**Topics**
+ [

### AMIs
](#iam-example-runinstances-ami)
+ [

### Instance-Typen
](#iam-example-runinstances-instance-type)
+ [

### Subnets
](#iam-example-runinstances-subnet)
+ [

### EBS-Datenträger
](#iam-example-runinstances-volumes)
+ [

### Tags (Markierungen)
](#iam-example-runinstances-tags)
+ [

### Tags (Markierungen) in einer Startvorlage
](#iam-example-tags-launch-template)
+ [

### Elastisch GPUs
](#iam-example-runinstances-egpu)
+ [

### Startvorlagen
](#iam-example-runinstances-launch-templates)

### AMIs
<a name="iam-example-runinstances-ami"></a>

Die folgende Richtlinie ermöglicht es Benutzern, Instances nur mit den angegebenen AMIs, `ami-9e1670f7` und zu starten`ami-45cf5c3c`. Die Benutzer können eine Instance nicht mit anderen starten AMIs (es sei denn, eine andere Anweisung erteilt den Benutzern die Erlaubnis dazu).

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
   {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [
        "arn:aws:ec2:us-east-1::image/ami-9e1670f7",
        "arn:aws:ec2:us-east-1::image/ami-45cf5c3c",
        "arn:aws:ec2:us-east-1:111122223333:instance/*",
        "arn:aws:ec2:us-east-1:111122223333:volume/*",
        "arn:aws:ec2:us-east-1:111122223333:key-pair/*",
        "arn:aws:ec2:us-east-1:111122223333:security-group/*",
        "arn:aws:ec2:us-east-1:111122223333:subnet/*",
        "arn:aws:ec2:us-east-1:111122223333:network-interface/*"
      ]
    }
   ]
}
```

------

Alternativ ermöglicht die folgende Richtlinie Benutzern, Instances von allen Anbietern von AMIs Amazon oder bestimmten vertrauenswürdigen und verifizierten Partnern aus zu starten. Das `Condition`-Element in der ersten Anweisung überprüft, ob `ec2:Owner` `amazon` ist. Die Benutzer können eine Instance nicht mit anderen starten AMIs (es sei denn, eine andere Erklärung erteilt den Benutzern die Erlaubnis, dies zu tun).

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
         {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [ 
         "arn:aws:ec2:us-east-1::image/ami-*"
      ],
      "Condition": {
         "StringEquals": {
            "ec2:Owner": "amazon"
         }
      }
   },
   {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [ 
         "arn:aws:ec2:us-east-1:111122223333:instance/*",
         "arn:aws:ec2:us-east-1:111122223333:subnet/*",
         "arn:aws:ec2:us-east-1:111122223333:volume/*",
         "arn:aws:ec2:us-east-1:111122223333:network-interface/*",
         "arn:aws:ec2:us-east-1:111122223333:key-pair/*",
         "arn:aws:ec2:us-east-1:111122223333:security-group/*"
         ]
      }
   ]
}
```

------

### Instance-Typen
<a name="iam-example-runinstances-instance-type"></a>

Die folgende Richtlinie gestattet es Benutzern, Instances nur mit dem `t2.micro`- oder `t2.small`-Instance-Typ zu starten, wodurch die Kosten kontrolliert werden können. Die Benutzer können keine größeren Instances starten, da das `Condition`-Element der ersten Anweisung überprüft, ob `ec2:InstanceType` entweder `t2.micro` oder `t2.small` ist. 

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [
         "arn:aws:ec2:us-east-1:111122223333:instance/*"
      ],
      "Condition": {
         "StringEquals": {
            "ec2:InstanceType": ["t2.micro", "t2.small"]
         }
      }
   },
   {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [
         "arn:aws:ec2:us-east-1::image/ami-*",
         "arn:aws:ec2:us-east-1:111122223333:subnet/*",
         "arn:aws:ec2:us-east-1:111122223333:network-interface/*",
         "arn:aws:ec2:us-east-1:111122223333:volume/*",
         "arn:aws:ec2:us-east-1:111122223333:key-pair/*",
         "arn:aws:ec2:us-east-1:111122223333:security-group/*"
         ]
      }
   ]
}
```

------

Sie können alternativ eine Richtlinie erstellen, die Benutzern Berechtigungen zum Starten aller Instances, mit Ausnahme der Instance-Typen `t2.micro` und `t2.small`, verweigert.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        { 
      "Effect": "Deny",
      "Action": "ec2:RunInstances",
      "Resource": [
         "arn:aws:ec2:us-east-1:111122223333:instance/*"
      ],
      "Condition": {
         "StringNotEquals": {
            "ec2:InstanceType": ["t2.micro", "t2.small"]
         }
      }
   },
   {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [
         "arn:aws:ec2:us-east-1::image/ami-*",
         "arn:aws:ec2:us-east-1:111122223333:network-interface/*",
         "arn:aws:ec2:us-east-1:111122223333:instance/*",
         "arn:aws:ec2:us-east-1:111122223333:subnet/*",
         "arn:aws:ec2:us-east-1:111122223333:volume/*",
         "arn:aws:ec2:us-east-1:111122223333:key-pair/*",
         "arn:aws:ec2:us-east-1:111122223333:security-group/*"
         ]
      }
   ]
}
```

------

### Subnets
<a name="iam-example-runinstances-subnet"></a>

Die folgende Richtlinie erlaubt den Benutzern, Instances ausschließlich im angegebenen Subnetz, `subnet-12345678`, zu starten. Die Gruppe kann keine Instances in einem anderen Subnetz starten (es sei denn, eine andere Anweisung gewährt den Benutzern die entsprechende Berechtigung).

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
    {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [
        "arn:aws:ec2:us-east-1:111122223333:subnet/subnet-12345678",
        "arn:aws:ec2:us-east-1:111122223333:network-interface/*",
        "arn:aws:ec2:us-east-1:111122223333:instance/*",
        "arn:aws:ec2:us-east-1:111122223333:volume/*",
        "arn:aws:ec2:us-east-1::image/ami-*",
        "arn:aws:ec2:us-east-1:111122223333:key-pair/*",
        "arn:aws:ec2:us-east-1:111122223333:security-group/*"
      ]
    }
   ]
}
```

------

Alternativ können Sie eine Richtlinie erstellen, die Benutzern Berechtigungen zum Starten einer Instance in jedem anderen Subnetz verweigert. Zu diesem Zweck verweigert die Anweisung die Berechtigung zum Erstellen einer Netzwerkschnittstelle, außer wenn das `subnet-12345678`-Subnetz festgelegt wird. Diese Verweigerung setzt alle anderen Richtlinien außer Kraft, die erstellt werden, um zu gestatten, Instances in anderen Subnetzen zu starten.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
         {
      "Effect": "Deny",
      "Action": "ec2:RunInstances",
      "Resource": [
         "arn:aws:ec2:us-east-1:111122223333:network-interface/*"
      ],
      "Condition": {
         "ArnNotEquals": {
            "ec2:Subnet": "arn:aws:ec2:us-east-1:111122223333:subnet/subnet-12345678"
         }
      }
   },
   {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [
         "arn:aws:ec2:us-east-1::image/ami-*",
         "arn:aws:ec2:us-east-1:111122223333:network-interface/*",
         "arn:aws:ec2:us-east-1:111122223333:instance/*",
         "arn:aws:ec2:us-east-1:111122223333:subnet/*",
         "arn:aws:ec2:us-east-1:111122223333:volume/*",
         "arn:aws:ec2:us-east-1:111122223333:key-pair/*",
         "arn:aws:ec2:us-east-1:111122223333:security-group/*"
         ]
      }
   ]
}
```

------

### EBS-Datenträger
<a name="iam-example-runinstances-volumes"></a>

Die Richtlinie unten ermöglicht es den Benutzern, Instances nur zu starten, wenn die EBS-Volumes für die Instance verschlüsselt sind. Der Benutzer muss eine Instance von einem AMI starten, das mit verschlüsselten Snapshots erstellt wurde, um sicherzustellen, dass das Stamm-Volume verschlüsselt wird. Jedes weitere Volume, das der Instance während des Starts vom Benutzer angefügt wird, muss auch verschlüsselt sein.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
                {
            "Effect": "Allow",
            "Action": "ec2:RunInstances",
            "Resource": [
                "arn:aws:ec2:*:*:volume/*"
            ],
            "Condition": {
                "Bool": {
                    "ec2:Encrypted": "true"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "ec2:RunInstances",
            "Resource": [
                "arn:aws:ec2:*::image/ami-*",
                "arn:aws:ec2:*:*:network-interface/*",
                "arn:aws:ec2:*:*:instance/*",
                "arn:aws:ec2:*:*:subnet/*",
                "arn:aws:ec2:*:*:key-pair/*",
                "arn:aws:ec2:*:*:security-group/*"
            ]
        }
    ]
}
```

------

### Tags (Markierungen)
<a name="iam-example-runinstances-tags"></a>

**Markieren von Instances bei der Erstellung**

Die folgende Richtlinie gestattet es den Benutzern, Instances zu starten und sie während ihrer Erstellung zu markieren. Bei Aktionen zur Ressourcenerstellung, die Tags anwenden, müssen Benutzer über Berechtigungen für die Aktion `CreateTags` verfügen. Die zweite Anweisung enthält den `ec2:CreateAction`-Bedingungsschlüssel, sodass die Benutzer Tags nur im Kontext von `RunInstances` und nur für Instances erstellen können. Die Benutzer können keine vorhandenen Ressourcen mit Tags versehen und Volumes nicht mit der `RunInstances`-Anforderung markieren. 

Weitere Informationen finden Sie unter [Berechtigung zum Markieren von Amazon-EC2-Ressourcen während der Erstellung erteilen](supported-iam-actions-tagging.md).

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

****  

```
{
  "Version":"2012-10-17",		 	 	  
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
         "ec2:RunInstances"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
         "ec2:CreateTags"
      ],
      "Resource": "arn:aws:ec2:us-east-1:111122223333:instance/*",
      "Condition": {
         "StringEquals": {
             "ec2:CreateAction" : "RunInstances"
          }
       }
    }
  ]
}
```

------

**Markieren von Instances und Volumes bei der Erstellung mit bestimmten Tags**

Die folgende Richtlinie umfasst den `aws:RequestTag`-Bedingungsschlüssel. Die Benutzer müssen daher alle Instances und Volumes, die durch `RunInstances` erstellt werden, mit den Tags `environment=production` und `purpose=webserver` versehen. Werden nicht genau diese Tags (Markierungen) übergeben oder überhaupt keine Tags (Markierungen) angegeben, schlägt die Anforderung fehl.

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

****  

```
{
  "Version":"2012-10-17",		 	 	  
  "Statement": [
   {
      "Effect": "Allow",
      "Action": [
         "ec2:RunInstances"
      ],
      "Resource": [
         "arn:aws:ec2:us-east-1::image/*",
         "arn:aws:ec2:us-east-1:111122223333:subnet/*",
         "arn:aws:ec2:us-east-1:111122223333:network-interface/*",
         "arn:aws:ec2:us-east-1:111122223333:security-group/*",
         "arn:aws:ec2:us-east-1:111122223333:key-pair/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
         "ec2:RunInstances"
      ],
      "Resource": [
          "arn:aws:ec2:us-east-1:111122223333:volume/*",
          "arn:aws:ec2:us-east-1:111122223333:instance/*"
      ],
      "Condition": {
         "StringEquals": {
             "aws:RequestTag/environment": "production" ,
             "aws:RequestTag/purpose": "webserver"
          }
       }
    },
    {
      "Effect": "Allow",
      "Action": [
         "ec2:CreateTags"
      ],
      "Resource": "arn:aws:ec2:us-east-1:111122223333:*/*",
      "Condition": {
         "StringEquals": {
             "ec2:CreateAction" : "RunInstances"
          }
       }
    }
  ]
}
```

------

**Markieren von instances und Volumes bei der Erstellung mit mindestens einem bestimmten Tag**

Die Richtlinie unten verwendet den `ForAnyValue`-Modifikator für die `aws:TagKeys`-Bedingung, um festzulegen, dass mindestens ein Tag (Markierung) in der Anforderung angegeben werden muss und der `environment`- oder `webserver`-Schlüssel enthalten sein muss. Das Tag (Markierung) muss sowohl auf Instances als auch auf Volumes angewendet werden. In der Anforderung können beliebige Tags (Markierungen)-Werte angegeben werden. 

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

****  

```
{
  "Version":"2012-10-17",		 	 	  
  "Statement": [
   {
      "Effect": "Allow",
      "Action": [
         "ec2:RunInstances"
      ],
      "Resource": [
         "arn:aws:ec2:us-east-1::image/*",
         "arn:aws:ec2:us-east-1:111122223333:subnet/*",
         "arn:aws:ec2:us-east-1:111122223333:network-interface/*",
         "arn:aws:ec2:us-east-1:111122223333:security-group/*",
         "arn:aws:ec2:us-east-1:111122223333:key-pair/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
          "ec2:RunInstances"
      ],
      "Resource": [
          "arn:aws:ec2:us-east-1:111122223333:volume/*",
          "arn:aws:ec2:us-east-1:111122223333:instance/*"
      ],
      "Condition": {
          "ForAnyValue:StringEquals": {
              "aws:TagKeys": ["environment","webserver"]
          }
       }
    },
    {
      "Effect": "Allow",
      "Action": [
          "ec2:CreateTags"
      ],
      "Resource": "arn:aws:ec2:us-east-1:111122223333:*/*",
      "Condition": {
          "StringEquals": {
              "ec2:CreateAction" : "RunInstances"
          }
       }
    }
  ]
}
```

------

**Wenn Instances bei der Erstellung markiert werden, müssen sie mit einem bestimmten Tag markiert sein**

In der folgenden Richtlinie ist es nicht notwendig, dass die Benutzer in der Anforderung Tags (Markierungen) angeben, aber wenn sie dies tun, muss es das Tag (Markierungen) `purpose=test` sein. Andere Tags (Markierungen) sind nicht zulässig. Die Benutzer können in der `RunInstances`-Anforderung die Tags auf jede Ressource anwenden, die mit Tags versehen werden kann.

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

****  

```
{
  "Version":"2012-10-17",		 	 	  
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
         "ec2:RunInstances"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
         "ec2:CreateTags"
      ],
      "Resource": "arn:aws:ec2:us-east-1:111122223333:*/*",
      "Condition": {
         "StringEquals": {
             "aws:RequestTag/purpose": "test",
             "ec2:CreateAction" : "RunInstances"
          },
          "ForAllValues:StringEquals": {
              "aws:TagKeys": "purpose"
          }
       }
    }
  ]
}
```

------

Um jeden Benutzer zu verbieten, der Tag auf create for aufgerufen hat RunInstances



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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowRun",
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1::image/*",
                "arn:aws:ec2:us-east-1:*:subnet/*",
                "arn:aws:ec2:us-east-1:*:network-interface/*",
                "arn:aws:ec2:us-east-1:*:security-group/*",
                "arn:aws:ec2:us-east-1:*:key-pair/*",
                "arn:aws:ec2:us-east-1:*:volume/*",
                "arn:aws:ec2:us-east-1:*:instance/*",
                "arn:aws:ec2:us-east-1:*:spot-instances-request/*"
            ]
        },
        {
            "Effect": "Deny",
            "Action": "ec2:CreateTags",
            "Resource": "*"
        }
    ]
}
```

------

Erlaube nur bestimmte Tags für spot-instances-request. Hier kommt die überraschende Inkonsistenz Nr. 2 ins Spiel. Unter normalen Umständen führt das Angeben von keinen Tags (Markierungen) zu „Unauthenticated (Nicht authentifiziert)“. Im Fall von wird diese Richtlinie nicht ausgewertet spot-instances-request, wenn keine spot-instances-request Tags vorhanden sind, sodass eine Spot-on-Run-Anfrage ohne Tags erfolgreich ist. 

### Tags (Markierungen) in einer Startvorlage
<a name="iam-example-tags-launch-template"></a>

Im folgenden Beispiel können Benutzer Instances starten, jedoch nur über eine bestimmte Startvorlage (`lt-09477bcd97b0d310e`). Durch den Bedingungsschlüssel `ec2:IsLaunchTemplateResource` werden Benutzer daran gehindert, in der Startvorlage angegebene Ressourcen außer Kraft zu setzen. Der zweite Teil der Anweisung erlaubt Benutzern das Markieren von Instances bei der Erstellung – dieser Teil der Anweisung wird benötigt, wenn in der Startvorlage Tags (Markierungen) für die Instance angegeben werden.

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

****  

```
{
  "Version":"2012-10-17",		 	 	  
  "Statement": [
   {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": "*",
      "Condition": {
         "ArnLike": {
             "ec2:LaunchTemplate": "arn:aws:ec2:us-east-1:111122223333:launch-template/lt-09477bcd97b0d310e" 
          },
          "Bool": {
             "ec2:IsLaunchTemplateResource": "true"
          }
       }
    },
    {
      "Effect": "Allow",
      "Action": [
         "ec2:CreateTags"
      ],
      "Resource": "arn:aws:ec2:us-east-1:111122223333:instance/*",
      "Condition": {
         "StringEquals": {
             "ec2:CreateAction" : "RunInstances"
          }
       }
    }
  ]
}
```

------

### Elastisch GPUs
<a name="iam-example-runinstances-egpu"></a>

In der folgenden Richtlinie können Benutzer eine Instance starten und eine elastische GPU zum Anfügen an die Instance angeben. Benutzer können Instances in jeder Region starten, das Anfügen einer elastischen GPU ist beim Start jedoch nur in der Region `us-east-2` möglich. 

Der `ec2:ElasticGpuType`-Bedingungsschlüssel stellt sicher, dass Instances entweder den Elastic `eg1.medium`- oder `eg1.large`-GPU-Typ verwenden.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
             {
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:*:111122223333:elastic-gpu/*"
            ],
            "Condition": {
                "StringEquals": {
                    "ec2:Region": "us-east-2",
                    "ec2:ElasticGpuType": [
                        "eg1.medium",
                        "eg1.large"
                    ]
                }  
            }
        },
        {
            "Effect": "Allow",
            "Action": "ec2:RunInstances",
            "Resource": [
                "arn:aws:ec2:*::image/ami-*",
                "arn:aws:ec2:*:111122223333:network-interface/*",
                "arn:aws:ec2:*:111122223333:instance/*",
                "arn:aws:ec2:*:111122223333:subnet/*",
                "arn:aws:ec2:*:111122223333:volume/*",
                "arn:aws:ec2:*:111122223333:key-pair/*",
                "arn:aws:ec2:*:111122223333:security-group/*"
            ]
        }
    ]
}
```

------

### Startvorlagen
<a name="iam-example-runinstances-launch-templates"></a>

Im folgenden Beispiel können Benutzer Instances starten, jedoch nur über eine bestimmte Startvorlage (`lt-09477bcd97b0d310e`). Benutzer können die Parameter in der Startvorlage außer Kraft setzen, indem sie die Parameter in der Aktion `RunInstances` angeben.

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

****  

```
{
  "Version":"2012-10-17",		 	 	  
  "Statement": [
         {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": "*",
      "Condition": {
         "ArnLike": {
             "ec2:LaunchTemplate": "arn:aws:ec2:us-east-1:111122223333:launch-template/lt-09477bcd97b0d310e" 
          }
       }
    }
  ]
}
```

------

In diesem Beispiel können Benutzer Instances nur starten, wenn sie eine Startvorlage verwenden. Die Richtlinie verwendet den `ec2:IsLaunchTemplateResource` Bedingungsschlüssel, um zu verhindern, dass Benutzer bereits ARNs in der Startvorlage vorhandene Werte überschreiben.

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

****  

```
{
  "Version":"2012-10-17",		 	 	  
  "Statement": [
         {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": "*",
      "Condition": {
         "ArnLike": {
             "ec2:LaunchTemplate": "arn:aws:ec2:us-east-1:111122223333:launch-template/*" 
          },
          "Bool": {
             "ec2:IsLaunchTemplateResource": "true"
          }
       }
    }
  ]
}
```

------

Die folgende Beispielsrichtlinie erlaubt einem Benutzer, Instances zu starten, jedoch nur über eine Startvorlage. Benutzer können in der Anforderung keine Subnetz- und Netzwerkschnittstellen-Parameter außer Kraft setzen. Diese Parameter können nur in der Startvorlage angegeben werden. Im ersten Teil der Anweisung wird das [NotResource](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_notresource.html)Element verwendet, um alle anderen Ressourcen außer Subnetzen und Netzwerkschnittstellen zuzulassen. Der zweite Teil der Anweisung erlaubt die Subnetz- und Netzwerkschnittstellen-Ressourcen, jedoch nur, wenn sie ihren Ursprung in der Startvorlage haben.

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

****  

```
{
  "Version":"2012-10-17",		 	 	  
  "Statement": [
        {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "NotResource": ["arn:aws:ec2:us-east-1:111122223333:subnet/*",
                      "arn:aws:ec2:us-east-1:111122223333:network-interface/*" ],
      "Condition": {
         "ArnLike": {
             "ec2:LaunchTemplate": "arn:aws:ec2:us-east-1:111122223333:launch-template/*" 
          }
       }
    },
   {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": ["arn:aws:ec2:us-east-1:111122223333:subnet/*",
                   "arn:aws:ec2:us-east-1:111122223333:network-interface/*" ],
      "Condition": {
         "ArnLike": {
             "ec2:LaunchTemplate": "arn:aws:ec2:us-east-1:111122223333:launch-template/*" 
          },
          "Bool": {
             "ec2:IsLaunchTemplateResource": "true"
          }
       }
    }
  ]
}
```

------

Das folgende Beispiel erlaubt Benutzern, Instances zu starten, jedoch nur über eine Startvorlage und wenn die Startvorlage den Tag (Markierungen) `Purpose=Webservers` aufweist. Benutzer können mit der Aktion `RunInstances` keine Parameter der Startvorlage außer Kraft setzen.

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

****  

```
{
  "Version":"2012-10-17",		 	 	  
  "Statement": [
        {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "NotResource": "arn:aws:ec2:us-east-1:111122223333:launch-template/*",
      "Condition": {
         "ArnLike": {
             "ec2:LaunchTemplate": "arn:aws:ec2:us-east-1:111122223333:launch-template/*" 
          },
         "Bool": {
             "ec2:IsLaunchTemplateResource": "true"
          }
       }
    },
    {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": "arn:aws:ec2:us-east-1:111122223333:launch-template/*",
      "Condition": {
       "StringEquals": {
           "aws:ResourceTag/Purpose": "Webservers" 
        }
       }
     }
  ]
}
```

------

## Arbeiten mit Spot-Instances
<a name="iam-example-spot-instances"></a>

Sie können die RunInstances Aktion verwenden, um Spot-Instance-Anfragen zu erstellen und die Spot-Instance-Anfragen bei der Erstellung mit einem Tag zu versehen. Die Ressource, für die Sie angeben müssen, RunInstances ist`spot-instances-request`.

Die `spot-instances-request`-Ressource wird in der IAM-Richtlinie wie folgt ausgewertet:
+ Wenn Sie eine Spot-Instance-Anfrage bei der Erstellung nicht taggen, bewertet Amazon EC2 die `spot-instances-request` Ressource in der RunInstances Anweisung nicht.
+ Wenn Sie eine Spot-Instance-Anfrage bei der Erstellung taggen, bewertet Amazon EC2 die `spot-instances-request` Ressource in der RunInstances Anweisung.

Daher gelten für die `spot-instances-request`-Ressource die folgenden Regeln für die IAM-Richtlinie:
+ Wenn Sie RunInstances eine Spot-Instance-Anfrage erstellen und nicht beabsichtigen, die Spot-Instance-Anfrage bei der Erstellung zu taggen, müssen Sie die `spot-instances-request` Ressource nicht explizit zulassen. Der Aufruf ist erfolgreich.
+ Wenn Sie RunInstances eine Spot-Instance-Anfrage erstellen und beabsichtigen, die Spot-Instance-Anfrage bei der Erstellung zu taggen, müssen Sie die `spot-instances-request` Ressource in die RunInstances Allow-Anweisung aufnehmen, andernfalls schlägt der Aufruf fehl.
+ Wenn Sie RunInstances eine Spot-Instance-Anfrage erstellen und beabsichtigen, die Spot-Instance-Anfrage bei der Erstellung zu taggen, müssen Sie die `spot-instances-request` Ressource oder den `*` Platzhalter in der Allow-Anweisung CreateTags angeben, andernfalls schlägt der Aufruf fehl. 

Sie können Spot-Instances mit RunInstances oder RequestSpotInstances anfordern. Die folgenden Beispiel-IAM-Richtlinien gelten nur, wenn Sie Spot-Instances über RunInstances anfordern.

**Beispiel: Spot-Instances anfordern mit RunInstances**

Die folgende Richtlinie ermöglicht es Benutzern, Spot-Instances mithilfe der RunInstances Aktion anzufordern. Die `spot-instances-request` Ressource, die von erstellt wurde RunInstances, fordert Spot-Instances an.

**Anmerkung**  
Um Spot-Instance-Anfragen RunInstances zu erstellen, können Sie sie `spot-instances-request` aus der `Resource` Liste streichen, wenn Sie nicht beabsichtigen, die Spot-Instance-Anfragen bei der Erstellung zu taggen. Das liegt daran, dass Amazon EC2 die `spot-instances-request` Ressource in der RunInstances Anweisung nicht bewertet, wenn die Spot-Instance-Anfrage bei create nicht markiert ist.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowRun",
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1::image/*",
                "arn:aws:ec2:us-east-1:*:subnet/*",
                "arn:aws:ec2:us-east-1:*:network-interface/*",
                "arn:aws:ec2:us-east-1:*:security-group/*",
                "arn:aws:ec2:us-east-1:*:key-pair/*",
                "arn:aws:ec2:us-east-1:*:volume/*",
                "arn:aws:ec2:us-east-1:*:instance/*",
                "arn:aws:ec2:us-east-1:*:spot-instances-request/*"
            ]
        }
    ]
}
```

------

**Warnung**  
**NICHT UNTERSTÜTZT — Beispiel: Benutzern die Erlaubnis verweigern, Spot-Instances anzufordern mit RunInstances**  
Die folgende Richtlinie wird für die `spot-instances-request`-Ressource nicht unterstützt.  
Die folgende Richtlinie soll Benutzern die Berechtigung zum Starten von On-Demand-Instances erteilen, ihnen jedoch die Berechtigung zum Anfordern von Spot-Instances verweigern. Die `spot-instances-request` Ressource, die von erstellt wurde RunInstances, ist die Ressource, die Spot-Instances anfordert. Die zweite Anweisung soll die RunInstances Aktion für die `spot-instances-request` Ressource verweigern. Diese Bedingung wird jedoch nicht unterstützt, da Amazon EC2 die `spot-instances-request` Ressource in der RunInstances Anweisung nicht auswertet, wenn die Spot-Instance-Anfrage bei create nicht markiert ist.  

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowRun",
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1::image/*",
                "arn:aws:ec2:us-east-1:*:subnet/*",
                "arn:aws:ec2:us-east-1:*:network-interface/*",
                "arn:aws:ec2:us-east-1:*:security-group/*",
                "arn:aws:ec2:us-east-1:*:key-pair/*",
                "arn:aws:ec2:us-east-1:*:volume/*",
                "arn:aws:ec2:us-east-1:*:instance/*"
            ]
        },
        {
            "Sid": "DenySpotInstancesRequestsNOTSUPPORTEDDONOTUSE",
            "Effect": "Deny",
            "Action": "ec2:RunInstances",
            "Resource": "arn:aws:ec2:us-east-1:*:spot-instances-request/*"
        }
    ]
}
```

**Beispiel: Markieren von Spot-Instance-Anforderungen beim Erstellen**

Die folgende Richtlinie ermöglicht es Benutzern, alle Ressourcen zu markieren, die während des Instance-Starts erstellt werden. Die erste Anweisung ermöglicht es RunInstances , die aufgelisteten Ressourcen zu erstellen. Die `spot-instances-request` Ressource, die von erstellt wurde RunInstances, ist die Ressource, die Spot-Instances anfordert. Die zweite Anweisung stellt einen `*`-Platzhalter bereit, mit dem alle Ressourcen markiert werden können, wenn sie beim Start der Instance erstellt werden.

**Anmerkung**  
Wenn Sie eine Spot-Instance-Anfrage bei der Erstellung taggen, bewertet Amazon EC2 die `spot-instances-request` Ressource in der RunInstances Anweisung. Daher müssen Sie die `spot-instances-request` Ressource für die RunInstances Aktion explizit zulassen, andernfalls schlägt der Aufruf fehl.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowRun",
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1::image/*",
                "arn:aws:ec2:us-east-1:*:subnet/*",
                "arn:aws:ec2:us-east-1:*:network-interface/*",
                "arn:aws:ec2:us-east-1:*:security-group/*",
                "arn:aws:ec2:us-east-1:*:key-pair/*",
                "arn:aws:ec2:us-east-1:*:volume/*",
                "arn:aws:ec2:us-east-1:*:instance/*",
                "arn:aws:ec2:us-east-1:*:spot-instances-request/*"
            ]
        },
        {
            "Sid": "TagResources",
            "Effect": "Allow",
            "Action": "ec2:CreateTags",
            "Resource": "*"
        }
    ]
}
```

------

**Beispiel: Markieren beim Erstellen von Spot-Instance-Anforderungen verweigern**

Die folgende Richtlinie verweigert Benutzern die Berechtigung zum Markieren der Ressourcen, die während des Instance-Starts erstellt werden.

Die erste Anweisung ermöglicht es RunInstances , die aufgelisteten Ressourcen zu erstellen. Die `spot-instances-request` Ressource, die von erstellt wurde RunInstances, ist die Ressource, die Spot-Instances anfordert. Die zweite Anweisung stellt einen `*`-Platzhalter bereit, um alle Ressourcen zu verweigern, die markiert werden, wenn sie beim Start der Instance erstellt werden. Wenn `spot-instances-request` oder eine andere Ressource bei create markiert ist, schlägt der RunInstances Aufruf fehl.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowRun",
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1::image/*",
                "arn:aws:ec2:us-east-1:*:subnet/*",
                "arn:aws:ec2:us-east-1:*:network-interface/*",
                "arn:aws:ec2:us-east-1:*:security-group/*",
                "arn:aws:ec2:us-east-1:*:key-pair/*",
                "arn:aws:ec2:us-east-1:*:volume/*",
                "arn:aws:ec2:us-east-1:*:instance/*",
                "arn:aws:ec2:us-east-1:*:spot-instances-request/*"
            ]
        },
        {
            "Sid": "DenyTagResources",
            "Effect": "Deny",
            "Action": "ec2:CreateTags",
            "Resource": "*"
        }
    ]
}
```

------

**Warnung**  
**NICHT UNTERSTÜTZT – Beispiel: Erstellen einer Spot-Instance-Anforderung nur zulassen, wenn ihr ein bestimmtes Tag (Markierung) zugewiesen wird**  
Die folgende Richtlinie wird für die `spot-instances-request`-Ressource nicht unterstützt.  
Die folgende Richtlinie soll nur dann RunInstances die Erlaubnis zum Erstellen einer Spot-Instance-Anfrage gewähren, wenn die Anfrage mit einem bestimmten Tag gekennzeichnet ist.   
Die erste Anweisung ermöglicht es RunInstances , die aufgelisteten Ressourcen zu erstellen.  
Die zweite Anweisung soll Benutzern nur dann die Berechtigung erteilen, eine Spot-Instance-Anforderung zu erstellen, wenn die Anforderung den Tag (Markierung) `environment=production` enthält. Wenn diese Bedingung auf andere Ressourcen angewendet wird, die von erstellt wurden RunInstances, führt die Angabe keiner Tags zu einem `Unauthenticated` Fehler. Wenn jedoch keine Tags für die Spot-Instance-Anfrage angegeben sind, bewertet Amazon EC2 die `spot-instances-request` Ressource in der RunInstances Anweisung nicht, was dazu führt, dass Spot-Instance-Anfragen ohne Tags von erstellt werden. RunInstances  
Beachten Sie, dass die Angabe eines anderen Tags als zu einem `Unauthenticated` Fehler `environment=production` führt, denn wenn ein Benutzer eine Spot-Instance-Anfrage taggt, wertet Amazon EC2 die `spot-instances-request` Ressource in der RunInstances Anweisung aus.  

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowRun",
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1::image/*",
                "arn:aws:ec2:us-east-1:*:subnet/*",
                "arn:aws:ec2:us-east-1:*:network-interface/*",
                "arn:aws:ec2:us-east-1:*:security-group/*",
                "arn:aws:ec2:us-east-1:*:key-pair/*",
                "arn:aws:ec2:us-east-1:*:volume/*",
                "arn:aws:ec2:us-east-1:*:instance/*"
            ]
        },
        {
            "Sid": "RequestSpotInstancesOnlyIfTagIsEnvironmentProductionNOTSUPPORTEDDONOTUSE",
            "Effect": "Allow",
            "Action": "ec2:RunInstances",
            "Resource": "arn:aws:ec2:us-east-1:*:spot-instances-request/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/environment": "production"
                }
            }
        },
        {
            "Sid": "TagResources",
            "Effect": "Allow",
            "Action": "ec2:CreateTags",
            "Resource": "*"
        }

    ]
}
```

**Beispiel: Erstellen einer Spot-Instance-Anforderung verweigern, wenn ihr ein bestimmtes Tag (Markierung) zugewiesen ist**

Die folgende Richtlinie verweigert RunInstances die Erlaubnis, eine Spot-Instance-Anfrage zu erstellen, wenn die Anfrage mit gekennzeichnet ist. `environment=production` 

Die erste Anweisung ermöglicht RunInstances das Erstellen der aufgelisteten Ressourcen.

Die zweite Anweisung verweigert Benutzern die Berechtigung, eine Spot-Instance-Anforderung zu erstellen, wenn die Anforderung den Tag (Markierung) `environment=production` enthält. Die Angabe von `environment=production` als Tag führt zu einem `Unauthenticated`-Fehler. Wenn Sie andere oder keine Tags (Markierungen) angeben, wird eine Spot-Instance-Anforderung erstellt.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowRun",
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1::image/*",
                "arn:aws:ec2:us-east-1:*:subnet/*",
                "arn:aws:ec2:us-east-1:*:network-interface/*",
                "arn:aws:ec2:us-east-1:*:security-group/*",
                "arn:aws:ec2:us-east-1:*:key-pair/*",
                "arn:aws:ec2:us-east-1:*:volume/*",
                "arn:aws:ec2:us-east-1:*:instance/*",
                "arn:aws:ec2:us-east-1:*:spot-instances-request/*"
            ]
        },
        {
            "Sid": "DenySpotInstancesRequests",
            "Effect": "Deny",
            "Action": "ec2:RunInstances",
            "Resource": "arn:aws:ec2:us-east-1:*:spot-instances-request/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/environment": "production"
                }
            }
        },
        {
            "Sid": "TagResources",
            "Effect": "Allow",
            "Action": "ec2:CreateTags",
            "Resource": "*"
        }
    ]
}
```

------

## Beispiel: Arbeiten mit Reserved Instances
<a name="iam-example-reservedinstances"></a>

Mit der folgenden Richtlinie wird Benutzern die Berechtigung zum Ansehen, Ändern und Kaufen von Reserved Instances in Ihrem Konto gewährt.

Für einzelne Reserved Instances können keine Berechtigungen auf Ressourcenebene erteilt werden. Diese Richtlinie bedeutet, dass die Benutzer Zugriff auf alle Reserved Instances im Konto haben.

Der Platzhalter \$1 im Element `Resource` legt fest, dass Benutzer alle Ressourcen für die Aktion angeben können. In diesem Beispiel können sie alle Reserved Instances im Konto auflisten und bearbeiten. Sie haben auch die Möglichkeit, die Kontoanmeldeinformationen zu verwenden, um Reserved Instances zu kaufen. Das Sternchen (\$1) als Platzhalter ist auch dann erforderlich, wenn die API-Aktion keine Berechtigungen auf Ressourcenebene unterstützt.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeReservedInstances", 
        "ec2:ModifyReservedInstances",
        "ec2:PurchaseReservedInstancesOffering", 
        "ec2:DescribeAvailabilityZones",
        "ec2:DescribeReservedInstancesOfferings"
      ],
      "Resource": "*"
    }
   ]
}
```

------

Benutzern wird die Berechtigung zum Ansehen und Ändern der Reserved Instances in Ihrem Konto erteilt, aber nicht zum Kauf von neuen Reserved Instances.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
   "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeReservedInstances", 
        "ec2:ModifyReservedInstances",
        "ec2:DescribeAvailabilityZones"
      ],
      "Resource": "*"
    }
  ]
}
```

------

## Beispiel: Markieren von Ressourcen
<a name="iam-example-taggingresources"></a>

Die folgende Richtlinie erlaubt Benutzern nur die Verwendung der `CreateTags`-Aktion, um einer Instance Tags hinzuzufügen, wenn das Tag den `environment`-Schlüssel und den `production`-Wert enthält. Es sind keine anderen Tags erlaubt und der Benutzer kann keine anderen Ressourcentypen markieren.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
              {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateTags"
            ],
            "Resource": "arn:aws:ec2:us-east-1:111122223333:instance/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/environment": "production"
                }
            }
        }
    ]
}
```

------

Die Richtlinie unten ermöglicht es den Benutzern, jede markierbare Ressource, die bereits ein Tag mit dem `owner`-Schlüssel und einen Benutzernamen als Wert aufweist, mit Tags zu versehen. Zudem müssen die Benutzer ein Tag (Markierung) mit dem `anycompany:environment-type`-Schlüssel und dem Wert `test` oder `prod` in der Anforderung festlegen. Die Benutzer können zusätzliche Tags (Markierungen) in der Anforderung angeben.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
               {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateTags"
            ],
            "Resource": "arn:aws:ec2:us-east-1:111122223333:*/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/anycompany:environment-type": ["test","prod"],
                    "aws:ResourceTag/owner": "${aws:username}"
                } 
            }
        }
    ]
}
```

------

Sie können eine IAM-Richtlinie erstellen, die den Benutzern erlaubt, bestimmte Tags (Markierungen) für eine Ressource zu löschen. Die folgende Richtlinie gestattet es den Benutzern zum Beispiel, Tags für ein Volume zu löschen, sofern die Anforderung die Tag-Schlüssel `environment` oder `cost-center` enthält. Für den Tag (Markierung) kann ein beliebiger Wert angegeben werden, aber der Tag (Markierung)-Schlüssel muss einem der genannten Schlüssel entsprechen.

**Anmerkung**  
Wenn Sie eine Ressource löschen, werden alle der Ressource zugeordneten Tags (Markierungen) ebenfalls gelöscht. Die Benutzer benötigen keine Berechtigungen für die Verwendung der Aktion `ec2:DeleteTags`, um eine Ressource zu löschen, die Tags aufweist. Sie müssen nur über Berechtigungen zum Ausführen der Löschaktion verfügen.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
       {
      "Effect": "Allow",
      "Action": "ec2:DeleteTags",
      "Resource": "arn:aws:ec2:us-east-1:111122223333:volume/*",
      "Condition": {
        "ForAllValues:StringEquals": {
          "aws:TagKeys": ["environment","cost-center"]
        }
      }
    }
  ]
}
```

------

Diese Richtlinie erlaubt den Benutzern, auf beliebigen Ressourcen nur den `environment=prod`-Tag zu löschen. Dies gilt zudem nur, wenn die Ressource bereits den `owner`-Schlüssel-Tag und einen Benutzernamen als Wert aufweist. Benutzer können keine anderen Tags für eine Ressource löschen.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
      {
      "Effect": "Allow",
      "Action": [
        "ec2:DeleteTags"
      ],
      "Resource": "arn:aws:ec2:us-east-1:111122223333:*/*",
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/environment": "prod",
          "aws:ResourceTag/owner": "${aws:username}"
        },
        "ForAllValues:StringEquals": {
          "aws:TagKeys": ["environment"]
        }
      }
    }
  ]
}
```

------

## Beispiel: Arbeiten mit IAM-Rollen
<a name="iam-example-iam-roles"></a>

Die folgende Richtlinie erlaubt Benutzern das Anfügen, Ersetzen und Trennen einer IAM-Rolle für Instances, die über den `department=test`-Tag (Markierung) verfügt. Das Ersetzen oder Trennen einer IAM-Rolle erfordert eine Zuordnungs-ID. Die Richtlinie erteilt den Benutzern daher außerdem die Berechtigung, die `ec2:DescribeIamInstanceProfileAssociations`-Aktion zu verwenden. 

Die Benutzer müssen über die Berechtigung für die `iam:PassRole`-Aktion verfügen, um die Rollen an die Instance zu übergeben. 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:AssociateIamInstanceProfile",
        "ec2:ReplaceIamInstanceProfileAssociation",
        "ec2:DisassociateIamInstanceProfile"
      ],
      "Resource": "arn:aws:ec2:us-east-1:111122223333:instance/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/department":"test"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": "ec2:DescribeIamInstanceProfileAssociations",
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": "iam:PassRole",
      "Resource": "arn:aws:iam::111122223333:role/DevTeam*"
    }
  ]
}
```

------

Die folgende Richtlinie erlaubt Benutzern das Anfügen oder Ersetzen einer IAM-Rolle für eine beliebige Instance. Es können nur IAM-Rollen angefügt oder ersetzt werden, deren Namen mit `TestRole-` beginnen. Stellen Sie bei der `iam:PassRole`-Aktion sicher, dass Sie den Namen der IAM-Rolle und nicht den des Instance-Profils angeben, falls sich diese Namen unterscheiden. Weitere Informationen finden Sie unter [Instance-Profile](iam-roles-for-amazon-ec2.md#ec2-instance-profile).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:AssociateIamInstanceProfile",
                "ec2:ReplaceIamInstanceProfileAssociation"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "ec2:DescribeIamInstanceProfileAssociations",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::111122223333:role/TestRole-*"
        }
    ]
}
```

------

## Beispiel: Arbeiten mit Routing-Tabellen
<a name="iam-example-route-tables"></a>

Die folgende Richtlinie ermöglicht Benutzern das Hinzufügen, Entfernen und Ersetzen von Routings für Routing-Tabellen, die nur mit VPC `vpc-ec43eb89` verbunden sind. Zur Angabe einer VPC für den Bedingungsschlüssel `ec2:Vpc` müssen Sie den vollständigen ARN der VPC angeben.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
              {
            "Effect": "Allow",
            "Action": [
                "ec2:DeleteRoute",
                "ec2:CreateRoute",
                "ec2:ReplaceRoute"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:route-table/*"
            ],
            "Condition": {
                "StringEquals": {
                    "ec2:Vpc": "arn:aws:ec2:us-east-1:111122223333:vpc/vpc-ec43eb89"
                }
            }
        }
    ]
}
```

------

## Beispiel: Erlauben Sie einer bestimmten Instanz, Ressourcen in anderen AWS Diensten anzuzeigen
<a name="iam-example-source-instance"></a>

Nachfolgend finden Sie ein Beispiel für eine Richtlinie, die Sie einer IAM-Rolle anhängen können. Die Richtlinie ermöglicht es einer Instanz, Ressourcen in verschiedenen AWS Diensten anzuzeigen. Sie geben mit dem Bedingungsschlüssel `ec2:SourceInstanceARN` an, dass es sich bei der Instance, von der die Anforderung ausging, um die Instance `i-093452212644b0dd6` handeln muss. Wenn die gleiche IAM-Rolle mit einer anderen Instance verbunden ist, kann die andere Instance keine dieser Aktionen ausführen.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
              {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeVolumes",
                "s3:ListAllMyBuckets",
                "dynamodb:ListTables",
                "rds:DescribeDBInstances"
            ],
            "Resource": [
                "*"
            ],
            "Condition": {
                "ArnEquals": {
                    "ec2:SourceInstanceARN": "arn:aws:ec2:us-east-1:111122223333:instance/i-093452212644b0dd6"
                }
            }
        }
    ]
}
```

------

## Beispiel: Arbeiten mit Startvorlagen
<a name="iam-example-launch-templates"></a>

Die folgende Richtlinie erlaubt Benutzern, eine Startvorlagenversion zu erstellen und eine Startvorlage zu bearbeiten, jedoch nur für eine bestimmte Startvorlage (`lt-09477bcd97b0d3abc`). Benutzer können nicht mit anderen Startvorlagen arbeiten.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
   {
      "Action": [
        "ec2:CreateLaunchTemplateVersion",
        "ec2:ModifyLaunchTemplate"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:ec2:us-east-1:111122223333:launch-template/lt-09477bcd97b0d3abc"
    }
  ]
}
```

------

Die folgende Richtlinie erlaubt Benutzern, eine Startvorlage und Startvorlagenversion zu löschen, vorausgesetzt, dass die Startvorlage den Tag (Markierungen) `Purpose`=`Testing` aufweist.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
       {
      "Action": [
        "ec2:DeleteLaunchTemplate",
        "ec2:DeleteLaunchTemplateVersions"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:ec2:us-east-1:111122223333:launch-template/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/Purpose": "Testing"
        }
      }
    }
  ]
}
```

------

## Arbeiten mit Instance-Metadaten
<a name="iam-example-instance-metadata"></a>

Die folgenden Richtlinien stellen sicher, dass Benutzer [Instanz-Metadaten](ec2-instance-metadata.md) nur mithilfe des Instanz-Metadatendienstes Version 2 (IMDSv2) abrufen können. Sie können die folgenden vier Richtlinien zu einer Richtlinie mit vier Anweisungen zusammenfassen. Wenn diese zu einer Richtlinie zusammengefasst werden, können Sie die Richtlinie als Service-Kontrollrichtlinie (SCP) verwenden. Sie kann gleichermaßen gut als *Verweigerungsrichtlinie* funktionieren, die Sie auf eine bestehende IAM-Richtlinie anwenden (zum Aufheben und Einschränken bestehender Berechtigungen) oder auch als SCP, die global auf ein Konto, eine OE oder eine gesamte Organisation angewendet wird.

**Anmerkung**  
Die folgenden Richtlinien für RunInstances Metadatenoptionen müssen in Verbindung mit einer Richtlinie verwendet werden, die dem Prinzipal Berechtigungen zum Starten einer Instance erteilt RunInstances. Wenn der Prinzipal nicht auch über RunInstances Berechtigungen verfügt, kann er keine Instance starten. Weitere Informationen finden Sie in den Richtlinien unter [Arbeiten mit Instances](#iam-example-instances) und [Instanzen starten (RunInstances)](#iam-example-runinstances).

**Wichtig**  
Wenn Sie Auto Scaling Scaling-Gruppen verwenden und die Verwendung von für alle neuen Instances IMDSv2 vorschreiben müssen, müssen Ihre Auto Scaling Scaling-Gruppen *Startvorlagen* verwenden.  
Wenn eine Auto Scaling-Gruppe eine Startvorlage verwendet, werden die `ec2:RunInstances`-Berechtigungen des IAM-Prinzipals beim Erstellen einer neuen Auto Scaling-Gruppe überprüft. Sie werden auch überprüft, wenn eine vorhandene Auto Scaling-Gruppe so aktualisiert wird, dass eine neue Startvorlage oder eine neue Version einer Startvorlage verwendet wird.  
Einschränkungen bei der Verwendung von IMDSv1 auf IAM-Prinzipalen für `RunInstances` werden nur überprüft, wenn eine Auto Scaling Scaling-Gruppe, die eine Startvorlage verwendet, erstellt oder aktualisiert wird. Für eine Auto Scaling-Gruppe, die für die Verwendung der Startvorlage `Latest` oder `Default` konfiguriert ist, werden die Berechtigungen nicht überprüft, wenn eine neue Version der Startvorlage erstellt wird. Damit Berechtigungen überprüft werden können, müssen Sie die Auto Scaling-Gruppe so konfigurieren, dass eine *bestimmte Version* der Startvorlage verwendet wird.  
Deaktivieren Sie die Verwendung von Startkonfigurationen für alle Konten in Ihrer Organisation, indem Sie entweder Dienststeuerungsrichtlinien (SCPs) oder IAM-Berechtigungsgrenzen für neu erstellte Prinzipale verwenden. Aktualisieren Sie für vorhandene IAM-Prinzipale mit Auto Scaling-Gruppenberechtigungen die zugehörigen Richtlinien mit diesem Bedingungsschlüssel. Um die Verwendung von Startkonfigurationen zu deaktivieren, erstellen oder ändern Sie den entsprechenden SCP, die Berechtigungsgrenze oder die IAM-Richtlinie mit dem Bedingungsschlüssel `"autoscaling:LaunchConfigurationName"` mit dem als `null` angegebenen Wert.
Konfigurieren Sie für neue Startvorlagen die Instance-Metadatenoptionen in der Startvorlage. Erstellen Sie für vorhandene Startvorlagen eine neue Version der Startvorlage und konfigurieren Sie die Instance-Metadatenoptionen in der neuen Version.
In der Richtlinie, die einen jeden Prinzipal zur Verwendung einer Startvorlage berechtigt, beschränken Sie die Zuordnung von `$latest` und `$default` durch Angabe von `"autoscaling:LaunchTemplateVersionSpecified": "true"`. Indem Sie die Verwendung auf eine bestimmte Version einer Startvorlage beschränken, können Sie sicherstellen, dass neue Instances mit der Version gestartet werden, in der die Instance-Metadatenoptionen konfiguriert sind. Weitere Informationen finden Sie [LaunchTemplateSpecification](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_LaunchTemplateSpecification.html)in der *Amazon EC2 Auto Scaling API-Referenz*, insbesondere unter dem `Version` Parameter.
Ersetzen Sie bei einer Auto Scaling-Gruppe, die eine Startkonfiguration verwendet, die Startkonfiguration durch eine Startvorlage. Weitere Informationen finden Sie unter [Migrieren von Auto-Scaling-Gruppen zu Startvorlagen](https://docs.aws.amazon.com/autoscaling/ec2/userguide/migrate-to-launch-templates.html) im *Benutzerhandbuch für Amazon EC2 Auto Scaling*.
Stellen Sie bei einer Auto Scaling-Gruppe, die eine Startvorlage verwendet, sicher, dass sie eine neue Startvorlage mit den konfigurierten Instance-Metadatenoptionen oder eine neue Version der aktuellen Startvorlage mit den konfigurierten Instance-Metadatenoptionen verwendet. Weitere Informationen finden Sie unter [update-auto-scaling-group](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/update-auto-scaling-group.html).

**Topics**
+ [

### Erfordern die Verwendung von IMDSv2
](#iam-example-instance-metadata-requireIMDSv2)
+ [

### Abmeldung verweigern von IMDSv2
](#iam-example-instance-metadata-denyoptoutIMDSv2)
+ [

### Angeben des maximalen Hop-Limits
](#iam-example-instance-metadata-maxHopLimit)
+ [

### Beschränken, wer die Instance-Metadatenoptionen ändern kann
](#iam-example-instance-metadata-limit-modify-IMDS-options)
+ [

### Erfordert das Abrufen von Rollenanmeldedaten IMDSv2
](#iam-example-instance-metadata-require-roles-to-use-IMDSv2-credentials)

### Erfordern die Verwendung von IMDSv2
<a name="iam-example-instance-metadata-requireIMDSv2"></a>

Die folgende Richtlinie legt fest, dass Sie die RunInstances API nur aufrufen können, wenn für die Instanz auch die Verwendung von aktiviert wurde IMDSv2 (angegeben durch`"ec2:MetadataHttpTokens": "required"`). Wenn Sie nicht angeben, dass die Instanz dies erfordert IMDSv2, erhalten Sie beim Aufrufen der RunInstances API eine `UnauthorizedOperation` Fehlermeldung.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
               {
            "Sid": "RequireImdsV2",
            "Effect": "Deny",
            "Action": "ec2:RunInstances",
            "Resource": "arn:aws:ec2:*:*:instance/*",
            "Condition": {
                "StringNotEquals": {
                    "ec2:MetadataHttpTokens": "required"
                }
            }
        }
    ]
}
```

------

### Abmeldung verweigern von IMDSv2
<a name="iam-example-instance-metadata-denyoptoutIMDSv2"></a>

Die folgende Richtlinie legt fest, dass Sie die `ModifyInstanceMetadataOptions` API nicht aufrufen und gleichzeitig die Option IMDSv1 oder zulassen können IMDSv2. Wenn Sie die `ModifyInstanceMetadataOptions`-API aufrufen, muss das `HttpTokens`-Attribut auf `required` gesetzt sein. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Sid": "DenyIMDSv1HttpTokensModification",
        "Effect": "Deny",
        "Action": "ec2:ModifyInstanceMetadataOptions",
        "Resource": "arn:aws:ec2:*:*:instance/*",
        "Condition": {
            "StringNotEquals": {
                "ec2:Attribute/HttpTokens": "required"
            },
            "Null": {
                "ec2:Attribute/HttpTokens": false
            }
        }
    }]
}
```

------

### Angeben des maximalen Hop-Limits
<a name="iam-example-instance-metadata-maxHopLimit"></a>

Die folgende Richtlinie legt fest, dass Sie die RunInstances API nur aufrufen können, wenn Sie auch ein Hop-Limit angeben, und das Hop-Limit darf nicht mehr als 3 betragen. Wenn Sie das nicht tun, erhalten Sie beim Aufrufen der RunInstances API eine `UnauthorizedOperation` Fehlermeldung.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
               {
            "Sid": "MaxImdsHopLimit",
            "Effect": "Deny",
            "Action": "ec2:RunInstances",
            "Resource": "arn:aws:ec2:*:*:instance/*",
            "Condition": {
                "NumericGreaterThan": {
                    "ec2:MetadataHttpPutResponseHopLimit": "3"
                }
            }
        }
    ]
}
```

------

### Beschränken, wer die Instance-Metadatenoptionen ändern kann
<a name="iam-example-instance-metadata-limit-modify-IMDS-options"></a>

Die folgende Richtlinie erlaubt es nur Benutzern mit der `ec2-imds-admins`-Rolle, Änderungen an den Optionen für die Instance-Metadaten vorzunehmen. Wenn ein anderer Principal als die `ec2-imds-admins` Rolle versucht, die ModifyInstanceMetadataOptions API aufzurufen, wird eine `UnauthorizedOperation` Fehlermeldung angezeigt. Diese Anweisung könnte verwendet werden, um die Verwendung der ModifyInstanceMetadataOptions API zu kontrollieren. Derzeit gibt es keine detaillierten Zugriffskontrollen (Bedingungen) für die ModifyInstanceMetadataOptions API.

### Erfordert das Abrufen von Rollenanmeldedaten IMDSv2
<a name="iam-example-instance-metadata-require-roles-to-use-IMDSv2-credentials"></a>

Die folgende Richtlinie legt fest, dass, wenn diese Richtlinie auf eine Rolle angewendet wird und die Rolle vom EC2-Dienst übernommen wird und die resultierenden Anmeldeinformationen zum Signieren einer Anfrage verwendet werden, die Anfrage mit den EC2-Rollenanmeldeinformationen signiert werden muss, von der abgerufen wurde. IMDSv2 Andernfalls erhalten alle API-Aufrufe einen `UnauthorizedOperation`-Fehler. Diese Anweisung/Richtlinie kann generell angewendet werden, da sie keine Wirkung hat, wenn die Anforderung nicht mit Anmeldeinformationen für EC2-Rollen signiert wird.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
               {
            "Sid": "RequireAllEc2RolesToUseV2",
            "Effect": "Deny",
            "Action": "*",
            "Resource": "*",
            "Condition": {
                "NumericLessThan": {
                    "ec2:RoleDelivery": "2.0"
                }
            }
        }
    ]
}
```

------

## Arbeiten Sie mit Amazon-EBS-Volumes und Snapshots
<a name="iam-example-ebs"></a>

Beispielrichtlinien für die Arbeit mit Amazon EBS-Volumes und -Snapshots finden Sie unter [Beispiele für identitätsbasierte Richtlinien für Amazon EBS](https://docs.aws.amazon.com/ebs/latest/userguide/security_iam_id-based-policy-examples.html).

# Beispielrichtlinien zur Steuerung des Zugriffs auf die Amazon-EC2-Konsole
<a name="iam-policies-ec2-console"></a>

Sie können IAM-Richtlinien verwenden, um Benutzern die für die Arbeit mit Amazon EC2 erforderlichen Berechtigungen zu gewähren. step-by-stepAnweisungen finden Sie unter [Erstellen von IAM-Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) im *IAM-Benutzerhandbuch*.

Für die Konsole werden zusätzliche API-Aktionen für bestimmte Features verwendet, was bei diesen Richtlinien zu unerwarteten Ergebnissen führen kann. Wenn ein Benutzer zum Beispiel über die Berechtigung verfügt, nur die `DescribeVolumes`-API-Aktion zu verwenden, schlägt sein Versuch fehl, Volumes in der Konsole anzusehen. In diesem Abschnitt werden Richtlinien vorgestellt, mit denen Benutzer mit bestimmten Teilen der Konsole arbeiten können. Weitere Informationen zum Erstellen von Richtlinien für die Amazon EC2 EC2-Konsole finden Sie im folgenden AWS Sicherheits-Blogbeitrag: [Benutzern die Erlaubnis erteilen, in der Amazon EC2 EC2-Konsole zu arbeiten](https://aws.amazon.com/blogs/security/granting-users-permission-to-work-in-the-amazon-ec2-console/).

Die folgenden Beispiele zeigen Richtlinienanweisungen, die Sie verwenden können, um Benutzern die Berechtigung zur Nutzung von Amazon EC2 zu gewähren. Ersetzen Sie jeden *user input placeholder* durch Ihre Informationen. Diese Richtlinien sind auf Anforderungen ausgelegt, die über die AWS-Managementkonsole erfolgen. Die Amazon-EC2-Konsole ruft möglicherweise mehrere API-Aktionen auf, um eine einzelne Ressource anzuzeigen. Das ist möglicherweise nicht offensichtlich, bis der Benutzer eine Aufgabe versucht und die Konsole einen Fehler anzeigt. Weitere Informationen finden Sie im folgenden AWS Sicherheits-Blogbeitrag: [Benutzern die Erlaubnis erteilen, in der Amazon EC2 EC2-Konsole zu arbeiten](https://aws.amazon.com/blogs/security/granting-users-permission-to-work-in-the-amazon-ec2-console/).

**Topics**
+ [Schreibgeschützter Zugriff](#ex-read-only)
+ [Verwenden des EC2 Launch Instance Wizard](#ex-launch-wizard)
+ [Arbeiten mit Sicherheitsgruppen](#ex-security-groups)
+ [Arbeiten mit Elastic-IP-Adressen](#ex-eip)
+ [Arbeiten mit Reserved Instances](#ex-reservedinstances)

Verwenden Sie einen Service wie AWS CloudTrail, um einfacher herauszufinden, welche API-Aktionen zum Ausführen von Aufgaben in der Konsole erforderlich sind. Wenn Ihre Richtlinie keine Berechtigung zum Erstellen oder Ändern einer bestimmten Ressource erteilt, zeigt die Konsole eine codierte Meldung mit Diagnoseinformationen an. Sie können die Nachricht mit der [DecodeAuthorizationMessage](https://docs.aws.amazon.com/STS/latest/APIReference/API_DecodeAuthorizationMessage.html)API-Aktion für AWS STS oder mit dem [decode-authorization-message](https://docs.aws.amazon.com/cli/latest/reference/sts/decode-authorization-message.html)Befehl in der dekodieren. AWS CLI

## Beispiel: schreibgeschützter Zugriff
<a name="ex-read-only"></a>

Damit Benutzer die Berechtigung haben, alle Ressourcen in der Amazon EC2-Konsole anzusehen, können Sie die gleiche Richtlinie wie im folgenden Beispiel verwenden: [Beispiel: schreibgeschützter Zugriff](ExamplePolicies_EC2.md#iam-example-read-only). Die Benutzer können keine Aktionen für diese Ressourcen ausführen und keine neuen Ressourcen erstellen, sofern ihnen keine andere Anweisung die Berechtigung dazu gewährt.

**Instanzen und AMIs Schnappschüsse anzeigen**

Alternativ haben Sie die Möglichkeit, schreibgeschützten Zugriff auf eine Untermenge von Ressourcen bereitzustellen. Ersetzen Sie hierfür den \$1-Platzhalter in der `ec2:Describe`-API-Aktion mit konkreten `ec2:Describe`-Aktionen für jede Ressource. Die folgende Richtlinie erlaubt Benutzern, alle Instances, AMIs und Snapshots in der Amazon EC2-Konsole anzusehen. Die `ec2:DescribeTags` Aktion ermöglicht es Benutzern, öffentliche AMIs Inhalte zu sehen. Die Konsole benötigt die Tagging-Informationen AMIs, um öffentlich angezeigt zu werden. Sie können diese Aktion jedoch entfernen, damit Benutzer nur private AMIs Inhalte anzeigen können.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [{
      "Effect": "Allow",
      "Action": [
         "ec2:DescribeInstances", 
         "ec2:DescribeImages",
         "ec2:DescribeTags", 
         "ec2:DescribeSnapshots"
      ],
      "Resource": "*"
   }
   ]
}
```

------

**Anmerkung**  
Die Amazon EC2-`ec2:Describe*`-API-Aktionen unterstützen keine Berechtigungen auf Ressourcenebene. Es ist daher nicht möglich, zu steuern, welche einzelnen Ressourcen die Benutzer in der Konsole ansehen können. Aus diesem Grund ist in der obigen Anweisung der \$1-Platzhalter im `Resource`-Element erforderlich. Weitere Informationen dazu, welche ARNs Sie mit welchen Amazon EC2-API-Aktionen verwenden können, finden Sie unter [Aktionen, Ressourcen und Bedingungsschlüssel für Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html).

**Instanzen und Metriken CloudWatch anzeigen**

Die folgende Richtlinie ermöglicht es Benutzern, Instances in der Amazon EC2 EC2-Konsole sowie CloudWatch Alarme und Metriken auf der Registerkarte **Überwachung** der Seite **Instances** anzuzeigen. Die Amazon EC2 EC2-Konsole verwendet die CloudWatch API, um die Alarme und Metriken anzuzeigen. Daher müssen Sie Benutzern die Erlaubnis erteilen`cloudwatch:DescribeAlarms`, die,, `cloudwatch:DescribeAlarmsForMetric` `cloudwatch:ListMetrics``cloudwatch:GetMetricStatistics`, und `cloudwatch:GetMetricData` Aktionen zu verwenden.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [{
      "Effect": "Allow",
      "Action": [
         "ec2:DescribeInstances",
         "ec2:DescribeInstanceTypes",
         "cloudwatch:DescribeAlarms",
         "cloudwatch:DescribeAlarmsForMetric",
         "cloudwatch:ListMetrics",
         "cloudwatch:GetMetricStatistics",
         "cloudwatch:GetMetricData"
      ],
      "Resource": "*"
   }
   ]
}
```

------

## Beispiel: Verwenden des EC2 Launch Instance Wizard
<a name="ex-launch-wizard"></a>

Der Launch Instance Wizard von Amazon EC2 ist eine Ansicht mit Optionen zum Konfigurieren und Starten einer Instance. Ihre Richtlinie muss die Berechtigung für die API-Aktionen enthalten, die den Benutzern ermöglichen, mit den Optionen des Assistenten zu arbeiten. Fehlt eine solche Berechtigung in der Richtlinie, werden einige Elemente im Assistenten nicht ordnungsgemäß geladen und die Benutzer können den Start nicht abschließen.

**Grundlegender Zugriff auf den Launch Instance Wizard**

Für einen erfolgreich abgeschlossenen Start müssen Sie den Benutzern die Berechtigung erteilen, die `ec2:RunInstances`-API-Aktion und mindestens die folgenden API-Aktionen zu verwenden:
+ `ec2:DescribeImages`: Zum Ansehen und Auswählen eines AMI.
+ `ec2:DescribeInstanceTypes`: Zum Anzeigen und Auswählen eines Instance-Typs.
+ `ec2:DescribeVpcs`: Zum Anzeigen der verfügbaren Versionen von Ruby.
+ `ec2:DescribeSubnets`: Zum Ansehen aller verfügbaren Subnetze für die ausgewählte VPC. 
+ `ec2:DescribeSecurityGroups` oder `ec2:CreateSecurityGroup`: Zum Anzeigen und Auswählen einer vorhandenen Sicherheitsgruppe oder zum Erstellen einer neuen Sicherheitsgruppe. 
+ `ec2:DescribeKeyPairs` oder `ec2:CreateKeyPair`: Um ein vorhandenes Schlüsselpaar auszuwählen oder ein neues Schlüsselpaar zu erstellen.
+ `ec2:AuthorizeSecurityGroupIngress`: Zum Hinzufügen von Regeln für eingehenden Datenverkehr.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeInstances",
                "ec2:DescribeImages",
                "ec2:DescribeInstanceTypes",
                "ec2:DescribeKeyPairs",
                "ec2:DescribeVpcs",
                "ec2:DescribeSubnets",
                "ec2:DescribeSecurityGroups",
                "ec2:CreateSecurityGroup",
                "ec2:AuthorizeSecurityGroupIngress",
                "ec2:CreateKeyPair"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "ec2:RunInstances",
            "Resource": "*"
        }
    ]
}
```

------

Sie können den Benutzern mehr Optionen zur Verfügung stellen, indem Sie der Richtlinie weitere API-Aktionen hinzufügen, zum Beispiel:
+ `ec2:DescribeAvailabilityZones`: Zum Anzeigen und Auswählen einer spezifischen Availability Zone.
+ `ec2:DescribeNetworkInterfaces`:Zum Ansehen und Auswählen von vorhandenen Netzwerkschnittstellen für das ausgewählte Subnetz.
+ Zum Hinzufügen von Regeln für ausgehenden Datenverkehr zu VPC-Sicherheitsgruppen müssen die Benutzer für die `ec2:AuthorizeSecurityGroupEgress`-API-Aktion berechtigt sein. Zum Ändern oder Löschen von vorhandenen Regeln muss den Benutzern die Berechtigung erteilt werden, die relevante `ec2:RevokeSecurityGroup*`-API-Aktion zu verwenden.
+ `ec2:CreateTags`: Zum Markieren der Ressourcen, die von `RunInstances` erstellt werden. Weitere Informationen finden Sie unter [Berechtigung zum Markieren von Amazon-EC2-Ressourcen während der Erstellung erteilen](supported-iam-actions-tagging.md). Wenn die Benutzer keine Berechtigung zur Verwendung dieser Aktion haben und auf der Markierungsseite des Launch Instance Wizard versuchen, Tags anzuwenden, schlägt der Start fehl.
**Wichtig**  
Das Angeben eines **Namens** beim Starten einer Instance erstellt ein Tag und erfordert die Aktion `ec2:CreateTags`. Seien Sie vorsichtig, wenn Sie Benutzern die Erlaubnis zur Verwendung der Aktion `ec2:CreateTags` erteilen, da dies Ihre Möglichkeit einschränkt, den `aws:ResourceTag`-Bedingungsschlüssel zu nutzen, um die Verwendung anderer Ressourcen einzuschränken. Wenn Sie Benutzern die Berechtigung zur Verwendung der Aktion `ec2:CreateTags` erteilen, können sie den Tag (Markierung) einer Ressource ändern, um diese Einschränkungen zu umgehen. Weitere Informationen finden Sie unter [Den Zugriff mithilfe des attributbasierten Zugriffs steuern](iam-policies-for-amazon-ec2.md#control-access-with-tags).
+ Um Systems-Manager-Parameter bei der Auswahl eines AMIs zu verwenden, müssen Sie `ssm:DescribeParameters` und `ssm:GetParameters` zu Ihrer Richtlinie hinzufügen. `ssm:DescribeParameters` gewährt Ihren Benutzern die Berechtigung, Systems-Manager-Parameter anzuzeigen und auszuwählen. `ssm:GetParameters` gewährt Ihren Benutzern die Berechtigung, die Werte der Systems-Manager-Parameter abzurufen. Sie können auch den Zugriff auf bestimmte Systems Manager-Parameter beschränken. Weitere Informationen finden Sie unter **Zugriff auf bestimmte Systems Manager-Parameter** weiter unten in diesem Abschnitt.

Die `Describe*`-API-Aktionen von Amazon EC2 unterstützen derzeit keine Berechtigungen auf Ressourcenebene. Es ist daher nicht möglich, einzuschränken, welche einzelnen Ressourcen die Benutzer im Launch Instance Wizard ansehen können. Sie können allerdings Berechtigungen auf Ressourcenebene auf die `ec2:RunInstances`-API-Aktion anwenden, um die Ressourcen zu begrenzen, die die Benutzer beim Starten einer Instance nutzen dürfen. Der Start schlägt fehl, wenn die Benutzer Optionen auswählen, für deren Verwendung sie nicht autorisiert sind. 

**Zugriff auf einen bestimmten Instance-Typ, ein Subnetz und eine Region einschränken**

Die folgende Richtlinie ermöglicht es Benutzern, `t2.micro` Instances zu starten, die AMIs Eigentum von Amazon sind, und zwar nur in einem bestimmten Subnetz (`subnet-1a2b3c4d`). Benutzer können Starts nur in der angegebenen Region durchführen. Wenn Benutzer im Launch Instance Wizard eine andere Region, einen anderen Instance-Typ, ein anderes AMI oder ein anderes Subnetz auswählen, schlägt der Start fehl. 

In der ersten Anweisung wird den Benutzern die Berechtigung erteilt, die Optionen im Launch Instance Wizard anzuzeigen oder neue zu erstellen, wie im Beispiel oben gezeigt. Dank der zweiten Anweisung haben die Benutzer die Berechtigung, die zum Starten einer Instance in einer VPC erforderlichen Ressourcen – Netzwerkschnittstelle, Volume, Schlüsselpaar, Sicherheitsgruppe und Subnetz – für die `ec2:RunInstances`-Aktion zu verwenden. Weitere Informationen zur Verwendung der `ec2:RunInstances`-Aktion finden Sie unter [Instanzen starten (RunInstances)](ExamplePolicies_EC2.md#iam-example-runinstances). Mit der dritten und vierten Anweisung wird den Benutzern die Berechtigung gewährt, die Instance- bzw. AMI-Ressourcen zu nutzen. Dabei muss allerdings die Instance eine `t2.micro`-Instance und Amazon oder bestimmte vertrauenswürdige und verifizierte Partner der Eigentümer des AMI sein.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [{
      "Effect": "Allow",
      "Action": [
         "ec2:DescribeInstances",
         "ec2:DescribeImages",
         "ec2:DescribeInstanceTypes",
         "ec2:DescribeKeyPairs", 
         "ec2:CreateKeyPair", 
         "ec2:DescribeVpcs", 
         "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", 
         "ec2:CreateSecurityGroup", 
         "ec2:AuthorizeSecurityGroupIngress"
	  ],
	  "Resource": "*"
   },
   {
      "Effect": "Allow",
      "Action":"ec2:RunInstances",
      "Resource": [
         "arn:aws:ec2:us-east-2:111122223333:network-interface/*",
         "arn:aws:ec2:us-east-2:111122223333:volume/*",
         "arn:aws:ec2:us-east-2:111122223333:key-pair/*",
         "arn:aws:ec2:us-east-2:111122223333:security-group/*",
         "arn:aws:ec2:us-east-2:111122223333:subnet/subnet-1a2b3c4d"
      ]
   },
   {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [
         "arn:aws:ec2:us-east-2:111122223333:instance/*"
      ],
      "Condition": {
         "StringEquals": {
            "ec2:InstanceType": "t2.micro"
         }
      }
   },
   {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [ 
            "arn:aws:ec2:us-east-2::image/ami-*"
      ],
      "Condition": {
         "StringEquals": {
            "ec2:Owner": "amazon"
         }
      }
   }
   ]
}
```

------

**Zugriff auf bestimmte Systems Manager-Parameter einschränken**

Die folgende Richtlinie gewährt Zugriff auf die Verwendung von Systems Manager-Parametern mit einem bestimmten Namen.

Die erste Anweisung gewährt Benutzern die Erlaubnis, Systems Manager-Parameter anzuzeigen, wenn sie im Launch Instance Wizard ein AMI auswählen. Die zweite Anweisung gibt Benutzern die Berechtigung, nur Parameter zu verwenden, die mit `prod-*` bezeichnet sind.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [{
      "Effect": "Allow",
      "Action": [
         "ssm:DescribeParameters"
      ],
      "Resource": "*"
   },
   {
      "Effect": "Allow",
      "Action": [
         "ssm:GetParameters"
      ],
     "Resource": "arn:aws:ssm:us-east-2:123456123456:parameter/prod-*"
   }
   ]
}
```

------

## Beispiel: Arbeiten mit Sicherheitsgruppen
<a name="ex-security-groups"></a>

**Anzeigen von Sicherheitsgruppen sowie Hinzufügen und Entfernen von Regeln**

Die folgende Richtlinie erteilt Benutzern die Berechtigung, Sicherheitsgruppen in der Amazon EC2-Konsole anzuzeigen, Regeln für ein- und ausgehenden Datenverkehr hinzuzufügen und zu entfernen und Regelbeschreibungen für vorhandene Sicherheitsgruppen, die über das `Department=Test`-Tag verfügen, aufzuführen und zu ändern.

In der ersten Anweisung erlaubt die `ec2:DescribeTags`-Aktion den Benutzern, Tags in der Konsole anzusehen. Damit wird es für die Benutzer einfacher, die Sicherheitsgruppen zu bestimmen, die sie bearbeiten dürfen.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [{
      "Effect": "Allow",
      "Action": [
         "ec2:DescribeSecurityGroups", 
         "ec2:DescribeSecurityGroupRules", 
         "ec2:DescribeTags"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
         "ec2:AuthorizeSecurityGroupIngress", 
         "ec2:RevokeSecurityGroupIngress", 
         "ec2:AuthorizeSecurityGroupEgress", 
         "ec2:RevokeSecurityGroupEgress", 
         "ec2:ModifySecurityGroupRules", 
         "ec2:UpdateSecurityGroupRuleDescriptionsIngress", 
         "ec2:UpdateSecurityGroupRuleDescriptionsEgress"
      ],
      "Resource": [
         "arn:aws:ec2:us-east-2:111122223333:security-group/*"
      ],
      "Condition": {
         "StringEquals": {
            "aws:ResourceTag/Department": "Test"
         }
      }
   },
   {
      "Effect": "Allow",
      "Action": [
         "ec2:ModifySecurityGroupRules"
      ],
      "Resource": [
         "arn:aws:ec2:us-east-2:111122223333:security-group-rule/*"
      ]
   }
]}
```

------

**Arbeiten mit dem Dialogfeld Create Security Group (Sicherheitsgruppe erstellen)**

Sie können eine Richtlinie erstellen, die es den Benutzern ermöglicht, mit dem Dialogfeld **Create Security Group** in der Amazon EC2-Konsole zu arbeiten. Damit die Benutzer dieses Dialogfeld verwenden können, müssen sie mindestens über Berechtigungen für die folgenden API-Aktionen verfügen:
+ `ec2:CreateSecurityGroup`: Zum Erstellen einer neuen Sicherheitsgruppe. 
+ `ec2:DescribeVpcs`: Um eine Liste der VPCs in der **VPC-Liste** vorhandenen Objekte anzuzeigen.

Mit diesen Berechtigungen können die Benutzer eine neue Sicherheitsgruppe erstellen, dieser aber keine Regeln hinzufügen. Für die Arbeit mit Regeln im Dialogfeld **Create Security Group** fügen Sie der Richtlinie die folgenden API-Aktionen hinzu:
+ `ec2:AuthorizeSecurityGroupIngress`: Zum Hinzufügen von Regeln für eingehenden Datenverkehr.
+ `ec2:AuthorizeSecurityGroupEgress`: Zum Hinzufügen von Regeln für ausgehenden Datenverkehr zu VPC-Sicherheitsgruppen.
+ `ec2:RevokeSecurityGroupIngress`: Zum Ändern oder Löschen vorhandener eingehender Regeln. Diese Aktion ist hilfreich, damit die Benutzer in der Konsole das Feature **Copy to new** verwenden können. Mit diesem Feature wird das Dialogfeld **Create Security Group** geöffnet und mit den gleichen Regeln vorausgefüllt, die in der ausgewählten vorhandenen Sicherheitsgruppe enthalten sind. 
+ `ec2:RevokeSecurityGroupEgress`: Zum Ändern oder Löschen von Regeln für ausgehenden Datenverkehr für VPC-Sicherheitsgruppen. Dies ist nützlich, um Benutzern zu ermöglichen, die ausgehende Standardregel zu ändern oder zu löschen, die jeden ausgehenden Datenverkehr erlaubt.
+ `ec2:DeleteSecurityGroup`: Für den Fall, dass ungültige Regeln nicht gespeichert werden können. Die Konsole erstellt zuerst die Sicherheitsgruppe und fügt dann die angegebenen Regeln hinzu. Wenn die Regeln ungültig sind, schlägt die Aktion fehl und die Konsole versucht, die Sicherheitsgruppe zu löschen. Das Dialogfeld **Create Security Group** bleibt geöffnet, sodass die Benutzer die unwirksame Regel korrigieren und erneut versuchen können, die Sicherheitsgruppe zu erstellen. Die API-Aktion ist nicht erforderlich. Wenn aber ein Benutzer nicht über die Berechtigung zu ihrer Verwendung verfügt und versucht, eine Sicherheitsgruppe mit ungültigen Regeln zu erstellen, wird die Sicherheitsgruppe ohne jede Regel erstellt. Der Benutzer muss die Regeln danach hinzufügen.
+ `ec2:UpdateSecurityGroupRuleDescriptionsIngress`: Zum Hinzufügen oder Aktualisieren von Beschreibungen von Sicherheitsgruppenregeln für eingehenden Datenverkehr.
+ `ec2:UpdateSecurityGroupRuleDescriptionsEgress`: Zum Hinzufügen oder Aktualisieren von Beschreibungen von Sicherheitsgruppenregeln für ausgehenden Datenverkehr.
+ `ec2:ModifySecurityGroupRules`: Zum Modifizieren von Sicherheitsgruppenregeln.
+ `ec2:DescribeSecurityGroupRules`: Zum Auflisten von Sicherheitsgruppenregeln.

Die folgende Richtlinie erteilt Benutzern die Berechtigung, das Dialogfeld **Create Security Group** zu verwenden und für Sicherheitsgruppen, die mit einer bestimmten VPC (`vpc-1a2b3c4d`) verknüpft sind, Regeln für ein- und ausgehenden Datenverkehr zu erstellen. Benutzer können Sicherheitsgruppen für eine VPC erstellen, ihnen jedoch keine Regeln hinzufügen. Ebenso können die Benutzer vorhandenen Sicherheitsgruppen, die nicht mit der VPC verknüpft sind, keine Regeln hinzufüge `vpc-1a2b3c4d`. Den Benutzern wird außerdem die Berechtigung erteilt, alle Sicherheitsgruppen in der Konsole anzusehen. Damit wird es für die Benutzer einfacher, die Sicherheitsgruppen zu bestimmen, denen sie Regeln für eingehenden Datenverkehr hinzufügen können. Die Richtlinie gewährt den Benutzern zudem die Berechtigung zum Löschen von Sicherheitsgruppen, die mit der VPC `vpc-1a2b3c4d` verknüpft sind. 

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [{
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeSecurityGroups", 
        "ec2:CreateSecurityGroup", 
        "ec2:DescribeVpcs"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "ec2:DeleteSecurityGroup", 
        "ec2:AuthorizeSecurityGroupIngress", 
        "ec2:AuthorizeSecurityGroupEgress"
      ],
      "Resource": "arn:aws:ec2:us-east-2:111122223333:security-group/*",
      "Condition":{
         "ArnEquals": {
            "ec2:Vpc": "arn:aws:ec2:us-east-2:111122223333:vpc/vpc-1a2b3c4d"
         }
      }
    }
   ]
}
```

------

## Beispiel: Arbeiten mit Elastic-IP-Adressen
<a name="ex-eip"></a>

Damit Benutzer Elastic IP-Adressen in der Amazon EC2-Konsole ansehen können, müssen Sie ihnen die Berechtigung zum Verwenden der `ec2:DescribeAddresses`-Aktion gewähren.

Sie können Benutzern die Arbeit mit Elastic IP-Adressen ermöglichen, indem Sie der Richtlinie folgende Aktionen hinzufügen.
+ `ec2:AllocateAddress`: Zum Zuweisen einer Elastic IP-Adresse.
+ `ec2:ReleaseAddress`: Zum Freigeben einer Elastic IP-Adresse.
+ `ec2:AssociateAddress`: Zum Zuordnen einer Elastic IP-Adresse zu einer Instance oder Netzwerkschnittstelle.
+ `ec2:DescribeNetworkInterfaces` und `ec2:DescribeInstances`: Zum Arbeiten mit der Seite **Associate address**. Auf der Seite werden die verfügbaren Instances oder Netzwerkschnittstellen angezeigt, denen Sie eine Elastic IP-Adresse zuordnen können.
+ `ec2:DisassociateAddress`: Zum Aufheben der Zuordnung einer Elastic IP-Adresse zu einer Instance oder Netzwerkschnittstelle.

Die Richtlinie unten erlaubt den Benutzern, Elastic IP-Adressen anzusehen, zuzuordnen und mit Instances zu verknüpfen. Die Benutzer können die Elastic IP-Adressen nicht freigeben, nicht mit Netzwerkschnittstellen verknüpfen und keine Verknüpfungen aufheben.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeAddresses",
                "ec2:AllocateAddress",
                "ec2:DescribeInstances",
                "ec2:AssociateAddress"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## Beispiel: Arbeiten mit Reserved Instances
<a name="ex-reservedinstances"></a>

Mit der folgenden Richtlinie können Benutzer Reserved Instances in Ihrem Konto anzeigen und ändern sowie neue Reserved Instances in der AWS-Managementkonsole erwerben.

Diese Richtlinie ermöglicht es Benutzern, alle Reserved Instances sowie On-Demand-Instances im Konto anzuzeigen. Für einzelne Reserved Instances können keine Berechtigungen auf Ressourcenebene erteilt werden.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [{
      "Effect": "Allow",
      "Action": [
         "ec2:DescribeReservedInstances", 
         "ec2:ModifyReservedInstances",
         "ec2:PurchaseReservedInstancesOffering", 
         "ec2:DescribeInstances",
         "ec2:DescribeInstanceTypes",
         "ec2:DescribeAvailabilityZones", 
         "ec2:DescribeReservedInstancesOfferings"
      ],
      "Resource": "*"
   }
   ]
}
```

------

Die `ec2:DescribeAvailabilityZones`-Aktion ist erforderlich, um sicherzustellen, dass die Amazon EC2-Konsole Informationen zu den Availability Zones anzeigen kann, in denen Sie Reserved Instances kaufen können. Die `ec2:DescribeInstances`-Aktion ist nicht erforderlich, sorgt aber dafür, dass der Benutzer die Instance im Konto sehen kann und Reservierungen kauft, die den richtigen Anforderungen entsprechen.

Wenn Sie den Benutzerzugriff begrenzen möchten, passen Sie die API-Aktionen an. Zum Beispiel hat der Benutzer nach dem Entfernen von `ec2:DescribeInstances` und `ec2:DescribeAvailabilityZones` schreibgeschützten Zugriff.

# AWS verwaltete Richtlinien für Amazon EC2
<a name="security-iam-awsmanpol"></a>

Um Benutzern, Gruppen und Rollen Berechtigungen hinzuzufügen, ist es einfacher, AWS verwaltete Richtlinien zu verwenden, als Richtlinien selbst zu schreiben. Es erfordert Zeit und Fachwissen, um [von Kunden verwaltete IAM-Richtlinien zu erstellen](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html), die Ihrem Team nur die benötigten Berechtigungen bieten. Um schnell loszulegen, können Sie unsere AWS verwalteten Richtlinien verwenden. Diese Richtlinien decken allgemeine Anwendungsfälle ab und sind in Ihrem AWS Konto verfügbar. Weitere Informationen zu AWS verwalteten Richtlinien finden Sie unter [AWS Verwaltete Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) im *IAM-Benutzerhandbuch*.

AWS Dienste verwalten und aktualisieren AWS verwaltete Richtlinien. Sie können die Berechtigungen in AWS verwalteten Richtlinien nicht ändern. Services fügen einer von AWS verwalteten Richtlinien gelegentlich zusätzliche Berechtigungen hinzu, um neue Features zu unterstützen. Diese Art von Update betrifft alle Identitäten (Benutzer, Gruppen und Rollen), an welche die Richtlinie angehängt ist. Services aktualisieren eine von AWS verwaltete Richtlinie am ehesten, ein neues Feature gestartet wird oder neue Vorgänge verfügbar werden. Dienste entfernen keine Berechtigungen aus einer AWS verwalteten Richtlinie, sodass durch Richtlinienaktualisierungen Ihre bestehenden Berechtigungen nicht beeinträchtigt werden.

 AWS Unterstützt außerdem verwaltete Richtlinien für Jobfunktionen, die sich über mehrere Dienste erstrecken. Die **ReadOnlyAccess** AWS verwaltete Richtlinie bietet beispielsweise schreibgeschützten Zugriff auf alle AWS Dienste und Ressourcen. Wenn ein Dienst eine neue Funktion startet, werden nur Leseberechtigungen für neue Operationen und Ressourcen AWS hinzugefügt. Eine Liste und Beschreibungen der Richtlinien für Auftragsfunktionen finden Sie in [Verwaltete AWS -Richtlinien für Auftragsfunktionen](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) im *IAM-Leitfaden*.

## AWS verwaltete Richtlinie: AmazonEC2FullAccess
<a name="security-iam-awsmanpol-AmazonEC2FullAccess"></a>

Sie können die `AmazonEC2FullAccess`-Richtlinie an Ihre IAM-Identitäten anfügen. Diese Richtlinie gewährt Berechtigungen, die vollen Zugriff auf Amazon EC2 ermöglichen.

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

## AWS verwaltete Richtlinie: AmazonEC2ReadOnlyAccess
<a name="security-iam-awsmanpol-AmazonEC2ReadOnlyAccess"></a>

Sie können die `AmazonEC2ReadOnlyAccess`-Richtlinie an Ihre IAM-Identitäten anfügen. Diese Richtlinie gewährt Berechtigungen, die einen schreibgeschützten Zugriff auf Amazon EC2 erlauben.

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

## AWS verwaltete Richtlinie: AmazonEC2ImageReferencesAccessPolicy
<a name="security-iam-awsmanpol-AmazonEC2ImageReferencesAccessPolicy"></a>

Sie können die `AmazonEC2ImageReferencesAccessPolicy`-Richtlinie an Ihre IAM-Identitäten anfügen. Diese Richtlinie gewährt die für die Verwendung der DescribeImageReferences EC2-API erforderlichen Berechtigungen, einschließlich der Berechtigung zum Anzeigen von EC2-Instances, Startvorlagen, Systems Manager Manager-Parametern und Image Builder Builder-Rezepten. Die Richtlinie unterstützt die `IncludeAllResourceTypes` Flagge und wird auch weiterhin funktionieren, wenn Unterstützung für neue Ressourcentypen AWS hinzugefügt wird, sodass future Richtlinienaktualisierungen nicht mehr erforderlich sind.

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

## AWS verwaltete Richtlinie: AWSEC2CapacityReservationFleetRolePolicy
<a name="security-iam-awsmanpol-AWSEC2CapacityReservationFleetRolePolicy"></a>

Diese Richtlinie ist an die serviceverknüpfte Rolle namens **AWSServiceRoleForEC2CapacityReservationFleet** angehängt, damit der Service in Ihrem Namen Kapazitätsreservierungen in einer Kapazitätsreservierungsflotte erstellen, ändern und stornieren kann. Weitere Informationen finden Sie unter [Verwenden von serviceverknüpften Rollen für KapazitätsreservierungsflottenVerwenden von serviceverknüpften Rollen für EC2 Capacity Manager](using-service-linked-roles.md).

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

## AWS verwaltete Richtlinie: AWSEC2FleetServiceRolePolicy
<a name="security-iam-awsmanpol-AWSEC2FleetServiceRolePolicy"></a>

Diese Richtlinie ist an die servicegebundene Rolle namens **AWSServiceRoleForEC2Fleet** angefügt, damit die EC2-Flotte in Ihrem Namen Instances anfordern, starten, beenden und markieren kann. Weitere Informationen finden Sie unter [Serviceverknüpfte Rolle für EC2-Flotte](ec2-fleet-prerequisites.md#ec2-fleet-service-linked-role).

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

## AWS verwaltete Richtlinie: AWSEC2SpotFleetServiceRolePolicy
<a name="security-iam-awsmanpol-AWSEC2SpotFleetServiceRolePolicy"></a>

Diese Richtlinie ist an die servicegebundene Rolle namens **AWSServiceRoleForEC2SpotFleet** angefügt, damit die Spot-Flotte in Ihrem Namen Instances starten und verwalten kann. Weitere Informationen finden Sie unter [Serviceverknüpfte Rolle für Spot-Flotte](spot-fleet-prerequisites.md#service-linked-roles-spot-fleet-requests).

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

## AWS verwaltete Richtlinie: AWSEC2SpotServiceRolePolicy
<a name="security-iam-awsmanpol-AWSEC2SpotServiceRolePolicy"></a>

Diese Richtlinie ist an die servicegebundene Rolle namens **AWSServiceRoleForEC2Spot** angefügt, damit Amazon EC2 in Ihrem Namen Spot-Instances starten und verwalten kann. Weitere Informationen finden Sie unter [Serviceverknüpfte Rolle für Spot-Instance-Anforderungen](service-linked-roles-spot-instance-requests.md).

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

## AWS verwaltete Richtlinie: AWSEC2VssSnapshotPolicy
<a name="security-iam-awsmanpol-AWSEC2VssSnapshotPolicy"></a>

Sie können diese verwaltete Richtlinie an die IAM-Instance-Profilrolle anhängen, die Sie für Ihre Amazon EC2-Windows-Instances verwenden. Die Richtlinie gewährt Amazon EC2 die Berechtigung, VSS-Snapshots in Ihrem Namen zu erstellen und zu verwalten.

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

## AWS verwaltete Richtlinie: DeclarativePoliciesEC2Report
<a name="security-iam-awsmanpol-DeclarativePoliciesEC2Report"></a>

Diese Richtlinie ist der dienstbezogenen Rolle zugeordnet, die so benannt ist`AWSServiceRoleForDeclarativePoliciesEC2Report`, dass sie nur Lesezugriff gewährt, die für die Erstellung des Kontostatusberichts für deklarative Richtlinien APIs erforderlich ist.

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

## AWS verwaltete Richtlinie: EC2FastLaunchFullAccess
<a name="security-iam-awsmanpol-EC2FastLaunchFullAccess"></a>

Sie können die `EC2FastLaunchFullAccess`-Richtlinie Ihrem Instance-Profil oder einer anderen IAM-Rolle anfügen. Diese Richtlinie gewährt vollen Zugriff auf EC2-Schnellstart-Aktionen sowie gezielte Berechtigungen wie folgt.

**Details zu Berechtigungen**
+ **EC2-Schnellstart** – Administratorzugriff wird gewährt, sodass die Rolle EC2-Schnellstart aktivieren oder deaktivieren und EC2-Schnellstart-Images beschreiben kann.
+ **Amazon EC2** — Zugriff wird für die Vorgänge Amazon EC2 RunInstancesCreateTags, Describe und Create and Modify Launch Template gewährt. Außerdem wird Zugriff gewährt, um Netzwerk- und Sicherheitsgruppenressourcen zu erstellen, Eingangsregeln zu autorisieren und Ressourcen zu löschen, die von EC2 Fast Launch erstellt wurden.
+ **IAM** – Der Zugriff wird gewährt, um Instance-Profile abzurufen und zu verwenden, deren Name `ec2fastlaunch` enthält, zur Erstellung der EC2FastLaunchServiceRolePolicy-serviceverknüpften Rolle.
+ **CloudFormation**— EC2 Fast Launch erhält Zugriff zur Beschreibung und Erstellung von Stacks sowie zum Löschen von CloudFormation Stacks, die von EC2 Fast Launch erstellt wurden.

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

## AWS verwaltete Richtlinie: AWSEC2CapacityManagerServiceRolePolicy
<a name="security-iam-awsmanpol-AWSEC2CapacityManagerServiceRolePolicy"></a>

Diese Richtlinie ist der benannten dienstbezogenen Rolle zugeordnet **AWSServiceRoleForEC2CapacityManager**, sodass EC2 Capacity Manager in Ihrem Namen Kapazitätsressourcen verwalten und in AWS Organizations integrieren kann. Weitere Informationen finden Sie unter [Serviceverknüpften Rolle für EC2 Capacity Manager](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-service-linked-roles-cm.html).

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

## AWS verwaltete Richtlinie: EC2FastLaunchServiceRolePolicy
<a name="security-iam-awsmanpol-EC2FastLaunchServiceRolePolicy"></a>

Diese Richtlinie ist an die serviceverknüpfte Rolle mit dem Namen **AWSServiceRoleForEC2FastLaunch** angefügt, um Amazon EC2 das Erstellen und Verwalten einer Reihe vorab bereitgestellter Snapshots zu ermöglichen, die die zum Starten von Instances von Ihrem EC2-Schnellstart-fähigen AMI erforderliche Zeit reduzieren. Weitere Informationen finden Sie unter [Serviceverknüpfte Rolle für EC2-Schnellstart](slr-windows-fast-launch.md).

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

## AWS verwaltete Richtlinie: Ec2InstanceConnect
<a name="Ec2InstanceConnect"></a>

Sie können die `Ec2InstanceConnect`-Richtlinie an Ihre IAM-Identitäten anfügen. Diese Richtlinie gewährt Berechtigungen, die es Kunden erlauben, EC2 Instance Connect aufzurufen, um flüchtige Schlüssel für ihre EC2-Instances zu veröffentlichen und eine Verbindung über SSH oder die EC2 Instance Connect CLI herzustellen.

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

## AWS verwaltete Richtlinie: Ec2InstanceConnectEndpoint
<a name="Ec2InstanceConnectEndpoint"></a>

Diese Richtlinie ist einer serviceverknüpften Rolle zugeordnet, die so benannt ist **AWSServiceRoleForEC2InstanceConnect**, dass EC2 Instance Connect Endpoint Aktionen in Ihrem Namen ausführen kann. Weitere Informationen finden Sie unter [Serviceverknüpfte Rolle für EC2-Instance-Connect-Endpunkt](eice-slr.md).

Informationen zu den Berechtigungen für diese Richtlinie finden Sie unter [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/Ec2InstanceConnectEndpoint.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/Ec2InstanceConnectEndpoint.html) in der *Referenz zu von AWS verwalteten Richtlinien*. Eine Beschreibung der Aktualisierungen dieser Richtlinie finden Sie unter [Amazon EC2 EC2-Updates für AWS verwaltete Richtlinien](#security-iam-awsmanpol-updates).

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

Sehen Sie sich Details zu Aktualisierungen der AWS verwalteten Richtlinien für Amazon EC2 an, seit dieser Service begonnen hat, diese Änderungen zu verfolgen.


| Änderungen | Beschreibung | Date | 
| --- | --- | --- | 
|  [AWSEC2CapacityManagerServiceRolePolicy](#security-iam-awsmanpol-AWSEC2CapacityManagerServiceRolePolicy) – Neue Richtlinie  | Amazon EC2 hat diese Richtlinie hinzugefügt, damit Sie Kapazitätsressourcen verwalten und sich in Ihrem Namen mit AWS Organizations integrieren können. | 15. Oktober 2025 | 
|  [AmazonEC2ImageReferencesAccessPolicy](#security-iam-awsmanpol-AmazonEC2ImageReferencesAccessPolicy) – Neue Richtlinie  | Amazon EC2 hat diese Richtlinie hinzugefügt, um die Erlaubnis zum Scannen aller Ressourcentypen zu gewähren, die von der DescribeImageReferences EC2-API unterstützt werden. | 26. August 2025 | 
| [Ec2InstanceConnectEndpoint](#Ec2InstanceConnectEndpoint) – Richtlinie aktualisieren | Um die Änderung vorhandener Instance-Connect-Endpunkte zu unterstützen, hat Amazon EC2 diese Richtlinie aktualisiert und Berechtigungen hinzugefügt, um IPv6-Adressen zuzuordnen bzw. zu trennen, und Sicherheitsgruppen auf Netzwerkschnittstellen zu ändern, die vom EC2-Instance-Connect-Endpunkt erstellt wurden. Amazon EC2 hat diese Richtlinie auch aktualisiert, um den Bedingungsoperator Null durch den Bedingungsoperator StringLike zu ersetzen. | 31. Juli 2025 | 
| [EC2FastLaunchServiceRolePolicy](#security-iam-awsmanpol-EC2FastLaunchServiceRolePolicy) – Richtlinie aktualisieren | Um verwaiste Ressourcen zu verhindern, hat Amazon EC2 diese Richtlinie aktualisiert und die Berechtigung hinzugefügt, Volumes, Volume-Attribute und Netzwerkschnittstellen zu beschreiben und Volumes und Netzwerkschnittstellen zu löschen, die von EC2 Fast Launch erstellt wurden. | 17. Juli 2025 | 
| [EC2FastLaunchFullAccess](#security-iam-awsmanpol-EC2FastLaunchFullAccess) – Richtlinie aktualisieren | Amazon EC2 hat diese Richtlinie aktualisiert und Vorgänge zum Erstellen und Ändern von Startvorlagen, zum Erstellen von Netzwerk- und Sicherheitsgruppenressourcen, zum Autorisieren von Eingangsregeln und zum Löschen von Ressourcen, die von EC2 Fast Launch erstellt wurden, hinzugefügt. Es kann außerdem Stacks beschreiben und erstellen sowie CloudFormation Stacks löschen, die EC2 Fast Launch erstellt hat. | 14. Mai 2025 | 
| [EC2FastLaunchServiceRolePolicy](#security-iam-awsmanpol-EC2FastLaunchServiceRolePolicy) – Richtlinie aktualisieren | Amazon EC2 hat diese Richtlinie aktualisiert, um Amazon EventBridge Access zur Erstellung und Verwaltung von Eventregeln für EC2 Fast Launch hinzuzufügen. Darüber hinaus kann EC2 Fast Launch jetzt CloudFormation Stacks beschreiben, eine Instance von einem zugehörigen AMI aus starten AWS License Manager, eine Liste der erstellten AWS KMS Grants abrufen, die zurückgezogen werden können, und Startvorlagen löschen, die es erstellt hat. | 14. Mai 2025 | 
| [AWSEC2CapacityReservationFleetRolePolicy](#security-iam-awsmanpol-AWSEC2CapacityReservationFleetRolePolicy)— Aktualisierte Berechtigungen | Amazon EC2 hat die AWSEC2CapacityReservationFleetRolePolicy-verwaltete Richtlinie aktualisiert, sodass der Bedingungsoperator ArnLike anstelle des Bedingungsoperators StringLike verwendet wird. | 03. März 2025 | 
| [AmazonEC2ReadOnlyAccess](#security-iam-awsmanpol-AmazonEC2ReadOnlyAccess) – hat neue Berechtigung | Amazon EC2 hat eine Berechtigung hinzugefügt, mit der Sie Sicherheitsgruppen mithilfe des GetSecurityGroupsForVpc-Vorgangs abrufen können. | 27. Dezember 2024 | 
| [EC2FastLaunchFullAccess](#security-iam-awsmanpol-EC2FastLaunchFullAccess) – Neue Richtlinie | Amazon EC2 hat diese Richtlinie hinzugefügt, um API-Aktionen im Zusammenhang mit dem EC2-Schnellstart-Feature von einer Instance aus durchzuführen. Die Richtlinie kann an das Instance-Profil für eine Instance angefügt werden, die über ein EC2-Schnellstart-fähiges AMI gestartet wurde. | 14. Mai 2024 | 
| [AWSEC2VssSnapshotPolicy](#security-iam-awsmanpol-AWSEC2VssSnapshotPolicy) – Neue Richtlinie | Amazon EC2 hat die AWSEC2VssSnapshotPolicy Richtlinie hinzugefügt, die Berechtigungen zum Erstellen und Hinzufügen von Tags zu Amazon Machine Images (AMIs) und EBS-Snapshots enthält. | 28. März 2024 | 
| [Ec2InstanceConnectEndpoint](#Ec2InstanceConnectEndpoint) – Neue Richtlinie | Amazon EC2 hat die Richtlinie Ec2InstanceConnectEndpoint hinzugefügt. Diese Richtlinie ist der AWSServiceRoleForEC2InstanceConnectserviceverknüpften Rolle zugeordnet, damit Amazon EC2 Aktionen in Ihrem Namen ausführen kann, wenn Sie einen EC2 Instance Connect-Endpunkt erstellen. | 24. Januar 2023 | 
| [EC2FastLaunchServiceRolePolicy](#security-iam-awsmanpol-EC2FastLaunchServiceRolePolicy) – Neue Richtlinie | Amazon EC2 hat die EC2-Schnellstartfunktion hinzugefügt, damit Windows Instances schneller starten AMIs kann, indem eine Reihe von vorab bereitgestellten Snapshots erstellt wird. | 26. November 2021 | 
| Amazon EC2 hat mit der Verfolgung von Änderungen begonnen | Amazon EC2 hat damit begonnen, Änderungen an seinen AWS verwalteten Richtlinien nachzuverfolgen | 1. März 2021 | 

# IAM-Rollen für Amazon EC2
<a name="iam-roles-for-amazon-ec2"></a>

Anwendungen müssen ihre API-Anfragen mit AWS Anmeldeinformationen signieren. Als Anwendungs-Developer benötigen Sie daher eine Strategie zur Verwaltung der Anmeldeinformationen für die Anwendungen, die auf EC2-Instances ausgeführt werden. Sie können zum Beispiel die AWS -Anmeldeinformationen sicher an die Instances verteilen, damit die Anwendungen auf diesen Instances sie zum Signieren von Anforderungen verwenden können, während Ihre Anmeldeinformationen vor anderen Benutzern geschützt bleiben. Es ist jedoch schwierig, Anmeldeinformationen sicher an jede Instance zu verteilen, insbesondere an diejenigen, die in Ihrem Namen AWS erstellt werden, wie Spot-Instances oder Instances in Auto Scaling Scaling-Gruppen. Sie müssen auch in der Lage sein, die Anmeldeinformationen für jede Instance zu aktualisieren, wenn Sie Ihre AWS Anmeldeinformationen wechseln.

Wir haben IAM-Rollen entworfen, damit Ihre Anwendungen die API-Anforderungen sicher von Ihren Instances senden können, ohne dass Sie die von den Anwendungen verwendeten Sicherheitsanmeldeinformationen verwalten müssen. Anstatt Ihre AWS Anmeldeinformationen zu erstellen und zu verteilen, können Sie die Berechtigung zum Stellen von API-Anfragen mithilfe von IAM-Rollen wie folgt delegieren:

1. Erstellen Sie eine IAM-Rolle.

1. Definieren Sie, welche Konten oder AWS Dienste die Rolle übernehmen können.

1. Definieren Sie, welche API-Aktionen und -Ressourcen die Anwendung nach Annahme der Rolle verwenden kann.

1. Geben Sie die Rolle beim Starten der Instance an oder verknüpfen Sie die Rolle mit einer vorhandenen Instance.

1. Lassen Sie die Anwendung einen Satz vorübergehende Anmeldeinformationen abrufen und verwenden.

Verwenden Sie IAM-Rollen zum Beispiel zum Erteilen von Berechtigungen für Anwendungen, die auf Instances ausgeführt werden, die einen Bucket in Amazon S3 verwenden müssen. Sie können Berechtigungen für IAM-Rollen angeben, indem Sie eine Richtlinie im JSON-Format erstellen. Diese Richtlinien sind denen ähnlich, die Sie für -Benutzer erstellen. Wenn Sie an einer Rolle etwas ändern, wird diese Änderung an alle Instances weitergegeben.

**Anmerkung**  
Die Anmeldeinformationen für Amazon-EC2-IAM-Rollen unterliegen nicht der in der Rolle konfigurierten maximalen Sitzungsdauer. Weitere Informationen finden Sie unter [Methoden, um eine Rolle zu übernehmen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) im *IAM-Benutzerhandbuch*.

Beim Erstellen von IAM-Rollen ordnen Sie IAM-Richtlinien mit geringsten Berechtigungen zu, die den Zugriff auf die spezifischen API-Aufrufe einschränken, die die Anwendung benötigt. Verwenden Sie für die Windows-to-Windows Kommunikation klar definierte und gut dokumentierte Windows-Gruppen und -Rollen, um den Zugriff auf Anwendungsebene zwischen Windows-Instanzen zu gewähren. Gruppen und Rollen ermöglichen es Kunden, Berechtigungen auf Anwendungs- und NTFS-Ordnerebene zu definieren, um den Zugriff auf anwendungsspezifische Anforderungen zu beschränken.

Sie können nur eine IAM-Rolle an eine Instance anhängen, aber Sie können die gleiche Rolle an viele Instances anhängen. Weitere Informationen zum Erstellen und Verwenden von IAM-Rollen finden Sie unter [Rollen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) im *IAM-Benutzerhandbuch*.

Sie können Berechtigungen auf Ressourcenebene auf Ihre IAM-Richtlinien anwenden, um zu steuern, ob Benutzer einer Instance IAM-Rollen anfügen, diese ersetzen oder trennen können. Weitere Informationen finden Sie unter [Unterstützte Berechtigungen auf Ressourcenebene für Amazon EC2-API-Aktionen](iam-policies-for-amazon-ec2.md#ec2-supported-iam-actions-resources) und in diesem Beispiel: [Beispiel: Arbeiten mit IAM-Rollen](ExamplePolicies_EC2.md#iam-example-iam-roles).

**Topics**
+ [

## Instance-Profile
](#ec2-instance-profile)
+ [

## Berechtigungen für Ihren Anwendungsfall
](#generate-policy-for-iam-role)
+ [Sicherheitsanmeldeinformationen abrufen](instance-metadata-security-credentials.md)
+ [Berechtigung zum Anhängen einer IAM-Rolle an eine Instance](permission-to-pass-iam-roles.md)
+ [Anfügen einer Rolle an eine Instance](attach-iam-role.md)
+ [Instance-Identitätsrollen](#ec2-instance-identity-roles)

## Instance-Profile
<a name="ec2-instance-profile"></a>

Amazon EC2 verwendet ein *Instance-Profil* als Container für eine IAM-Rolle. Wenn Sie eine IAM-Rolle mithilfe der IAM-Konsole erstellen, erzeugt die Konsole automatisch ein Instance-Profil und gibt ihm denselben Namen wie der entsprechenden Rolle. Wenn Sie die Amazon EC2-Konsole verwenden, um eine Instance mit einer IAM-Rolle zu starten oder einer Instance eine IAM-Rolle anzufügen, wählen Sie die Rolle aus einer Liste von Instance-Profilnamen aus. 

Wenn Sie die AWS CLI API oder ein AWS SDK verwenden, um eine Rolle zu erstellen, erstellen Sie die Rolle und das Instanzprofil als separate Aktionen mit möglicherweise unterschiedlichen Namen. Wenn Sie dann die AWS CLI API oder ein AWS SDK verwenden, um eine Instance mit einer IAM-Rolle zu starten oder einer Instance eine IAM-Rolle zuzuweisen, geben Sie den Namen des Instanzprofils an. 

Ein Instance-Profil kann nur eine IAM-Rolle enthalten. Sie können eine IAM-Rolle in mehrere Instance-Profile aufnehmen.

Zum Aktualisieren der Berechtigungen für eine Instance ersetzen Sie das Instance-Profil. Das Entfernen einer Rolle aus einem Instance-Profil wird nicht empfohlen, da es bis zu einer Stunde dauern kann, bis diese Änderung wirksam wird.

Weitere Informationen finden Sie unter [Verwenden von Instance-Profilen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html) im *IAM-Benutzerhandbuch*.

## Berechtigungen für Ihren Anwendungsfall
<a name="generate-policy-for-iam-role"></a>

Wenn Sie zum ersten Mal eine IAM-Rolle für Ihre Anwendungen erstellen, können Sie manchmal Berechtigungen erteilen, die über das erforderliche hinausgehen. Bevor Sie Ihre Anwendung in Ihrer Produktionsumgebung starten, können Sie eine IAM-Richtlinie generieren, die auf der Zugriffsaktivität für eine IAM-Rolle basiert. IAM Access Analyzer überprüft Ihre AWS CloudTrail Protokolle und generiert eine Richtlinienvorlage, die die Berechtigungen enthält, die von der Rolle in Ihrem angegebenen Zeitraum verwendet wurden. Sie können die Vorlage verwenden, um eine verwaltete Richtlinie mit definierten Berechtigungen zu erstellen und sie dann an die IAM-Rolle anzuhängen. Auf diese Weise gewähren Sie nur die Berechtigungen, die die Rolle für die Interaktion mit AWS Ressourcen für Ihren speziellen Anwendungsfall benötigt. Dies hilft Ihnen, die Best Practice einzuhalten, die [geringsten Privilegien zu gewähren](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege). Weitere Informationen finden Sie unter [Richtliniengenerierung von IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-generation.html) im *IAM-Benutzerhandbuch*.

# Abrufen von Sicherheitsanmeldeinformationen aus Instance-Metadaten
<a name="instance-metadata-security-credentials"></a>

Eine Anwendung auf der Instance ruft die von der Rolle bereitgestellten Sicherheitsanmeldeinformationen aus dem Instance-Metadatenelement `iam/security-credentials/`*Rollenname* ab. Über die mit der Rolle verknüpften Sicherheitsanmeldeinformationen werden der Anwendung die Berechtigungen für die Aktionen und Ressourcen gewährt, die Sie für die Rolle definiert haben. Diese Sicherheitsanmeldeinformationen sind temporär und werden automatisch gewechselt. Neue Anmeldeinformationen stehen spätestens fünf Minuten vor dem Ablauf der alten zur Verfügung.

Weitere Informationen zu Instance-Metadaten erhalten Sie unter [Instance-Metadaten verwenden, um Ihre EC2-Instance zu verwalten](ec2-instance-metadata.md).

**Warnung**  
Wenn Sie Services verwenden, die Instance-Metadaten mit IAM-Rollen nutzen, müssen Sie sicherstellen, dass Sie Ihre Anmeldeinformationen nicht zur Verfügung stellen, wenn die Services HTTP-Aufrufe in Ihrem Auftrag senden. Zu den Arten von Diensten, die Ihre Anmeldeinformationen offenlegen könnten, gehören HTTP-Proxys, HTML/CSS Validatordienste und XML-Prozessoren, die XML-Inklusion unterstützen.

Für Ihre Amazon-EC2-Workloads empfehlen wir, dass Sie die Anmeldeinformationen für die Sitzung mit der unten beschriebenen Methode abrufen. Diese Anmeldeinformationen sollten es Ihrem Workload ermöglichen, AWS -API-Anfragen zu stellen, ohne `sts:AssumeRole` verwenden zu müssen, um dieselbe Rolle zu übernehmen, die bereits mit dieser Instance verknüpft ist. Nur wenn Sie Sitzungs-Tags für die attributbasierte Zugriffskontrolle (ABAC) übergeben oder eine Sitzungsrichtlinie übergeben müssen, um die Berechtigungen der Rolle weiter einzuschränken, sind solche Rollenannahmeaufrufe erforderlich, da sie einen neuen Satz derselben temporären Anmeldeinformationen für die Rollensitzung erstellen.

Wenn Ihr Workload eine Rolle verwendet, um sich selbst anzunehmen, müssen Sie eine Vertrauensrichtlinie erstellen, die ausdrücklich zulässt, dass diese Rolle sich selbst annimmt. Wenn Sie die Vertrauensrichtlinie nicht erstellen, erhalten Sie den Fehler `AccessDenied`. Weitere Informationen finden Sie unter [Aktualisieren einer Vertrauensrichtlinie für Rollen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-role-trust-policy.html) im *IAM-Benutzerhandbuch*.

------
#### [ IMDSv2 ]

**Linux**  
Führen Sie den folgenden Befehl von Ihrer Linux-Instance aus, um die Sicherheitsanmeldeinformationen für eine IAM-Rolle abzurufen.

```
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
    && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/iam/security-credentials/role-name
```

**Windows**  
Führen Sie das folgende cmdlet von Ihrer Windows-Instance aus, um die Sicherheitsanmeldeinformationen für eine IAM-Rolle abzurufen.

```
[string]$token = Invoke-RestMethod `
    -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} `
    -Method PUT -Uri http://169.254.169.254/latest/api/token
```

```
Invoke-RestMethod `
    -Headers @{"X-aws-ec2-metadata-token" = $token} `
    -Method GET -Uri http://169.254.169.254/latest/meta-data/iam/security-credentials/role-name
```

------
#### [ IMDSv1 ]

**Linux**  
Führen Sie den folgenden Befehl von Ihrer Linux-Instance aus, um die Sicherheitsanmeldeinformationen für eine IAM-Rolle abzurufen.

```
curl http://169.254.169.254/latest/meta-data/iam/security-credentials/role-name
```

**Windows**  
Führen Sie das folgende cmdlet von Ihrer Windows-Instance aus, um die Sicherheitsanmeldeinformationen für eine IAM-Rolle abzurufen.

```
Invoke-RestMethod -uri http://169.254.169.254/latest/meta-data/iam/security-credentials/role-name
```

------

Es folgt eine Beispielausgabe. Wenn Sie die Sicherheitsanmeldedaten nicht abrufen können, finden Sie weitere Informationen unter [Ich kann nicht auf die temporären Sicherheitsanmeldedaten auf meiner EC2-Instance zugreifen](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_iam-ec2.html#troubleshoot_iam-ec2_no-keys) im *IAM-Benutzerhandbuch*.

```
{
  "Code" : "Success",
  "LastUpdated" : "2012-04-26T16:39:16Z",
  "Type" : "AWS-HMAC",
  "AccessKeyId" : "ASIAIOSFODNN7EXAMPLE",
  "SecretAccessKey" : "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
  "Token" : "token",
  "Expiration" : "2017-05-17T15:09:54Z"
}
```

Für Anwendungen und Tools for PowerShell Windows-Befehle AWS CLI, die auf der Instance ausgeführt werden, müssen Sie die temporären Sicherheitsanmeldedaten nicht explizit abrufen — die AWS SDKs, AWS CLI, und Tools für Windows rufen die Anmeldeinformationen PowerShell automatisch vom EC2-Instance-Metadatendienst ab und verwenden sie. Für einen Aufruf außerhalb der Instance mithilfe der temporären Sicherheitsanmeldeinformationen (beispielsweise um IAM-Richtlinien zu testen) müssen Sie den Zugriffsschlüssel, den geheimen Schlüssel und das Sitzungs-Token zur Verfügung stellen. Weitere Informationen finden Sie unter [Verwenden temporärer Sicherheitsanmeldedaten zur Anforderung des Zugriffs auf AWS Ressourcen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html) im *IAM-Benutzerhandbuch*.

# Gewähren von Berechtigungen zum Anhängen einer IAM-Rolle an eine Instance
<a name="permission-to-pass-iam-roles"></a>

Ihre Identitäten AWS-Konto, z. B. IAM-Benutzer, müssen über spezifische Berechtigungen verfügen, um eine Amazon EC2 EC2-Instance mit einer IAM-Rolle zu starten, einer Instance eine IAM-Rolle zuzuweisen, die IAM-Rolle für eine Instance zu ersetzen oder eine IAM-Rolle von einer Instance zu trennen. Sie müssen die Berechtigung zum Verwenden der folgenden API-Aktionen nach Bedarf gewähren:
+ `iam:PassRole`
+ `ec2:AssociateIamInstanceProfile`
+ `ec2:DisassociateIamInstanceProfile`
+ `ec2:ReplaceIamInstanceProfileAssociation`

**Anmerkung**  
Wenn Sie die Ressource für `iam:PassRole` als `*` angeben, würde dies Zugriff gewähren, um eine Ihrer IAM-Rollen an eine Instance zu übergeben. Um der bewährten Methode der [geringsten Rechte](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) zu folgen, geben Sie die spezifischen IAM-Rollen mit `iam:PassRole` an, wie in ARNs der folgenden Beispielrichtlinie dargestellt.

**Beispielrichtlinie für den programmatischen Zugriff**  
Die folgende IAM-Richtlinie gewährt Berechtigungen zum Starten von Instances mit einer IAM-Rolle, zum Anhängen einer IAM-Rolle an eine Instance oder zum Ersetzen der IAM-Rolle für eine Instance mithilfe der AWS CLI oder der Amazon EC2 EC2-API.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
         "ec2:RunInstances",
         "ec2:AssociateIamInstanceProfile",
         "ec2:DisassociateIamInstanceProfile",
         "ec2:ReplaceIamInstanceProfileAssociation"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": "iam:PassRole",
      "Resource": "arn:aws:iam::123456789012:role/DevTeam*"
    }
  ]
}
```

------

**Zusätzliche Anforderung für den Konsolenzugriff**  
Um Berechtigungen zum Ausführen derselben Aufgaben mit der Amazon-EC2-Konsole zu gewähren, müssen Sie auch die `iam:ListInstanceProfiles`-API-Aktion angeben.

# Anfügen einer IAM-Rolle an eine Instance
<a name="attach-iam-role"></a>

Sie können eine IAM-Rolle erstellen und sie während des Starts oder danach einer Instance anfügen. Sie können IAM-Rollen auch ersetzen oder trennen.

**Eine IAM-Rolle beim Instance-Start erstellen und anhängen (empfohlen)**

1. **Erweitern Sie beim Start der EC2-Instance die Option Erweiterte Details.**

1. Wählen Sie im Abschnitt **IAM-Instanzprofil** die Option **Neue IAM-Rolle erstellen** aus.

1. Ein Inline-Formular zur Rollenerstellung wird geöffnet, mit dem Sie:
   + Geben Sie **den Rollennamen** an `EC2-S3-Access-Role` (z. B.
   + Definieren Sie Berechtigungen, indem Sie AWS verwaltete Richtlinien auswählen oder benutzerdefinierte Richtlinien für Ihre Instanz erstellen

     Um beispielsweise S3-Zugriff zu gewähren, wählen Sie die `AmazonS3ReadOnlyAccess` verwaltete Richtlinie aus
   + Überprüfen Sie die Vertrauensrichtlinie, die es ermöglicht`ec2.amazonaws.com`, die Rolle zu übernehmen
   + Fügen Sie optionale Tags für Metadaten hinzu

1. Wählen Sie **Rolle erstellen** aus.

   Die neu erstellte Rolle wird automatisch ausgewählt und beim Start der Instance über ein Instanzprofil an Ihre Instance angehängt.

**Anmerkung**  
Wenn Sie beim Start der Instance mithilfe der Konsole eine Rolle erstellen, wird automatisch ein Instance-Profil mit demselben Namen wie die Rolle erstellt. Das Instance-Profil ist ein Container, der beim Start IAM-Rolleninformationen an die Instance weitergibt.

**Wichtig**  
Sie können nur eine IAM-Rolle an eine Instance anhängen, aber Sie können die gleiche Rolle an viele Instances anhängen.
Ordnen Sie IAM-Richtlinien mit den geringsten Rechten zu, die den Zugriff auf die spezifischen API-Aufrufe einschränken, die die Anwendung benötigt.

Weitere Informationen zum Erstellen und Verwenden von IAM-Rollen finden Sie unter [Rollen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) im *IAM-Benutzerhandbuch*.

**Anhängen einer vorhandenen IAM-Rolle beim Instance-Start**  
Um einer Instance beim Start mithilfe der Amazon EC2 EC2-Konsole eine bestehende IAM-Rolle zuzuweisen, erweitern Sie **Erweiterte** Details. Wählen Sie für das **IAM-Instance-Profil** die IAM-Rolle aus der Drop-down-Liste aus.

**Anmerkung**  
Wenn Sie die IAM-Rolle mit der IAM-Konsole erstellt haben, wurde das Instance-Profil für Sie angelegt und hat denselben Namen wie die Rolle erhalten. Wenn Sie Ihre IAM-Rolle mithilfe der AWS CLI API oder eines AWS SDK erstellt haben, haben Sie Ihrem Instanzprofil möglicherweise einen anderen Namen als der Rolle gegeben.

Sie können einer Instance, die ausgeführt wird oder gestoppt wird, eine IAM-Rolle anfügen. Wenn der Instance bereits eine IAM-Rolle zugewiesen ist, müssen Sie diese durch die neue IAM-Rolle ersetzen.

------
#### [ Console ]<a name="attach-iam-role-console"></a>

**So fügen Sie einer Instance eine IAM-Rolle an**

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

1. Wählen Sie im Navigationsbereich **Instances** aus.

1. Wählen Sie die Instance aus.

1. Wählen Sie **Actions (Aktionen)**, **Security (Sicherheit)**, **Modify IAM role (IAM-Rolle ändern)** aus.

1. Für **IAM-Rolle** wählen Sie das IAM-Instance-Profil.

1. Wählen Sie **IAM-Rolle aktualisieren**.

------
#### [ AWS CLI ]
<a name="attach-iam-role-instance-cli"></a>
**So fügen Sie einer Instance eine IAM-Rolle an**  
Verwenden Sie den [associate-iam-instance-profile](https://docs.aws.amazon.com/cli/latest/reference/ec2/associate-iam-instance-profile.html)Befehl, um die IAM-Rolle an die Instanz anzuhängen. Wenn Sie das Instance-Profil angeben, können Sie entweder den Amazon-Ressourcenname (ARN) des Instance-Profils oder dessen Namen verwenden.

```
aws ec2 associate-iam-instance-profile \
    --instance-id i-1234567890abcdef0 \
    --iam-instance-profile Name="TestRole-1"
```

------
#### [ PowerShell ]

**So fügen Sie einer Instance eine IAM-Rolle an**  
Verwenden Sie das cmdlet [Register-EC2IamInstanceProfile](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2IamInstanceProfile.html).

```
Register-EC2IamInstanceProfile `
    -InstanceId i-1234567890abcdef0 `
    -IamInstanceProfile_Name TestRole-1
```

------

Um die IAM-Rolle in einer Instance zu ersetzen, an die bereits eine IAM-Rolle angefügt ist, muss die Instance ausgeführt werden. Sie können dies tun, wenn Sie die IAM-Rolle für eine Instance ändern möchten, ohne zuvor die vorhandene Instance zu trennen. Sie können dies beispielsweise tun, um sicherzustellen, dass die von Anwendungen auf der Instance ausgeführten API-Aktionen nicht unterbrochen werden.

------
#### [ Console ]<a name="replace-iam-role-console"></a>

**So ersetzen Sie eine IAM-Rolle für eine Instance**

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

1. Wählen Sie im Navigationsbereich **Instances** aus.

1. Wählen Sie die Instance aus.

1. Wählen Sie **Actions (Aktionen)**, **Security (Sicherheit)**, **Modify IAM role (IAM-Rolle ändern)** aus.

1. Für **IAM-Rolle** wählen Sie das IAM-Instance-Profil.

1. Wählen Sie **IAM-Rolle aktualisieren**.

------
#### [ AWS CLI ]<a name="replace-iam-role-cli"></a>

**So ersetzen Sie eine IAM-Rolle für eine Instance**

1. Verwenden Sie bei Bedarf den Befehl [describe-iam-instance-profile-associations](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-iam-instance-profile-associations.html), um die Zuordnungs-ID abzurufen.

   ```
   aws ec2 describe-iam-instance-profile-associations \
       --filters Name=instance-id,Values=i-1234567890abcdef0 \
       --query IamInstanceProfileAssociations.AssociationId
   ```

1. Verwenden Sie den Befehl [replace-iam-instance-profile-association](https://docs.aws.amazon.com/cli/latest/reference/ec2/replace-iam-instance-profile-association.html). Geben Sie die Zuordnungs-ID für das vorhandene Instance-Profil und den ARN oder Namen des neuen Instance-Profils an.

   ```
   aws ec2 replace-iam-instance-profile-association \
       --association-id iip-assoc-0044d817db6c0a4ba \
       --iam-instance-profile Name="TestRole-2"
   ```

------
#### [ PowerShell ]

**So ersetzen Sie eine IAM-Rolle für eine Instance**

1. Verwenden Sie bei Bedarf das [Get-EC2IamInstanceProfileAssociation](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2IamInstanceProfileAssociation.html)Cmdlet, um die Zuordnungs-ID abzurufen.

   ```
   (Get-EC2IamInstanceProfileAssociation -Filter @{Name="instance-id"; Values="i-0636508011d8e966a"}).AssociationId
   ```

1. Verwenden Sie das cmdlet [Set-EC2IamInstanceProfileAssociation](https://docs.aws.amazon.com/powershell/latest/reference/items/Set-EC2IamInstanceProfileAssociation.html). Geben Sie die Zuordnungs-ID für das vorhandene Instance-Profil und den ARN oder Namen des neuen Instance-Profils an.

   ```
   Set-EC2IamInstanceProfileAssociation `
       -AssociationId iip-assoc-0044d817db6c0a4ba `
       -IamInstanceProfile_Name TestRole-2
   ```

------

Sie können eine IAM-Rolle von einer laufenden oder angehaltenen Instance trennen.

------
#### [ Console ]<a name="detach-iam-role-console"></a>

**So trennen Sie eine IAM-Rolle von einer Instance**

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

1. Wählen Sie im Navigationsbereich **Instances** aus.

1. Wählen Sie die Instance aus.

1. Wählen Sie **Actions (Aktionen)**, **Security (Sicherheit)**, **Modify IAM role (IAM-Rolle ändern)** aus.

1. Klicken Sie unter **IAM-Rolle** auf die Option **Keine IAM-Rolle**.

1. Wählen Sie **IAM-Rolle aktualisieren**.

1. Wenn Sie zur Bestätigung aufgefordert werden, geben Sie **Abhängen** ein und wählen Sie dann **Abhängen** aus.

------
#### [ AWS CLI ]<a name="detach-iam-role-cli"></a>

**So trennen Sie eine IAM-Rolle von einer Instance**

1. Verwenden Sie bei Bedarf [describe-iam-instance-profile-associations](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-iam-instance-profile-associations.html), um die Zuordnungs-ID für das zu trennende IAM-Instanzprofil abzurufen.

   ```
   aws ec2 describe-iam-instance-profile-associations \
       --filters Name=instance-id,Values=i-1234567890abcdef0 \
       --query IamInstanceProfileAssociations.AssociationId
   ```

1. Verwenden Sie den Befehl [disassociate-iam-instance-profile](https://docs.aws.amazon.com/cli/latest/reference/ec2/disassociate-iam-instance-profile.html).

   ```
   aws ec2 disassociate-iam-instance-profile --association-id iip-assoc-0044d817db6c0a4ba
   ```

------
#### [ PowerShell ]

**So trennen Sie eine IAM-Rolle von einer Instance**

1. Verwenden Sie bei Bedarf, [Get-EC2IamInstanceProfileAssociation](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2IamInstanceProfileAssociation.html)um die Zuordnungs-ID für das zu trennende IAM-Instanzprofil abzurufen.

   ```
   (Get-EC2IamInstanceProfileAssociation -Filter @{Name="instance-id"; Values="i-0636508011d8e966a"}).AssociationId
   ```

1. Verwenden Sie das cmdlet [Unregister-EC2IamInstanceProfile](https://docs.aws.amazon.com/powershell/latest/reference/items/Unregister-EC2IamInstanceProfile.html).

   ```
   Unregister-EC2IamInstanceProfile -AssociationId iip-assoc-0044d817db6c0a4ba
   ```

------

## Instance-Identitäts-Rollen für Amazon-EC2-Instances
<a name="ec2-instance-identity-roles"></a>

Jede Amazon-EC2-Instance, die Sie starten, hat eine *Instance-Identitätsrolle*, die ihre Identität repräsentiert. Eine Instanzidentitätsrolle ist eine Art von IAM-Rolle. AWS Dienste und Funktionen, die zur Verwendung der Instanzidentitätsrolle integriert sind, können sie verwenden, um die Instanz für den Dienst zu identifizieren.

Auf die Anmeldeinformationen für die Instance-Identitätsrolle können Sie über den Instance Metadata Service (IMDS) unter `/identity-credentials/ec2/security-credentials/ec2-instance` zugreifen. Die Anmeldeinformationen bestehen aus einem AWS temporären Zugriffsschlüsselpaar und einem Sitzungstoken. Sie werden verwendet, um AWS Sigv4-Anfragen an die AWS Dienste zu signieren, die die Instanzidentitätsrolle verwenden. Die Anmeldeinformationen sind in den Instance-Metadaten vorhanden, unabhängig davon, ob ein Service oder ein Feature, welches Instance-Identitätsrollen verwendet, in der Instance aktiviert ist.

Instance-Identitätsrollen werden automatisch erstellt, wenn eine Instance gestartet wird. Sie haben kein Rollenvertrauensrichtliniendokument und unterliegen keiner Identitäts- oder Ressourcenrichtlinie.

### Unterstützte Services
<a name="iir-supported-services"></a>

Die folgenden AWS Dienste verwenden die Instanzidentitätsrolle:
+ **Amazon EC2** – [EC2 Instance Connect](connect-linux-inst-eic.md) verwendet die Instance-Identitätsrolle, um die Host-Schlüssel einer Linux-Instance zu aktualisieren.
+ **Amazon GuardDuty** — [GuardDuty Runtime Monitoring](https://docs.aws.amazon.com/guardduty/latest/ug/runtime-monitoring.html) verwendet die Instance-Identitätsrolle, damit der Runtime-Agent Sicherheitstelemetrie an den GuardDuty VPC-Endpunkt senden kann.
+ **AWS Lambda**— [Lambda Managed Instances](https://docs.aws.amazon.com/lambda/latest/dg/lambda-managed-instances.html) verwendet die Instanzidentitätsrolle für Lifecycle-Hooks, Telemetrie und Artefaktverteilung.
+ **AWS -Security-Token-Service (AWS STS)** — Anmeldeinformationen für die Instanzidentitätsrolle können zusammen mit der Aktion verwendet werden. AWS STS [https://docs.aws.amazon.com/STS/latest/APIReference/API_GetCallerIdentity.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetCallerIdentity.html)
+ **AWS Systems Manager**— Bei Verwendung der [Standard-Host-Management-Konfiguration](https://docs.aws.amazon.com/systems-manager/latest/userguide/fleet-manager-default-host-management-configuration.html) wird die Identität AWS Systems Manager verwendet, die von der Instance-Identitätsrolle bereitgestellt wird, um EC2-Instances zu registrieren. Nach der Identifizierung Ihrer Instance kann Systems Manager Ihre `AWSSystemsManagerDefaultEC2InstanceManagementRole`-IAM-Rolle an Ihre Instance weitergeben.

Instance-Identitätsrollen können nicht mit anderen AWS Diensten oder Funktionen verwendet werden, da sie nicht mit Instance-Identitätsrollen integriert sind.

### Instance-Identitäts-Rollen-ARN
<a name="iir-arn"></a>

Die Instance-Identitätsrollen-ARN hat das folgende Format:

```
arn:aws-partition:iam::account-number:assumed-role/aws:ec2-instance/instance-id
```

Beispiel:

```
arn:aws:iam::0123456789012:assumed-role/aws:ec2-instance/i-1234567890abcdef0
```

Weitere Informationen zu ARNs finden Sie unter [Amazon Resource Names (ARNs)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) im *IAM-Benutzerhandbuch*.

# Verwaltung von Aktualisierungen für Amazon-EC2-Instances
<a name="update-management"></a>

Wir empfehlen Ihnen, das Betriebssystem und die Anwendungen auf Ihren EC2-Instances regelmäßig zu patchen, zu aktualisieren und zu sichern. Mit dem [AWS Systems Manager Patch Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager.html) können Sie den Prozess der Installation sicherheitsrelevanter Updates sowohl für das Betriebssystem als auch für Anwendungen automatisieren.

Für EC2-Instances in einer Auto-Scaling-Gruppe können Sie das [https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-aws-patchasginstance.html](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-aws-patchasginstance.html)-Runbook verwenden, um zu verhindern, dass Instances, die gerade gepatcht werden, ersetzt werden. Alternativ können Sie alle Services zur automatischen Aktualisierung oder empfohlenen Prozesse für die Installation von Aktualisierungen verwenden, die vom Anwendungsanbieter bereitgestellt werden.

**Ressourcen**
+ **AL2023**— [Aktualisierung AL2023](https://docs.aws.amazon.com/linux/al2023/ug/updating.html) im *Amazon Linux 2023-Benutzerhandbuch*
+ **AL2**— [Software auf Ihrer Amazon Linux 2-Instance im *Amazon Linux 2-Benutzerhandbuch* verwalten](https://docs.aws.amazon.com/linux/al2/ug/managing-software.html)
+ **Windows-Instances** – [Update-Management](ec2-windows-security-best-practices.md#ec2-windows-update-management)

# Bewährte Methoden für die Sicherheit in Windows-Instances
<a name="ec2-windows-security-best-practices"></a>

Es wird empfohlen, die folgenden bewährten Methoden für die Sicherheit in Ihren Windows-Instances zu befolgen.

**Topics**
+ [

## Bewährte Methoden für die Sicherheit auf hohem Niveau
](#high-level-security)
+ [

## Update-Management
](#ec2-windows-update-management)
+ [

## Konfigurationsmanagement
](#configuration-management)
+ [

## Änderungsmanagement
](#change-management)
+ [

## Prüfung und Rechenschaftspflicht für Amazon-EC2-Windows-Instances
](#audit-accountability)

## Bewährte Methoden für die Sicherheit auf hohem Niveau
<a name="high-level-security"></a>

Für Ihre Windows Instances sollten Sie die folgenden bewährten Methoden für die Sicherheit auf hohem Niveau einhalten:
+ **geringster Zugriff** – Gewähren Sie Zugriff nur auf vertrauenswürdige und erwartete Systeme und Speicherorte. Dies gilt für alle Microsoft-Produkte wie Active Directory, Microsoft-Geschäftsproduktivitätsserver und Infrastruktur-Services wie Remote Desktop-Dienste, Reverse-Proxy-Server, IIS-Webserver usw. Verwenden Sie AWS Funktionen wie Amazon EC2 EC2-Instance-Sicherheitsgruppen, Netzwerkzugriffskontrolllisten (ACLs) und Amazon public/private VPC-Subnetze, um die Sicherheit über mehrere Standorte in einer Architektur zu verteilen. Innerhalb einer Windows-Instance können Kunden die Windows-Firewall verwenden, um eine weitere defense-in-depth Strategie innerhalb ihrer Implementierung zu entwickeln. Installieren Sie nur die Betriebssystemkomponenten und -anwendungen, die für die gewünschte Funktion des Systems erforderlich sind. Konfigurieren Sie Infrastruktur-Services wie IIS für die Ausführung unter Servicekonten oder für die Verwendung von Funktionen wie Anwendungspool-Identitäten, um lokal und remote auf Ressourcen in Ihrer gesamten Infrastruktur zuzugreifen.
+ **geringste Berechtigung** – Bestimmen Sie die Mindestberechtigungen, die Instances und Konten benötigen, um ihre Funktionen auszuführen. Schränken Sie diese Server und Benutzer so ein, dass nur diese definierten Berechtigungen gewährt werden. Verwenden Sie Techniken wie rollenbasierte Zugriffskontrollen, um die Angriffsfläche von Administratorkonten zu reduzieren, und erstellen Sie maximal eingeschränkte Rollen für die Ausführung einer Aufgabe. Verwenden Sie Betriebssystemfunktionen wie Encrypting File System (EFS) in NTFS, um sensible Daten im Ruhezustand zu verschlüsseln und den Anwendungs- und Benutzerzugriff darauf zu kontrollieren.
+ **Konfigurationsmanagement** — Erstellen Sie eine grundlegende Serverkonfiguration, die up-to-date Sicherheitspatches und hostbasierte Schutzpakete umfasst, zu denen Viren- und Malware-Schutz, Erkennung und Verhinderung von Eindringlingen und Überwachung der Dateiintegrität gehören. Bewerten Sie jeden Server anhand der aktuell aufgezeichneten Basislinie, um Abweichungen zu identifizieren und zu kennzeichnen. Stellen Sie sicher, dass jeder Server so konfiguriert ist, dass entsprechende Protokoll- und Prüfungsdaten generiert und sicher gespeichert werden.
+ **Änderungsmanagement** – Erstellen Sie Prozesse zur Steuerung von Änderungen an Serverkonfigurationsbasislinien und arbeiten Sie an vollautomatisierten Änderungsprozessen. Nutzen Sie außerdem Just Enough Administration (JEA) mit Windows PowerShell DSC, um den Administratorzugriff auf die minimal erforderlichen Funktionen zu beschränken.
+ **Patch-Management** – Implementieren Sie Prozesse, mit denen das Betriebssystem und die Anwendungen auf Ihren EC2-Instances regelmäßig gepatcht, aktualisiert und gesichert werden.
+ **Prüfungsprotokolle** – Prüfen Sie den Zugriff und alle Änderungen an Amazon EC2-Instances, um die Serverintegrität zu verifizieren und sicherzustellen, dass nur autorisierte Änderungen vorgenommen werden. Nutzen Sie Funktionen wie [Enhanced Logging for IIS](https://learn.microsoft.com/en-us/iis/get-started/whats-new-in-iis-85/enhanced-logging-for-iis85), um die Standardprotokollierungsfunktionen zu verbessern. AWS Funktionen wie VPC Flow Logs AWS CloudTrail sind auch verfügbar, um den Netzwerkzugriff zu überprüfen, einschließlich allowed/denied Anfragen bzw. API-Aufrufen.

## Update-Management
<a name="ec2-windows-update-management"></a>

Um optimale Ergebnisse beim Ausführen von Windows Server in Amazon EC2 sicherzustellen, empfehlen wir Ihnen die Implementierung der folgenden bewährten Methoden:
+ [Configure Windows Update](#windows-update)
+ [Update drivers](#drivers)
+ [Use the latest Windows AMIs](#AMI)
+ [Test performance before migration](#test)
+ [Update launch agents](#agents)
+ Sie können eine Windows-Instance nach der Installation von Updates neu starten. Weitere Informationen finden Sie unter [Starten Sie Ihre EC2 Amazon-Instance neu](ec2-instance-reboot.md).

Weitere Informationen über den Upgrade oder die Migration einer Windows-Instance auf eine neuere Version von Windows Server finden Sie unter [EC2 – Windows-Instance auf eine neuere Version von Windows Server aktualisieren](serverupgrade.md).

**Windows Update konfigurieren**  
Standardmäßig erhalten Instanzen, die von AWS Windows Server aus gestartet werden AMIs , keine Updates über Windows Update.

**Aktualisieren von Windows-Treibern**

Verwenden Sie auf allen Windows-EC2-Instances die neuesten Treiber, damit auf allen Systemen die neuesten Fehlerbehebungen und Leistungsverbesserungen angewendet werden. Abhängig von Ihrem Instance-Typ sollten Sie AWS PV, Amazon ENA und AWS NVMe Treiber aktualisieren.
+ Verwenden Sie [SNS-Themen](xen-drivers-overview.md#drivers-subscribe-notifications), um Informationen über neue Treiber-Releases zu erhalten.
+ Verwenden Sie das AWS Systems Manager Automation-Runbook [AWSSupport-UpgradeWindowsAWSDrivers](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-upgradewindowsawsdrivers.html), um die Updates einfach auf Ihre Instances anzuwenden.

**Starten Sie Instances mit dem neuesten Windows AMIs**

AWS veröffentlicht AMIs jeden Monat ein neues Windows, das die neuesten Betriebssystem-Patches, Treiber und Launch-Agents enthält. Nutzen Sie das neueste AMI, wenn Sie neue Instances starten oder eigene, benutzerdefinierte Images erstellen.
+ Updates für die einzelnen Versionen von AWS Windows AMIs finden Sie im [AWS Windows AMI-Versionsverlauf](https://docs.aws.amazon.com/ec2/latest/windows-ami-reference/ec2-windows-ami-version-history.html).
+ Informationen zum Erstellen mit den neuesten verfügbaren Versionen AMIs finden Sie unter [Abfragen des neuesten Windows-AMI mithilfe des Systems Manager Manager-Parameterspeichers](https://aws.amazon.com/blogs/mt/query-for-the-latest-windows-ami-using-systems-manager-parameter-store/).
+ Weitere Informationen zu speziellen Windows-Betriebssystemen, mit AMIs denen Sie Instances für Ihre Datenbank starten können, und Anwendungsfällen zur Compliance-Härtung finden Sie unter [Specialized Windows AMIs](https://docs.aws.amazon.com/ec2/latest/windows-ami-reference/specialized-windows-amis.html) in der *AWS Windows AMI-Referenz*.

**Testen Sie system/application die Leistung vor der Migration**

Die Migration von Unternehmensanwendungen zu AWS kann viele Variablen und Konfigurationen beinhalten. Führen Sie immer Tests für die Leistung der EC2-Lösung durch, um Folgendes zu gewährleisten:
+ Die Instance-Typen müssen ordnungsgemäß konfiguriert sein, inklusive Instance-Größe, Enhanced Networking und Tenancy (geteilte oder Dedicated).
+ Die Instance-Topologie muss für die Workload geeignet sein und bei Bedarf Hochleistungsfunktionen wie Dedicated Tenancy, Platzierungsgruppen, Instance-Speicher-Volumes und Bare-Metal-Instances nutzen.

**Installieren Sie die neueste Version von EC2 Launch v2**  
Installieren Sie den neuesten EC2 Launch v2-Agenten, um sicherzustellen, dass die neuesten Verbesserungen in Ihrer gesamten Flotte angewendet werden. Weitere Informationen finden Sie unter [Installieren Sie EC2 Launch v2](ec2launch-v2-install.md).

Wenn Sie über eine gemischte Flotte verfügen oder wenn Sie die Agenten EC2Launch (Windows Server 2016 und 2019) oder EC2 Config (nur ältere Betriebssysteme) weiterhin verwenden möchten, aktualisieren Sie auf die neuesten Versionen der entsprechenden Agenten.

Automatische Aktualisierungen werden auf den folgenden Kombinationen von Windows-Server-Version und Launch-Agenten unterstützt. Sie können sich in der [SSM-Quick Setup des Host-Managements](https://docs.aws.amazon.com/systems-manager/latest/userguide/quick-setup-host-management.html)-Konsole unter **Amazon-EC2-Launch-Agenten** für automatische Updates anmelden.


| Windows-Version | EC2Starten Sie Version 1 | EC2Starten Sie v2 | 
| --- | --- | --- | 
| 2016 | ✓ | ✓ | 
| 2019 | ✓ | ✓ | 
| 2022 |  | ✓ | 
+ Weitere Informationen zur Aktualisierung auf EC2 Launch v2 finden Sie unter[Installieren Sie die neueste Version von EC2 Launch v2](ec2launch-v2-install.md).
+ Informationen zur manuellen Aktualisierung von EC2 Config finden Sie unter[Installieren Sie die neueste Version von EC2 Config](UsingConfig_Install.md). 
+ Informationen zur manuellen Aktualisierung von EC2 Launch finden Sie unter[Installieren Sie die neueste Version von EC2 Launch](ec2launch-download.md).

## Konfigurationsmanagement
<a name="configuration-management"></a>

Amazon Machine Images (AMIs) bieten eine Erstkonfiguration für eine Amazon EC2-Instance, die das Windows-Betriebssystem und optionale kundenspezifische Anpassungen wie Anwendungen und Sicherheitskontrollen beinhaltet. Erstellen Sie einen AMI-Katalog mit benutzerdefinierten Basislinien für die Sicherheitskonfiguration, um sicherzustellen, dass alle Windows-Instances mit Standardsicherheitskontrollen gestartet werden. Sicherheitsbasislinien können in ein AMI integriert, beim Start einer EC2-Instance dynamisch gebootet oder als Produkt für eine einheitliche Verteilung über Service Catalog-Portfolios verpackt werden. AWS Weitere Informationen zum Sichern eines AMIs finden Sie unter [Bewährte Methoden für die Erstellung eines AMIs](https://docs.aws.amazon.com/marketplace/latest/userguide/best-practices-for-building-your-amis.html).

Jede Amazon EC2-Instance sollte die organisatorischen Sicherheitsstandards einhalten. Installieren Sie keine Windows-Rollen und -Features, die nicht erforderlich sind, und installieren Sie Software zum Schutz vor bösartigem Code (Antivirus-, Antischadsoftware, Exploit-Begrenzung), überwachen Sie die Host-Integrität und führen Sie Angriffserkennungsmaßnahmen durch. Konfigurieren Sie Sicherheitssoftware, um Betriebssystem-Sicherheitseinstellungen zu überwachen und zu verwalten, die Integrität kritischer Betriebssystemdateien zu schützen und Warnungen zu Abweichungen von der Sicherheitsbasis zu erhalten. Erwägen Sie, empfohlene Sicherheitskonfigurations-Benchmarks zu implementieren, die von Microsoft, dem Center for Internet Security (CIS) oder dem National Institute of Standards and Technology (NIST) veröffentlicht wurden. Erwägen Sie, andere Microsoft-Tools für bestimmte Anwendungsserver zu verwenden, z. B. [Best Practice Analyzer for SQL Server](https://www.microsoft.com/en-us/download/details.aspx?id=29302).

AWS Kunden können auch Amazon Inspector-Assessments durchführen, um die Sicherheit und Konformität der auf Amazon EC2 EC2-Instances bereitgestellten Anwendungen zu verbessern. Amazon Inspector prüft Anwendungen automatisch auf Schwachstellen oder Abweichungen von bewährten Methoden und enthält eine Wissensdatenbank aus Hunderten von Regeln, die den gängigen Standards der Sicherheits-Compliance (z. B. PCI DSS) und Schwachstellendefinitionen zugeordnet sind. Beispiele für integrierte Regeln sind die Überprüfung, ob die Remote-Root-Anmeldung aktiviert ist oder, ob anfällige Softwareversionen installiert sind. Diese Regeln werden regelmäßig von AWS Sicherheitsforschern aktualisiert.

Beim Sichern von Windows-Instances wird empfohlen, Active-Directory-Domain-Services zu implementieren, um eine skalierbare, sichere und verwaltbare Infrastruktur für verteilte Standorte zu ermöglichen. Darüber hinaus empfiehlt es sich, nach dem Starten von Instances über die Amazon EC2 EC2-Konsole oder mithilfe eines Amazon EC2-Bereitstellungstools AWS CloudFormation, z. B. native Betriebssystemfunktionen wie Microsoft Windows PowerShell DSC zu verwenden, um den Konfigurationsstatus aufrechtzuerhalten, falls es zu einer Konfigurationsabweichung kommt.

## Änderungsmanagement
<a name="change-management"></a>

Nachdem beim Start anfängliche Sicherheits-Baselines auf Amazon EC2-Instances angewendet wurden, kontrollieren Sie fortlaufende Amazon EC2-Änderungen, um die Sicherheit Ihrer virtuellen Maschinen zu wahren. Richten Sie einen Change-Management-Prozess ein, um Änderungen an AWS Ressourcen (wie Sicherheitsgruppen, Routing-Tabellen und Netzwerk ACLs) sowie an Betriebssystem- und Anwendungskonfigurationen (wie Windows- oder Anwendungspatching, Software-Upgrades oder Updates von Konfigurationsdateien) zu autorisieren und zu integrieren.

AWS stellt mehrere Tools zur Verfügung, mit denen Sie Änderungen an AWS Ressourcen verwalten können AWS CloudTrail, darunter AWS Config CloudFormation, AWS Elastic Beanstalk, und und Management Packs für Systems Center Operations Manager und System Center Virtual Machine Manager. Beachten Sie, dass Microsoft Windows-Patches am zweiten Dienstag im Monat (oder nach Bedarf) veröffentlicht und alle Windows, die von AMIs verwaltet werden, AWS innerhalb von fünf Tagen AWS aktualisiert, nachdem Microsoft einen Patch veröffentlicht hat. Daher ist es wichtig, alle Baseline- AMIs, CloudFormation Aktualisierungs- und Auto Scaling Scaling-Gruppenkonfigurationen kontinuierlich mit dem neuesten AMI IDs zu patchen und Tools zur Automatisierung des laufenden Instance-Patch-Managements zu implementieren.

Microsoft bietet verschiedene Optionen zum Verwalten von Windows-Betriebssystem- und Anwendungsänderungen. SCCM bietet beispielsweise eine vollständige Lebenszyklusabdeckung von Umgebungsänderungen. Wählen Sie Tools aus, die geschäftliche Anforderungen erfüllen und steuern, wie sich Änderungen auf Anwendungs-SLAs, Kapazität, Sicherheit und Notfallwiederherstellungsverfahren auswirken. Vermeiden Sie manuelle Änderungen und nutzen Sie stattdessen automatisierte Konfigurationsverwaltungssoftware oder Befehlszeilentools wie EC2 Run Command oder Windows, PowerShell um skriptbasierte, wiederholbare Änderungsprozesse zu implementieren. Um diese Anforderung zu erfüllen, verwenden Sie Bastion-Hosts mit erweiterter Protokollierung für alle Interaktionen mit Ihren Windows-Instances, um sicherzustellen, dass alle Ereignisse und Aufgaben automatisch aufgezeichnet werden.

## Prüfung und Rechenschaftspflicht für Amazon-EC2-Windows-Instances
<a name="audit-accountability"></a>

AWS CloudTrail AWS Config, und AWS-Config-Regeln stellen Prüf- und Änderungsverfolgungsfunktionen für die Prüfung von Ressourcenänderungen bereit. AWS Konfigurieren Sie Windows-Ereignisprotokolle, um lokale Protokolldateien an ein zentrales Protokollverwaltungssystem zu senden, um Protokolldaten für die Sicherheits- und Betriebsverhaltensanalyse zu führen. Microsoft System Center Operations Manager (SCOM) aggregiert Informationen zu Microsoft-Anwendungen, die auf Windows-Instances bereitgestellt werden, und wendet vorkonfigurierte und benutzerdefinierte Regelsätze basierend auf Anwendungsrollen und -services an. System Center Management Packs bauen auf SCOM auf, um anwendungsspezifische Überwachungs- und Konfigurationsrichtlinien bereitzustellen. Diese [Management Packs](https://learn.microsoft.com/en-us/archive/technet-wiki/16174.microsoft-management-packs) unterstützen Windows Server Active Directory, SharePoint Server 2013, Exchange Server 2013, Lync Server 2013, SQL Server 2014 und viele weitere Server und Technologien.

Zusätzlich zu den Systemverwaltungstools von Microsoft können Kunden Amazon verwenden, CloudWatch um die CPU-Auslastung, die Festplattenleistung und die Netzwerk-I/O von Instanzen zu überwachen und Host- und Instance-Statusprüfungen durchzuführen. Die EC2 Startagenten EC2 Config, EC2 Launch und Launch v2 bieten Zugriff auf zusätzliche, erweiterte Funktionen für Windows-Instances. Sie können beispielsweise Windows-System-, Sicherheits-, Anwendungs- und Internet Information Services (IIS) -Protokolle in Logs exportieren, die dann in CloudWatch Amazon-Metriken und -Alarme integriert werden können. CloudWatch Kunden können auch Skripts erstellen, die Windows-Leistungsindikatoren in CloudWatch benutzerdefinierte Amazon-Metriken exportieren.

# Amazon-EC2-Schlüsselpaare und Amazon-EC2-Instances
<a name="ec2-key-pairs"></a>

Ein Schlüsselpaar, bestehend aus einem öffentlichen Schlüssel und einem privaten Schlüssel, ist ein Satz von Sicherheitsanmeldeinformationen, mit denen Sie Ihre Identität nachweisen, wenn Sie eine Verbindung zu einer Amazon EC2-Instance herstellen. Bei Linux-Instances ermöglicht Ihnen der private Schlüssel eine sichere SSH-Verbindung zu Ihrer Instance herzustellen. Für Windows-Instances ist der private Schlüssel erforderlich, um das Administratorkennwort zu entschlüsseln, das Sie dann verwenden, um sich zu Ihrer Instance zu verbinden.

Amazon EC2 speichert den öffentlichen Schlüssel auf Ihrer Instance, und Sie speichern den privaten Schlüssel, wie im folgenden Diagramm gezeigt. Es ist wichtig, dass Sie Ihren privaten Schlüssel an einem sicheren Ort aufbewahren, da sich jeder, der Ihren privaten Schlüssel besitzt, mit Ihren Instances verbinden kann, die das Schlüsselpaar verwenden.

![\[Ein Schlüsselpaar besteht aus einem privaten Schlüssel für Ihren Computer und einem öffentlichen Schlüssel für Ihre Instance.\]](http://docs.aws.amazon.com/de_de/AWSEC2/latest/UserGuide/images/ec2-key-pair.png)


Wenn Sie eine Instance starten, können Sie [ein Schlüsselpaar angeben](ec2-instance-launch-parameters.md#liw-key-pair), sodass Sie mit einer Methode, die ein Schlüsselpaar erfordert, eine Verbindung zu Ihrer Instance herstellen können. Je nachdem, wie Sie Ihre Sicherheit verwalten, können Sie dasselbe Schlüsselpaar für alle Ihre Instances angeben oder Sie können verschiedene Schlüsselpaare angeben.

Wenn Ihre Instance zum ersten Mal gestartet wird, wird der öffentliche Schlüssel, den Sie beim Start angegeben haben, auf Ihrer Linux-Instance in einem Eintrag innerhalb von `~/.ssh/authorized_keys` platziert. Wenn Sie über SSH eine Verbindung zu Ihrer Linux-Instance herstellen, müssen Sie den privaten Schlüssel angeben, der dem öffentlichen Schlüssel entspricht, um sich anzumelden.

Weitere Informationen zum Herstellen einer Verbindung mit Ihrer EC2-Instance finden Sie unter [Herstellen einer Verbindung zu Ihrer EC2-Instance](connect.md).

**Wichtig**  
Da Amazon EC2 keine Kopie Ihres privaten Schlüssels aufbewahrt, besteht keine Möglichkeit, einen privaten Schlüssel wiederherzustellen, wenn Sie ihn verlieren. Es kann jedoch immer noch eine Möglichkeit geben, sich mit Instances zu verbinden, für die Sie den privaten Schlüssel verloren haben. Weitere Informationen finden Sie unter [Ich habe meinen privaten Schlüssel verloren. Wie kann ich eine Verbindung zu meiner Instance herstellen?](TroubleshootingInstancesConnecting.md#replacing-lost-key-pair).

Als Alternative zu Schlüsselpaaren können Sie eine Verbindung [AWS Systems Manager Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html)zu Ihrer Instance über eine interaktive browserbasierte Ein-Klick-Shell oder die AWS Command Line Interface ()AWS CLI herstellen.

**Topics**
+ [

# Ein Schlüsselpaar für Ihre AmazonEC2-Instance erstellen
](create-key-pairs.md)
+ [

# Ihre Schlüsselpaare beschreiben
](describe-keys.md)
+ [

# Löschen Ihres Schlüsselpaars
](delete-key-pair.md)
+ [

# Einen öffentlichen Schlüssels für Ihre Linux-Instance hinzufügen oder entfernen
](replacing-key-pair.md)
+ [

# Überprüfen des Fingerabdrucks Ihres Schlüsselpaars
](verify-keys.md)

# Ein Schlüsselpaar für Ihre AmazonEC2-Instance erstellen
<a name="create-key-pairs"></a>

Sie können Amazon EC2 verwenden, um Ihre Schlüsselpaare zu erstellen, oder Sie können ein Tool eines Drittanbieters verwenden, um Ihre Schlüsselpaare zu erstellen, und sie dann in Amazon EC2 importieren.

Amazon EC2 unterstützt SSH-2-RSA-Schlüssel mit 2 048 Bit für Windows- und Linux-Instances. Amazon EC2 unterstützt auch ED25519 Schlüssel für Linux-Instances.

Anweisungen zum Herstellen einer Verbindung mit Ihrer Instance nachdem Sie ein Schlüsselpaar erstellt haben finden Sie unter [Herstellen einer Verbindung zu Ihrer Linux-Instance mit SSH](connect-to-linux-instance.md) und [Herstellen einer Verbindung mit Ihrer Windows-Instance mithilfe von RDP](connecting_to_windows_instance.md).

**Topics**
+ [

## Erstellen eines Schlüsselpaars mit Amazon EC2
](#having-ec2-create-your-key-pair)
+ [

## Erstellen Sie ein key pair mit AWS CloudFormation
](#create-key-pair-cloudformation)
+ [

## Erstellen Sie ein Schlüsselpaar mit einem Drittanbieter-Tool und importieren Sie den öffentlichen Schlüssel in Amazon EC2
](#how-to-generate-your-own-key-and-import-it-to-aws)

## Erstellen eines Schlüsselpaars mit Amazon EC2
<a name="having-ec2-create-your-key-pair"></a>

Wenn Sie mit Amazon EC2 ein Schlüsselpaar erstellen, wird der öffentliche Schlüssel in Amazon EC2 gespeichert und Sie speichern den privaten Schlüssel.

Sie können bis zu 5 000 Schlüsselpaare pro Region erstellen. Erstellen Sie einen Support-Fall, um eine Erhöhung anzufordern. Weitere Informationen finden Sie unter [Erstellen eines Support-Falls](https://docs.aws.amazon.com/awssupport/latest/user/case-management.html#creating-a-support-case) im *Benutzerhandbuch von Support *.

------
#### [ Console ]

**Schlüsselpaar mit Amazon EC2 erstellen**

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

1. Wählen Sie im Navigationsbereich unter **Network & Security** die Option **Key Pairs** aus.

1. Wählen Sie **Create Key Pair (Schlüsselpaar erstellen)** aus.

1. Geben Sie unter **Name** einen aussagekräftigen Namen für das Schlüsselpaar ein. Amazon EC2 ordnet den öffentlichen Schlüssel dem Namen zu, den Sie als Schlüsselnamen angeben. Ein Schlüsselname kann bis zu 255 ASCII-Zeichen enthalten. Er darf keine führenden oder nachfolgenden Leerzeichen enthalten.

1. Wählen Sie einen für Ihr Betriebssystem geeigneten Schlüsselpaartyp aus:

   (Linux-Instances) Wählen Sie als **Schlüsselpaartyp** entweder **RSA** oder. **ED25519**

   (Windows-Instances) Wählen Sie als **Schlüsselpaartyp** die Option **RSA** aus. **ED25519**Schlüssel werden für Windows-Instanzen nicht unterstützt.

1. Wählen Sie unter **Dateiformat für den privaten Schlüssel** das Format aus, in dem der private Schlüssel gespeichert werden soll. Um den privaten Schlüssel in einem Format zu speichern, das mit OpenSSH verwendet werden kann, wählen Sie **pem**. Um den privaten Schlüssel in einem Format zu speichern, das mit PuTTY verwendet werden kann, wählen Sie **ppk**.

1. Um dem öffentlichen Schlüssel ein Tag (Markierung) hinzuzufügen, wählen Sie **Add Tag (Markierung hinzufügen)** und geben Sie den Schlüssel und den Wert für das Tag (Markierung) ein. Wiederholen Sie diesen Schritt für jeden Tag (Markierung). 

1. Wählen Sie **Create Key Pair (Schlüsselpaar erstellen)** aus.

1. Die private Schlüsseldatei wird von Ihrem Browser automatisch runtergeladen. Der Basisdateiname ist der Name, den Sie als Name des Schlüsselpaars angegeben haben und die Dateinamenserweiterung wird durch das ausgewählte Dateiformat bestimmt. Speichern Sie die Datei mit dem privaten Schlüssel an einem sicheren Ort.
**Wichtig**  
Dies ist die einzige Möglichkeit, die private Schlüsseldatei zu speichern.

1. Wenn Sie einen SSH-Kunden auf einem macOS- oder Linux-Computer verwenden möchten, um eine Verbindung zu Ihrer Linux Instance herzustellen, legen Sie mit dem folgenden Befehl die Berechtigungen für Ihre private Schlüsseldatei so fest, dass nur Sie sie lesen können.

   ```
   chmod 400 key-pair-name.pem
   ```

   Wenn Sie diese Berechtigungen nicht festlegen, können Sie unter Verwendung dieses Schlüsselpaars keine Verbindung zu Ihrer Instance herstellen. Weitere Informationen finden Sie unter [Fehler: Ungeschützte private Schlüsseldatei](TroubleshootingInstancesConnecting.md#troubleshoot-unprotected-key).

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

**Schlüsselpaar mit Amazon EC2 erstellen**

1. Verwenden Sie den [https://docs.aws.amazon.com/cli/latest/reference/ec2/create-key-pair.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-key-pair.html)-Befehl wie folgt, um das Schlüsselpaar zu generieren und den privaten Schlüssel in einer `.pem`-Datei zu speichern. Die Option `--query` druckt das private Schlüsselmaterial in die Ausgabe. Die Option `--output` speichert das private Schlüsselmaterial in die angegebene Datei. Die Erweiterung sollte je nach Schlüsselformat entweder `.pem` oder `.ppk` lauten. Der private Schlüssel kann einen Namen haben, der sich vom Namen des öffentlichen Schlüssels unterscheidet. Verwenden Sie jedoch denselben Namen, um die Verwendung zu erleichtern.

   ```
   aws ec2 create-key-pair \
       --key-name my-key-pair \
       --key-type rsa \
       --key-format pem \
       --query "KeyMaterial" \
       --output text > my-key-pair.pem
   ```

1. Wenn Sie einen SSH-Kunden auf einem macOS- oder Linux-Computer verwenden möchten, um eine Verbindung zu Ihrer Linux Instance herzustellen, legen Sie mit dem folgenden Befehl die Berechtigungen für Ihre private Schlüsseldatei so fest, dass nur Sie sie lesen können.

   ```
   chmod 400 key-pair-name.pem
   ```

   Wenn Sie diese Berechtigungen nicht festlegen, können Sie unter Verwendung dieses Schlüsselpaars keine Verbindung zu Ihrer Instance herstellen. Weitere Informationen finden Sie unter [Fehler: Ungeschützte private Schlüsseldatei](TroubleshootingInstancesConnecting.md#troubleshoot-unprotected-key).

------
#### [ PowerShell ]

**Schlüsselpaar mit Amazon EC2 erstellen**  
Verwenden Sie das cmdlet [https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2KeyPair.html](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2KeyPair.html) wie folgt, um den Schlüssel zu generieren und diesen in einer `.pem`- oder `.ppk`-Datei zu speichern. Das cmdlet **Out-File** speichert das private Schlüsselmaterial in einer Datei mit der angegebenen Erweiterung. Die Erweiterung sollte je nach Schlüsselformat entweder `.pem` oder `.ppk` lauten. Der private Schlüssel kann einen Namen haben, der sich vom Namen des öffentlichen Schlüssels unterscheidet. Verwenden Sie jedoch denselben Namen, um die Verwendung zu erleichtern.

```
(New-EC2KeyPair `
    -KeyName "my-key-pair" `
    -KeyType "rsa" `
    -KeyFormat "pem").KeyMaterial | Out-File -Encoding ascii -FilePath C:\path\my-key-pair.pem
```

------

## Erstellen Sie ein key pair mit AWS CloudFormation
<a name="create-key-pair-cloudformation"></a>

Wenn Sie mit ein neues key pair erstellen CloudFormation, wird der private Schlüssel im AWS Systems Manager Parameter Store gespeichert. Der Parametername hat das folgende Format:

```
/ec2/keypair/key_pair_id
```

Weitere Informationen finden Sie unter [AWS Systems Manager -Parameterspeicher](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) im *Benutzerhandbuch für AWS Systems Manager *.

**Um ein key pair zu erstellen mit CloudFormation**

1. Geben Sie die [AWS::EC2::KeyPair](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-keypair.html)Ressource in Ihrer Vorlage an.

   ```
   Resources:
     NewKeyPair:
       Type: 'AWS::EC2::KeyPair'
       Properties: 
         KeyName: new-key-pair
   ```

1. Verwenden Sie den [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-key-pairs.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-key-pairs.html)-Befehl wie folgt, um die ID des Schlüsselpaars abzurufen.

   ```
   aws ec2 describe-key-pairs --filters Name=key-name,Values=new-key-pair --query KeyPairs[*].KeyPairId --output text
   ```

   Es folgt eine Beispielausgabe.

   ```
   key-05abb699beEXAMPLE
   ```

1. Verwenden Sie den [https://docs.aws.amazon.com/cli/latest/reference/ssm/get-parameter.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/get-parameter.html)-Befehl wie folgt, um den Parameter für Ihren Schlüssel abzurufen und das Schlüsselmaterial in einer `.pem`-Datei zu speichern.

   ```
   aws ssm get-parameter --name /ec2/keypair/key-05abb699beEXAMPLE --with-decryption --query Parameter.Value --output text > new-key-pair.pem
   ```

**Erforderliche IAM-Berechtigungen**

Um Parameter Store-Parameter in Ihrem Namen verwalten CloudFormation zu können, muss die IAM-Rolle, die von CloudFormation oder Ihrem Benutzer übernommen wurde, über die folgenden Berechtigungen verfügen:
+ `ssm:PutParameter` – Gewährt die Berechtigung zum Erstellen eines Parameters für das private Schlüsselmaterial.
+ `ssm:DeleteParameter` – Gewährt die Berechtigung zum Löschen des Parameters, der das private Schlüsselmaterial gespeichert hat. Diese Berechtigung ist erforderlich, unabhängig davon, ob das Schlüsselpaar importiert oder von CloudFormation erstellt wurde.

Wenn ein key pair CloudFormation gelöscht wird, das von einem Stack erstellt oder importiert wurde, führt es eine Berechtigungsprüfung durch, um festzustellen, ob Sie berechtigt sind, Parameter zu löschen, obwohl ein Parameter nur CloudFormation erstellt wird, wenn er ein key pair erstellt, nicht, wenn er ein key pair importiert. CloudFormation testet anhand eines erfundenen Parameternamens, der mit keinem Parameter in Ihrem Konto übereinstimmt, die erforderliche Berechtigung. Daher wird in der `AccessDeniedException`-Fehlermeldung möglicherweise ein fiktiver Parametername angezeigt.

## Erstellen Sie ein Schlüsselpaar mit einem Drittanbieter-Tool und importieren Sie den öffentlichen Schlüssel in Amazon EC2
<a name="how-to-generate-your-own-key-and-import-it-to-aws"></a>

Anstatt Amazon EC2 zum Erstellen eines Schlüsselpaars zu verwenden, können Sie mit einem Drittanbieter-Tool ein RSA- oder ED25519-Schlüsselpaar erstellen und dann den öffentlichen Schlüssel in Amazon EC2 importieren.

**Anforderungen für Schlüsselpaare**
+ Unterstützte Typen:
  + (Linux und Windows) RSA
  + (Nur Linux) ED25519
**Anmerkung**  
ED25519 Schlüssel werden für Windows-Instanzen nicht unterstützt.
  + Amazon EC2 akzeptiert keine DSA-Schlüssel.
+ Unterstützte Formate
  + OpenSSH-Format für öffentliche Schlüssel (Für Linux das Format in `~/.ssh/authorized_keys`)
  + (Nur Linux) Wenn Sie eine Verbindung über SSH herstellen und gleichzeitig die EC2 Instance Connect API verwenden, wird das SSH2 Format ebenfalls unterstützt.
  + Das private Schlüsseldateiformat von SSH muss PEM oder PPK sein
  + (Nur RSA) Base64-codiertes DER-Format
  + (Nur RSA) SSH-Dateiformat für öffentliche Schlüssel wie in [RFC 4716](https://www.ietf.org/rfc/rfc4716.txt) angegeben
+ Die unterstützten Längen sind:
  + 1 024, 2 048 und 4 096.
  + (Nur Linux) Bei einer Verbindung via SSH und Verwendung der EC2-Instance-Connect-API werden die Längen 2 048 und 4 096 unterstützt.

**So erstellen Sie ein Schlüsselpaar mit einem Tool eines Drittanbieters**

1. Generieren Sie ein Schlüsselpaar mit einem Tool eines Drittanbieters Ihrer Wahl. Beispiel: Sie können **ssh-keygen** (ein mit der standardmäßigen OpenSSH-Installation bereitgestelltes Tool) verwenden. Alternativ bieten Java, Ruby, Python und viele andere Programmiersprachen Standardbibliotheken, die Sie zum Erstellen eines Schlüsselpaars verwenden können.
**Wichtig**  
Der private Schlüssel muss im PEM – oder PPK-Format vorliegen. Verwenden Sie zum Beispiel `ssh-keygen -m PEM`, um den OpenSSH-Schlüssel im PEM-Format zu generieren.

1. Speichern Sie den öffentlichen Schlüssel in einer lokalen Datei. Beispielsweise `~/.ssh/my-key-pair.pub` (Linux, macOS) oder `C:\keys\my-key-pair.pub` (Windows). Die Dateinamenerweiterung für diese Datei ist nicht wichtig.

1. Speichern Sie den privaten Schlüssel in einer lokalen Datei mit der Erweiterung `.pem` oder `.ppk`. Beispielsweise `~/.ssh/my-key-pair.pem` oder `~/.ssh/my-key-pair.ppk` (Linux, macOS) oder `C:\keys\my-key-pair.pem` oder `C:\keys\my-key-pair.ppk` (Windows). Die Dateierweiterung ist wichtig, da Sie je nach dem Tool, das Sie für die Verbindung mit Ihrer Instance verwenden, ein bestimmtes Dateiformat benötigen. OpenSSH benötigt eine `.pem`-Datei, während PuTTY eine `.ppk`-Datei benötigt.
**Wichtig**  
Speichern Sie die Datei mit dem privaten Schlüssel an einem sicheren Ort. Sie müssen den Namen für Ihren öffentlichen Schlüssel beim Starten einer Instance angeben. Der entsprechende private Schlüssel muss jedes Mal angegeben werden, wenn Sie eine Verbindung mit der Instance herstellen.

Nachdem Sie das Schlüsselpaar erstellt haben, verwenden Sie eine der folgenden Methoden, um den öffentlichen Schlüssel in Amazon EC2 zu importieren.

------
#### [ Console ]

**Öffentlichen Schlüssel in Amazon EC2 importieren**

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

1. Wählen Sie im Navigationsbereich die Option **Key Pairs** aus.

1. Wählen Sie **Import Key Pair (Schlüsselpaar importieren)** aus.

1. Geben Sie unter **Name** einen aussagekräftigen Namen für den öffentlichen Schlüssel ein. Der Name kann bis zu 255 ASCII-Zeichen enthalten. Er darf keine führenden oder nachfolgenden Leerzeichen enthalten.
**Anmerkung**  
Wenn Sie über die EC2-Konsole eine Verbindung zu Ihrer Instance herstellen, schlägt die Konsole diesen Namen für den Namen Ihrer privaten Schlüsseldatei vor.

1. Wählen Sie entweder **Browse (Durchsuchen)**, um zu Ihrem öffentlichen Schlüssel zu navigieren und ihn auszuwählen oder fügen Sie den Inhalt Ihres öffentlichen Schlüssels in das Feld **Public key contents (Inhalt des öffentlichen Schlüssels)** ein.

1. Wählen Sie **Import Key Pair (Schlüsselpaar importieren)** aus.

1. Stellen Sie sicher, dass der importierte öffentliche Schlüssel in der Liste der Schlüsselpaare angezeigt wird.

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

**Öffentlichen Schlüssel in Amazon EC2 importieren**  
Verwenden Sie den Befehl [https://docs.aws.amazon.com/cli/latest/reference/ec2/import-key-pair.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/import-key-pair.html).

```
aws ec2 import-key-pair \
    --key-name my-key-pair \
    --public-key-material fileb://path/my-key-pair.pub
```

**So überprüfen Sie, ob das Schlüsselpaar erfolgreich importiert wurde**  
Verwenden Sie den Befehl [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-key-pairs.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-key-pairs.html).

```
aws ec2 describe-key-pairs --key-names my-key-pair
```

------
#### [ PowerShell ]

**Öffentlichen Schlüssel in Amazon EC2 importieren**  
Verwenden Sie das cmdlet [https://docs.aws.amazon.com/powershell/latest/reference/items/Import-EC2KeyPair.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Import-EC2KeyPair.html).

```
$publickey=[Io.File]::ReadAllText("C:\Users\TestUser\.ssh\id_rsa.pub")
Import-EC2KeyPair `
    -KeyName my-key-pair `
    -PublicKey $publickey
```

**So überprüfen Sie, ob das Schlüsselpaar erfolgreich importiert wurde**  
Verwenden Sie das cmdlet [https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2KeyPair.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2KeyPair.html).

```
Get-EC2KeyPair -KeyName my-key-pair
```

------

# Ihre Schlüsselpaare beschreiben
<a name="describe-keys"></a>

Sie können die Schlüsselpaare beschreiben, die Sie in Amazon EC2 gespeichert haben. Sie können auch das Material zum öffentlichen Schlüssel abrufen und den öffentlichen Schlüssel identifizieren, der beim Start angegeben wurde.

**Topics**
+ [

## Ihre Schlüsselpaare beschreiben
](#describe-public-key)
+ [

## Abrufen des Materials zum öffentlichen Schlüssel
](#retrieving-the-public-key)
+ [

## Identifizieren des öffentlichen Schlüssels, der beim Start angegeben wurde
](#identify-key-pair-specified-at-launch)

## Ihre Schlüsselpaare beschreiben
<a name="describe-public-key"></a>

Sie können die folgenden Informationen zu Ihren öffentlichen Schlüsseln anzeigen, die in Amazon EC2 gespeichert sind: Name des öffentlichen Schlüssels, ID, Schlüsseltyp, Fingerabdruck, Material zum öffentlichen Schlüssel, Datum und Uhrzeit (UTC) der Schlüsselerstellung durch von Amazon EC2 (wenn der Schlüssel von einem Drittanbieter-Tool erstellt wurde, dann ist es das Datum und Uhrzeit, zu der der Schlüssel in Amazon EC2 importiert wurde) sowie alle Tags, die mit dem öffentlichen Schlüssel in Verbindung stehen sind.

------
#### [ Console ]

**So zeigen Sie Informationen zu Ihren Schlüsselpaaren an**

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

1. Wählen Sie im linken Navigationsbereich **Key Pairs** (Schlüsselpaare) aus.

1. Sie können Informationen zu jedem öffentlichen Schlüssel in der Tabelle **Key pairs** (Schlüsselpaare) anzeigen.  
![\[Tabelle mit Schlüsselpaaren.\]](http://docs.aws.amazon.com/de_de/AWSEC2/latest/UserGuide/images/key-pairs-describe-console.png)

1. Um die Tags eines öffentlichen Schlüssels anzuzeigen, aktivieren Sie das Kontrollkästchen neben dem Schlüssel und klicken dann auf **Aktionen** und **Tags verwalten**.

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

**So zeigen Sie Informationen zu einem Schlüsselpaar an**  
Verwenden Sie den Befehl [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-key-pairs.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-key-pairs.html).

```
aws ec2 describe-key-pairs --key-names key-pair-name
```

------
#### [ PowerShell ]

**So zeigen Sie Informationen zu einem Schlüsselpaar an**  
Verwenden Sie das cmdlet [https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2KeyPair.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2KeyPair.html).

```
Get-EC2KeyPair -KeyName key-pair-name
```

------

## Abrufen des Materials zum öffentlichen Schlüssel
<a name="retrieving-the-public-key"></a>

Sie können das öffentliche Schlüsselmaterial für Ihre Schlüsselpaare abrufen. Es folgt ein Beispiel für einen öffentlichen Schlüssel. Beachten Sie, dass zur besseren Lesbarkeit Zeilenumbrüche hinzugefügt wurden.

```
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V
hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr
lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ
qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb
BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE
```

------
#### [ Private key ]

**So rufen Sie das öffentliche Schlüsselmaterial mit ssh-keygen ab (Linux)**  
Verwenden Sie auf Ihrem lokalen Linux- oder macOS-Computer den Befehl **ssh-keygen**. Geben Sie den Pfad an, in den Sie Ihren privaten Schlüssel heruntergeladen haben (die `.pem`-Datei).

```
ssh-keygen -y -f /path_to_key_pair/my-key-pair.pem
```

Wenn der Befehl **ssh-keygen** fehlschlägt, führen Sie den Befehl **chmod** aus, um sicherzustellen, dass die private Schlüsseldatei über die erforderlichen Berechtigungen verfügt.

```
chmod 400 key-pair-name.pem
```

**Um das Material mit öffentlichen Schlüsseln mit Pu TTYgen (Windows) abzurufen**  
Starten Sie Pu auf Ihrem lokalen Windows-ComputerTTYgen. Wählen Sie **Laden** aus. Wählen Sie die private `.ppk`- oder `.pem`-Schlüsseldatei aus. Pu TTYgen zeigt den öffentlichen Schlüssel unter **Öffentlicher Schlüssel zum Einfügen in die OpenSSH-Datei** authorized\$1keys an. Sie können den öffentlichen Schlüssel auch anzeigen, indem Sie **Save public key (Öffentlichen Schlüssel speichern)** wählen, einen Namen für die Datei angeben, diese speichern und dann öffnen.

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

**So rufen Sie das öffentliche Schlüsselmaterial ab**  
Verwenden Sie den folgenden Befehl und geben Sie die Option an. [describe-key-pairs](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-key-pairs.html)`--include-public-key`

```
aws ec2 describe-key-pairs \
    --key-names key-pair-name \
    --include-public-key \
    --query "KeyPairs[].PublicKey"
```

------
#### [ PowerShell ]

**So rufen Sie das öffentliche Schlüsselmaterial ab**  
Verwenden Sie das cmdlet [Get-EC2KeyPair](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2KeyPair.html).

```
(Get-EC2KeyPair -KeyName key-pair-name -IncludePublicKey $true).PublicKey
```

------
#### [ IMDSv2 ]

**Linux**  
Führen Sie die folgenden Befehle in Ihrer Linux-Instance aus.

```
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
&& curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key
```

**Windows**  
Führen Sie die folgenden cmdlets in Ihrer Windows-Instance aus.

```
[string]$token = Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} -Method PUT -Uri http://169.254.169.254/latest/api/token
```

```
Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token" = $token} -Method GET -Uri http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key
```

------
#### [ IMDSv1 ]

**Linux**  
Führen Sie den folgenden Befehl in Ihrer Linux-Instance aus.

```
curl http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key
```

**Windows**  
Führen Sie das folgende cmdlet in Ihrer Windows-Instance aus.

```
Invoke-RestMethod -uri  http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key
```

------

## Identifizieren des öffentlichen Schlüssels, der beim Start angegeben wurde
<a name="identify-key-pair-specified-at-launch"></a>

Wenn Sie beim Starten einer Instance einen öffentlichen Schlüssel angeben, wird der Name des öffentlichen Schlüssels von der Instance aufgezeichnet. Der öffentliche Schlüsselname, der für eine Instance berichtet wird, ändert sich nicht, auch wenn Sie den öffentlichen Schlüssel in der Instance ändern oder öffentliche Schlüssel hinzufügen.

------
#### [ Console ]

**So identifizieren Sie den öffentlichen Schlüssel, der beim Start der Instance angegeben wurde**

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

1. Wählen Sie im Navigationsbereich **Instances** aus.

1. Wählen Sie die Instance aus.

1. Suchen Sie auf der Registerkarte **Details** unter **Instance-Details** nach **Beim Start zugewiesenes Schlüsselpaar**.

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

**So identifizieren Sie den öffentlichen Schlüssel, der beim Start der Instance angegeben wurde**  
Verwenden Sie den folgenden [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html)-Befehl.

```
aws ec2 describe-instances \
    --instance-id i-1234567890abcdef0 \
    --query "Reservations[].Instances[].KeyName" \
    --output text
```

Es folgt eine Beispielausgabe.

```
key-pair-name
```

------
#### [ PowerShell ]

**So identifizieren Sie den öffentlichen Schlüssel, der beim Start der Instance angegeben wurde**  
Verwenden Sie das cmdlet [Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html).

```
(Get-EC2Instance -InstanceId i-1234567890abcdef0).Instances | Select KeyName
```

Es folgt eine Beispielausgabe.

```
KeyName
-------
key-pair-name
```

------

# Löschen Ihres Schlüsselpaars
<a name="delete-key-pair"></a>

Sie können ein Schlüsselpaar löschen, wodurch der öffentliche Schlüssel entfernt wird, der in Amazon EC2 gespeichert ist. Durch das Löschen eines Schlüsselpaars wird der entsprechende private Schlüssel nicht gelöscht.

Wenn Sie einen öffentlichen Schlüssel mithilfe der folgenden Methoden löschen, wird lediglich der öffentliche Schlüssel gelöscht, der in Amazon EC2 gespeichert wurde, als Sie das Schlüsselpaar [erstellt](create-key-pairs.md#having-ec2-create-your-key-pair) oder [importiert](create-key-pairs.md#how-to-generate-your-own-key-and-import-it-to-aws) haben. Durch das Löschen eines öffentlichen Schlüssels wird der öffentliche Schlüssel nicht aus Instances entfernt, zu denen Sie ihn hinzugefügt haben, entweder beim Starten der Instance oder später. Außerdem wird der private Schlüssel dabei nicht auf Ihrem lokalen Computer gelöscht. Sie können weiterhin Verbindungen zu Instances herstellen, die Sie mit einem öffentlichen Schlüssel gestartet haben, den Sie aus Amazon EC2 gelöscht haben, solange Sie noch die Datei mit dem privaten Schlüssel (`.pem`) haben.

**Wichtig**  
Wenn Sie eine Auto-Scaling-Gruppe verwenden (z. B. in einer Elastic-Beanstalk-Umgebung), stellen Sie sicher, dass der öffentliche Schlüssel, den Sie löschen, nicht in einer verknüpften Startvorlage oder Startkonfiguration angegeben ist. Wenn Amazon EC2 Auto Scaling eine fehlerhafte Instance erkennt, startet es eine Ersatz-Instance. Der Start der Instance schlägt jedoch fehl, wenn der öffentliche Schlüssel nicht gefunden werden kann. Weitere Informationen finden Sie unter [Startvorlagen](https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-templates.html) im *Benutzerhandbuch zu Amazon EC2 Auto Scaling*.

------
#### [ Console ]

**Öffentlichen Schlüssel in Amazon EC2 löschen**

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

1. Wählen Sie im Navigationsbereich die Option **Key Pairs** aus.

1. Wählen Sie das zu löschende Schlüsselpaar aus und wählen Sie **Actions** (Aktionen), **Delete** (Löschen).

1. Geben Sie in das Bestätigungsfeld `Delete` ein und wählen Sie dann **Delete (Löschen)**.

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

**Öffentlichen Schlüssel in Amazon EC2 löschen**  
Verwenden Sie den Befehl [https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-key-pair.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-key-pair.html).

```
aws ec2 delete-key-pair --key-name my-key-pair
```

------
#### [ PowerShell ]

**Öffentlichen Schlüssel in Amazon EC2 löschen**  
Verwenden Sie das cmdlet [https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2KeyPair.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2KeyPair.html).

```
Remove-EC2KeyPair -KeyName my-key-pair
```

------

# Einen öffentlichen Schlüssels für Ihre Linux-Instance hinzufügen oder entfernen
<a name="replacing-key-pair"></a>


|  | 
| --- |
| Wenn Sie einen privaten Schlüssel verlieren, verlieren Sie den Zugriff auf alle Instances, die das Schlüsselpaar verwenden. Weitere Informationen zum Herstellen einer Verbindung zu einer Instance mit einem anderen Schlüsselpaar als dem, das Sie beim Start angegeben haben, finden Sie unter [Ich habe meinen privaten Schlüssel verloren](TroubleshootingInstancesConnecting.md#replacing-lost-key-pair). | 

Sie können das [Schlüsselpaar beim Starten einer Instance angeben](ec2-instance-launch-parameters.md#liw-key-pair). Wenn Sie beim Start ein Schlüsselpaar angeben, wird das Material zum öffentlichen Schlüssel, wenn Ihre Instance zum ersten Mal hochfährt, auf Ihrer Linux-Instance in einem Eintrag innerhalb von `~/.ssh/authorized_keys` platziert. Wenn Sie erstmalig über SSH eine Verbindung zu Ihrer Linux-Instance herstellen, müssen Sie den Standardbenutzer und den privaten Schlüssel angeben, der dem in Ihrer Linux-Instance gespeicherten öffentlichen Schlüssel entspricht.

Nachdem Sie eine Verbindung zur Instance hergestellt haben, können Sie das Schlüsselpaar ändern, das für den Zugriff auf das Standard-Systemkonto der Instance verwendet wird, indem Sie einen neuen öffentlichen Schlüssel für die Instance hinzufügen oder den öffentlichen Schlüssel für die Instance ersetzen (Löschen des vorhandenen öffentlichen Schlüssels und Hinzufügen eines neuen Schlüssels). Sie können auch alle öffentlichen Schlüssel aus einer Instance entfernen.

Sie können aus den folgenden Gründen ein Schlüsselpaar hinzufügen oder ersetzen:
+ Wenn ein Benutzer in Ihrer Organisation mithilfe eines separaten Schlüsselpaars Zugriff auf den Systembenutzer benötigt, können Sie den öffentlichen Schlüssel zu Ihrer Instance hinzufügen.
+ Wenn ein Benutzer eine Kopie des privaten Schlüssels (`.pem`-Datei) besitzt und Sie verhindern möchten, dass er eine Verbindung zu Ihrer Instance herstellt (beispielsweise weil er Ihre Organisation verlassen hat), können Sie den öffentlichen Schlüssel für die Instance löschen und durch einen neuen ersetzen.
+ Wenn Sie ein Linux-AMI von einer Instance erstellen, wird das Material zum öffentlichen Schlüssel von der Instance in das AMI kopiert. Wenn Sie eine Instance über das AMI starten, enthält die neue Instance den öffentlichen Schlüssel aus der ursprünglichen Instance. Um zu verhindern, dass ein Benutzer, der im Besitz des privaten Schlüssels ist, eine Verbindung zur neuen Instance herstellen kann, entfernen Sie den öffentlichen Schlüssel aus der ursprünglichen Instance, *bevor* Sie das AMI erstellen.

Verwenden Sie die folgenden Verfahren, um das Schlüsselpaar für den Standardbenutzer zu ändern, z. B. `ec2-user`. Informationen zum Hinzufügen von Benutzern zu Ihrer Instance finden Sie in der Dokumentation des Betriebssystems Ihrer Instance.

**So fügen Sie ein Schlüsselpaar hinzu oder ersetzen es**

1. Erstellen Sie ein neues Schlüsselpaar mit [der Amazon EC2-Konsole](create-key-pairs.md#having-ec2-create-your-key-pair) oder einem [Tool eines Drittanbieters](create-key-pairs.md#how-to-generate-your-own-key-and-import-it-to-aws).

1. Rufen Sie den öffentlichen Schlüssel über Ihr neues Schlüsselpaar ab. Weitere Informationen finden Sie unter [Abrufen des Materials zum öffentlichen Schlüssel](describe-keys.md#retrieving-the-public-key).

1. [Verbinden Sie sich mit der Instance](connect-to-linux-instance.md).

1. Öffnen Sie die `.ssh/authorized_keys`-Datei in der Instance in einem Texteditor Ihrer Wahl. Fügen Sie die öffentlichen Schlüsselinformationen aus Ihrem neuen Schlüsselpaar unter den vorhandenen öffentlichen Schlüsselinformationen ein und speichern Sie die Datei.

1. Trennen Sie die Verbindung zur Instance. Testen Sie, ob Sie mit dem privaten Schlüssel aus dem neuen Schlüsselpaar eine Verbindung zur Instance herstellen können.

1. Wenn Sie Auto Scaling, EC2-Flotte oder eine Startvorlage zum Starten Ihrer Instances verwenden, überprüfen Sie, ob das Schlüsselpaar, das Sie ersetzen, in Ihrer Startvorlage oder Startkonfiguration angegeben ist. Andernfalls schlagen Instance-Starts fehl.

1. (Optional) Falls Sie ein vorhandenes Schlüsselpaar ersetzen, stellen Sie eine Verbindung zu Ihrer Instance her und löschen Sie die Informationen zum öffentlichen Schlüssel für Ihr ursprüngliches Schlüsselpaar aus der `.ssh/authorized_keys`-Datei.

**Öffentlichen Schlüssel von einer Instance entfernen**

1. [Verbinden Sie sich mit der Instance](connect-to-linux-instance.md).

1. Öffnen Sie die `.ssh/authorized_keys`-Datei in der Instance in einem Texteditor Ihrer Wahl. Löschen Sie die Informationen zum öffentlichen Schlüssel und speichern Sie die Datei.

**Warnung**  
Wenn Sie alle öffentlichen Schlüssel von einer Instance entfernen und die Verbindung zur Instance trennen, können Sie keine neue Verbindung zur Instance herstellen – es sei denn, Sie haben eine alternative Möglichkeit zur Anmeldung konfiguriert.

# Überprüfen des Fingerabdrucks Ihres Schlüsselpaars
<a name="verify-keys"></a>

Um den Fingerabdruck Ihres key pair zu überprüfen, vergleichen Sie den Fingerabdruck, der auf der Seite **Schlüsselpaare** in der Amazon EC2 EC2-Konsole angezeigt oder vom [describe-key-pairs](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-key-pairs.html)Befehl zurückgegeben wird, mit dem Fingerabdruck, den Sie mit dem privaten Schlüssel auf Ihrem lokalen Computer generieren. Diese Fingerabdrücke sollten übereinstimmen.

Wenn Amazon EC2 einen Fingerabdruck berechnet, wird dem Fingerabdruck möglicherweise Padding (mit `=`-Zeichen) angefügt. Andere Tools wie etwa **ssh-keygen** lassen dieses Padding unter Umständen weg.

Wenn Sie versuchen, den Fingerabdruck Ihrer EC2-Instance und nicht den Fingerabdruck Ihres Schlüsselpaars zu überprüfen, lesen Sie den Abschnitt [Abrufen des Instance-Fingerabdrucks](connection-prereqs-general.md#connection-prereqs-fingerprint).

## So werden die Fingerabdrücke berechnet
<a name="how-ec2-key-fingerprints-are-calculated"></a>

Amazon EC2 verwendet verschiedene Hash-Funktionen, um die Fingerabdrücke für RSA- und ED25519-Schlüsselpaare zu berechnen. Darüber hinaus berechnet Amazon EC2 für RSA-Schlüsselpaare die Fingerabdrücke mit unterschiedlichen Hash-Funktionen unterschiedlich, je nachdem, ob das Schlüsselpaar von Amazon EC2 erstellt oder in Amazon EC2 importiert wurde.

In der folgenden Tabelle sind die Hash-Funktionen aufgeführt, die zur Berechnung der Fingerabdrücke für RSA- und ED25519 -Schlüsselpaare verwendet werden, die von Amazon EC2 erstellt und in Amazon EC2 importiert werden.


**(Linux-Instances) Hash-Funktion zur Berechnung von Fingerabdrücken**  

| Schlüsselpaar-Quelle | RSA-Schlüsselpaare (Windows und Linux) | ED25519 Schlüsselpaare (Linux) | 
| --- | --- | --- | 
| Erstellt von Amazon EC2 | SHA-1 | SHA-256 | 
| Importiert in Amazon EC2 | MD5¹ | SHA-1 | 

¹ Falls Sie einen öffentlichen RSA-Schlüssel in Amazon EC2 importieren, wird der Fingerabdruck mit einer MD5-Hash-Funktion berechnet. Dies gilt unabhängig davon, wie Sie das Schlüsselpaar erstellt haben, z. B. durch Verwendung eines Drittanbieter-Tools oder durch Generieren eines neuen öffentlichen Schlüssels aus einem vorhandenen privaten Schlüssel, der mit Amazon EC2 erstellt wurde.

## Bei Verwendung des gleichen Schlüsselpaars in verschiedenen Regionen
<a name="when-using-same-key-pair-in-different-regions"></a>

Wenn Sie dasselbe key pair verwenden möchten, um eine Verbindung zu Instances in verschiedenen Instanzen herzustellen AWS-Regionen, müssen Sie den öffentlichen Schlüssel in alle Regionen importieren, in denen Sie ihn verwenden werden. Falls Sie Amazon EC2 zum Erstellen des Schlüsselpaars verwenden, können Sie [Abrufen des Materials zum öffentlichen Schlüssel](describe-keys.md#retrieving-the-public-key), damit Sie den öffentlichen Schlüssel in die anderen Regionen importieren können..

**Anmerkung**  
Beachten Sie, dass die importierten öffentlichen Schlüssel einen anderen Fingerabdruck haben als der ursprüngliche öffentliche Schlüssel, wenn Sie ein RSA-Schlüsselpaar mit Amazon EC2 erstellen und dann einen öffentlichen Schlüssel aus dem privaten Schlüssel von Amazon EC2 generieren. Dies liegt daran, dass der Fingerabdruck des ursprünglichen RSA-Schlüssels, der mit Amazon EC2 erstellt wurde, mithilfe einer SHA-1-Hash-Funktion berechnet wird, während der Fingerabdruck der importierten RSA-Schlüssel mithilfe einer Hash-Funktion berechnet wird. MD5 
Bei ED25519-Schlüsselpaaren sind die Fingerabdrücke identisch, egal ob sie von Amazon EC2 erstellt oder in Amazon EC2 importiert wurden, da dieselbe SHA-256-Hash-Funktion zur Berechnung des Fingerabdrucks verwendet wird.

## Generieren eines Fingerabdrucks aus dem privaten Schlüssel
<a name="generate-fingerprint-from-private-key"></a>

Generieren Sie mit einem der folgenden Befehle einen Fingerabdruck aus dem privaten Schlüssel auf Ihrem lokalen Computer.

Wenn Sie einen lokalen Windows-Computer verwenden, können Sie die folgenden Befehle mit dem Windows-Subsystem für Linux (WSL) ausführen. Installieren Sie WSL und eine Linux-Distribution mithilfe der Anleitung im [Installationshandbuch für Linux unter Windows mit WSL](https://learn.microsoft.com/en-us/windows/wsl/install). Mit dem in der Anleitung genannten Beispiel wird die Ubuntu-Distribution von Linux installiert, Sie können jedoch jede beliebige Distribution installieren. Sie werden zum Neustart Ihres Computers aufgefordert, damit die Änderungen wirksam werden.
+ **Wenn Sie das Schlüsselpaar mit Amazon EC2 erstellt haben**

  Verwenden Sie die OpenSSL-Tools, um einen Fingerabdruck zu generieren, wie in den folgenden Beispielen gezeigt.

  Für RSA-Schlüsselpaare:

  ```
  openssl pkcs8 -in path_to_private_key -inform PEM -outform DER -topk8 -nocrypt | openssl sha1 -c
  ```

  (Linux-Instances) Für Schlüsselpaare: ED25519 

  ```
  ssh-keygen -l -f path_to_private_key
  ```
+ **(Nur RSA-Schlüsselpaare) Falls Sie den öffentlichen Schlüssel in Amazon EC2 importiert haben**

  Dieses Verfahren können Sie unabhängig davon verwenden, wie Sie das Schlüsselpaar erstellt haben, z. B. durch Verwendung eines Drittanbieter-Tools oder durch Generieren eines neuen öffentlichen Schlüssels aus einem vorhandenen privaten Schlüssel, der mit Amazon EC2 erstellt wurde.

  Verwenden Sie die OpenSSL-Tools, um einen Fingerabdruck zu generieren, wie im folgenden Beispiel gezeigt.

  ```
  openssl rsa -in path_to_private_key -pubout -outform DER | openssl md5 -c
  ```
+ **Wenn Sie ein OpenSSH-Schlüsselpaar mit OpenSSH 7.8 oder höher erstellt und den öffentlichen Schlüssel in Amazon EC2 importiert haben**

  Verwenden Sie **ssh-keygen**, um einen Fingerabdruck zu generieren, wie in den folgenden Beispielen gezeigt.

  Für RSA-Schlüsselpaare:

  ```
  ssh-keygen -ef path_to_private_key -m PEM | openssl rsa -RSAPublicKey_in -outform DER | openssl md5 -c
  ```

  (Linux-Instanzen) Für ED25519 Schlüsselpaare:

  ```
  ssh-keygen -l -f path_to_private_key
  ```

# Amazon-EC2-Sicherheitsgruppen für ihren EC2-Instances
<a name="ec2-security-groups"></a>

Eine *Sicherheitsgruppe* dient als virtuelle Firewall für Ihre EC2-Instances zur Steuerung von ein- und ausgehendem Datenverkehr. Eingehende Regeln steuern den eingehenden Datenverkehr zu Ihrer Instance und ausgehende Regeln steuern den ausgehenden Datenverkehr von Ihrer Instance. Wenn Sie eine Instance starten, können Sie eine oder mehrere Sicherheitsgruppen angeben. Wenn Sie keine Sicherheitsgruppe angeben, verwendet Amazon EC2 die Standard-Sicherheitsgruppe für die VPC. Nach dem Start einer Instance können Sie deren Sicherheitsgruppen nicht mehr ändern.

Sicherheit ist eine gemeinsame Verantwortung zwischen Ihnen AWS und Ihnen. Weitere Informationen finden Sie unter[Sicherheit in Amazon EC2](ec2-security.md). AWS stellt Sicherheitsgruppen als eines der Tools zum Schutz Ihrer Instances bereit. Sie müssen sie entsprechend Ihren Sicherheitsanforderungen konfigurieren. Wenn Sie Anforderungen haben, die von Sicherheitsgruppen nicht vollständig erfüllt werden, können Sie zusätzlich zur Verwendung von Sicherheitsgruppen eine eigene Firewall in jeder Ihrer Instances einrichten.

**Preisgestaltung**  
Für die Nutzung von Sicherheitsgruppen fallen keine zusätzlichen Gebühren an.

**Topics**
+ [

## -Übersicht
](#security-group-basics)
+ [

# Erstellen einer Sicherheitsgruppe für Ihre Amazon-EC2-Instance
](creating-security-group.md)
+ [

# Die Sicherheitsgruppen für Ihre Amazon-EC2-Instance ändern
](changing-security-group.md)
+ [

# Eine Amazon EC2-Sicherheitsgruppe löschen
](deleting-security-group.md)
+ [

# Verbindungsverfolgung von Amazon-EC2-Sicherheitsgruppen
](security-group-connection-tracking.md)
+ [

# Sicherheitsgruppenregeln für verschiedene Anwendungsfälle
](security-group-rules-reference.md)

## -Übersicht
<a name="security-group-basics"></a>

Sie können jede Instance mehreren Sicherheitsgruppen zuordnen, und Sie können jede Sicherheitsgruppe mehreren Instances zuordnen. Dann fügen Sie jeder Sicherheitsgruppe Regeln hinzu, die den Datenaustausch mit den zugeordneten Instances gestatten. Sie können die Regeln für eine Sicherheitsgruppe jederzeit ändern. Neue und geänderte Regeln werden automatisch auf alle Instances angewendet, die der Sicherheitsgruppe zugeordnet sind. Wenn Amazon EC2 entscheidet, ob zugelassen wird, dass der Datenverkehr eine Instance erreicht, bewertet es alle Regeln für alle Sicherheitsgruppen, die der Instance zugeordnet sind. Weitere Informationen finden Sie unter [Sicherheitsgruppenregeln](https://docs.aws.amazon.com/vpc/latest/userguide/security-group-rules.html) im *Amazon-VPC-Benutzerhandbuch*.

Das folgende Diagramm zeigt eine VPC mit einer Sicherheitsgruppe, einem Internet-Gateway und einem Subnetz. Das Subnetz enthält EC2-Instances. Die Sicherheitsgruppe ist mit dem Instances zugeordnet. Der einzige Datenverkehr, der die Instance erreicht, ist der Datenverkehr, der nach den Sicherheitsgruppenregeln zulässig ist. Wenn die Sicherheitsgruppe beispielsweise eine Regel enthält, die SSH-Datenverkehr von Ihrem Netzwerk zur Instance zulässt, können Sie sich mit der Instance von Ihrem Computer aus verbinden. Wenn die Sicherheitsgruppe eine Regel enthält, die den gesamten Datenverkehr von den ihr zugewiesenen Ressourcen zulässt, kann jede Instance den von den anderen Instances gesendeten Datenverkehr empfangen.

![\[Eine VPC mit einer Sicherheitsgruppe. Die EC2-Instances im Subnetz sind der Sicherheitsgruppe zugewiesen.\]](http://docs.aws.amazon.com/de_de/AWSEC2/latest/UserGuide/images/ec2-security-groups.png)


Sicherheitsgruppen sind zustandsbehaftet — wenn Sie von Ihrer Instance eine Anforderung senden, wird der Antwortdatenverkehr für diese Anforderung zugelassen, unabhängig der für diese Sicherheitsgruppe geltenden Regeln für eingehenden Datenverkehr. Außerdem dürfen Antworten auf erlaubten eingehenden Datenverkehr unabhängig von den Regeln für ausgehenden Datenverkehr ablaufen. Weitere Informationen finden Sie unter [Verfolgung von Verbindungen](security-group-connection-tracking.md).

# Erstellen einer Sicherheitsgruppe für Ihre Amazon-EC2-Instance
<a name="creating-security-group"></a>

Sicherheitsgruppen fungieren als Firewall für zugeordnet Instances. Sie steuern den ein- und ausgehenden Datenverkehr auf der Instance-Ebene. Sie können einer Sicherheitsgruppe Regeln hinzufügen, die es Ihnen ermöglichen, über SSH (Linux-Instances) oder RDP (Windows-Instances) eine Verbindung zu Ihrer Instance herzustellen. Sie können auch Regeln hinzufügen, die Client-Verkehr zulassen, z. B. HTTP- und HTTPS-Verkehr zu einem Webserver.

Sie können eine Sicherheitsgruppe einer Instance zuweisen, wenn Sie die Instance starten. Wenn Sie Regeln von verbundenen Sicherheitsgruppen hinzufügen oder entfernen, gelten diese Änderungen automatisch für alle Instances, denen Sie die Sicherheitsgruppe zugewiesen haben.

Nach dem Start einer Instance können Sie weitere Sicherheitsgruppen assoziieren. Weitere Informationen finden Sie unter [Die Sicherheitsgruppen für Ihre Amazon-EC2-Instance ändern](changing-security-group.md).

Sie können Regeln für eine Sicherheitsgruppe für den ein- und ausgehenden Datenverkehr erstellen, wenn Sie eine Sicherheitsgruppe erstellen, oder Sie können sie zu einem späteren Zeitpunkt hinzufügen. Weitere Informationen finden Sie unter [Sicherheitsgruppenregeln konfigurieren](changing-security-group.md#add-remove-security-group-rules). Für Beispiele für Regeln, die Sie einer Sicherheitsgruppe hinzufügen können, siehe [Sicherheitsgruppenregeln für verschiedene Anwendungsfälle](security-group-rules-reference.md).

**Überlegungen**
+ Neue Sicherheitsgruppen starten mit nur einer Regel für ausgehenden Datenverkehr, die sämtlichen von der Ressource ausgehenden Datenverkehr zulässt. Sie müssen Regeln hinzufügen, um eingehenden Datenverkehr zuzulassen oder den ausgehenden Datenverkehr einzuschränken.
+ Wenn Sie eine Quelle für eine Regel konfigurieren, die SSH- oder RDP-Zugriff auf Ihre Instances ermöglicht, sollten Sie keinen Zugriff von überall zulassen, da dies den Zugriff auf Ihre Instance von allen IP-Adressen im Internet aus ermöglichen würde. Dies ist zwar für kurze Zeit in einer Testumgebung akzeptabel, aber für Produktionsumgebungen sehr unsicher.
+ Wenn mehr als eine Regel für einen bestimmten Port vorliegt, wendet Amazon EC2 die toleranteste Regel an. Wenn Sie z. B. eine Regel haben, die den Zugriff auf den TCP-Port 22 (SSH) von der IP-Adresse 203.0.113.1 aus erlaubt, und eine weitere Regel, die den Zugriff auf den TCP-Port 22 von überall aus erlaubt, dann hat jeder Zugriff auf den TCP-Port 22.
+ Sie können einer Instance mehrere Sicherheitsgruppen zuweisen. Daher kann eine Instance Hunderte von Regeln haben, die angewendet werden. Dies kann beim Zugriff auf die Instance zu Problemen führen. Wir empfehlen, dass Sie Ihre Regeln so weit wie möglich verdichten.
+ Wenn Sie eine Sicherheitsgruppe als Quelle oder Ziel für eine Regel angeben, wirkt sich die Regel auf alle Instances aus, die der Sicherheitsgruppe zugeordnet sind. Eingehender Verkehr ist basierend auf den privaten IP-Adressen der Instances erlaubt, die der Quellsicherheitsgruppe zugeordnet sind (und nicht auf den öffentlichen IP- oder Elastic IP-Adressen). Weitere Informationen über IP-Adressen finden Sie unter [IP-Adressierung von Amazon EC2-Instances](using-instance-addressing.md).
+ Beachten Sie, dass Amazon EC2 standardmäßig Traffic auf Port 25 blockiert. Weitere Informationen finden Sie unter [Einschränkung für E-Mails, die über Port 25 gesendet werden](ec2-resource-limits.md#port-25-throttle).

------
#### [ Console ]

**So erstellen Sie eine Sicherheitsgruppe**

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

1. Wählen Sie im Navigationsbereich **Sicherheitsgruppen** aus.

1. Wählen Sie **Create security group (Sicherheitsgruppe erstellen)** aus.

1. Geben Sie einen beschreibenden Namen und eine kurze Beschreibung für die Sicherheitsgruppe ein. Sie können den Namen und die Beschreibung einer Sicherheitsgruppe nach der Erstellung nicht mehr ändern.

1. Wählen Sie für **VPC** die VPC aus, in der Sie Ihre Amazon-EC2-Instances ausführen werden.

1. (Optional) Um Regeln für eingehenden Datenverkehr hinzuzufügen, wählen Sie **Eingehende Regeln** aus. Wählen Sie für jede Regel **Regel hinzufügen** aus und geben Sie das Protokoll, den Port und die Quelle an. **Um beispielsweise SSH-Verkehr zuzulassen, wählen Sie **SSH** als **Typ** und geben Sie die öffentliche IPv4 Adresse Ihres Computers oder Netzwerks als Quelle an.**

1. (Optional) Um Regeln für ausgehenden Datenverkehr hinzuzufügen, wählen Sie **Ausgehende Regeln** aus. Wählen Sie für jede Regel **Regel hinzufügen** aus und geben Sie das Protokoll, den Port und das Ziel an. Andernfalls können Sie die Standardregel beibehalten, die den gesamten ausgehenden Datenverkehr zulässt.

1. (Optional) Um ein Tag hinzuzufügen, wählen Sie **Add new tag** (Neuen Tag hinzufügen) aus und geben Sie den Schlüssel und den Wert für den Tag ein.

1. Wählen Sie **Sicherheitsgruppe erstellen** aus.

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

**So erstellen Sie eine Sicherheitsgruppe**  
Verwenden Sie den folgenden [create-security-group](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-security-group.html)-Befehl.

```
aws ec2 create-security-group \
    --group-name my-security-group \
    --description "my security group" \
    --vpc-id vpc-1234567890abcdef0
```

Beispiele für das Hinzufügen von Regeln finden Sie unter [Sicherheitsgruppenregeln konfigurieren](changing-security-group.md#add-remove-security-group-rules).

------
#### [ PowerShell ]

**So erstellen Sie eine Sicherheitsgruppe**  
Verwenden Sie das cmdlet [New-EC2SecurityGroup](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2SecurityGroup.html).

```
New-EC2SecurityGroup `
    -GroupName my-security-group `
    -Description "my security group" `
    -VpcId vpc-1234567890abcdef0
```

Beispiele für das Hinzufügen von Regeln finden Sie unter [Sicherheitsgruppenregeln konfigurieren](changing-security-group.md#add-remove-security-group-rules).

------

# Die Sicherheitsgruppen für Ihre Amazon-EC2-Instance ändern
<a name="changing-security-group"></a>

Sie können Sicherheitsgruppen für Ihre Amazon-EC2-Instances angeben, wenn Sie sie starten. Nach dem Start einer Instance können Sie deren Sicherheitsgruppen ändern oder entfernen. Sie können auch jederzeit Sicherheitsgruppenregeln für zugehörige Sicherheitsgruppen hinzufügen, entfernen oder bearbeiten.

Sicherheitsgruppen sind mit Netzwerkschnittstellen verknüpft. Durch das Hinzufügen oder Entfernen von Sicherheitsgruppen werden die Sicherheitsgruppen geändert, die mit der primären Netzwerkschnittstelle verknüpft sind. Sie können auch die Sicherheitsgruppen ändern, die mit irgendwelchen sekundären Netzwerkschnittstellen verknüpft sind. Weitere Informationen finden Sie unter [Ändern der Netzwerkschnittstellen-Attribute](modify-network-interface-attributes.md).

**Topics**
+ [

## Sicherheitsgruppen hinzufügen oder entfernen
](#add-remove-instance-security-groups)
+ [

## Sicherheitsgruppenregeln konfigurieren
](#add-remove-security-group-rules)

## Sicherheitsgruppen hinzufügen oder entfernen
<a name="add-remove-instance-security-groups"></a>

Nach dem Start einer Instance können Sie Sicherheitsgruppen zur Liste der zugehörigen Sicherheitsgruppen hinzufügen oder von ihr entfernen. Wenn Sie mehrere Sicherheitsgruppen mit einer Instance verbinden, werden die Regeln jeder Sicherheitsgruppe effektiv zu einem einzigen Regelsatz zusammengeführt. Mit diesem Regelsatz bestimmt Amazon EC2, ob der Datenverkehr erlaubt ist.

**Voraussetzungen**
+ Die Instance muss sich im `running`- oder `stopped`-Status befinden.

------
#### [ Console ]

**So ändern Sie die Sicherheitsgruppen für eine Instance**

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

1. Wählen Sie im Navigationsbereich **Instances** aus.

1. Wählen Sie Ihre Instance und wähle Sie dann **Actions (Aktionen)**, **Security (Sicherheit)**, **Change security groups (Sicherheitsgruppen ändern)** aus.

1. Wählen Sie für **Associated security groups (Zugehörige Sicherheitsgruppen)** eine Sicherheitsgruppe aus der Liste aus und klicken Sie auf **Add security group (Sicherheitsgruppe hinzufügen)**.

   Um eine bereits zugeordnete Sicherheitsgruppe zu entfernen, wählen **Remove (Entfernen)** für diese Sicherheitsgruppe.

1. Wählen Sie **Save** aus.

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

**So ändern Sie die Sicherheitsgruppen für eine Instance**  
Verwenden Sie den folgenden [modify-instance-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html)-Befehl.

```
aws ec2 modify-instance-attribute \
    --instance-id i-1234567890abcdef0 \
    --groups sg-1234567890abcdef0
```

------
#### [ PowerShell ]

**So ändern Sie die Sicherheitsgruppen für eine Instance**  
Verwenden Sie das cmdlet [Edit-EC2InstanceAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html).

```
Edit-EC2InstanceAttribute `
    -InstanceId i-1234567890abcdef0 `
    -Group sg-1234567890abcdef0
```

------

## Sicherheitsgruppenregeln konfigurieren
<a name="add-remove-security-group-rules"></a>

Nachdem Sie eine Sicherheitsgruppe erstellt haben, können Sie die zugehörigen Sicherheitsgruppenregeln hinzufügen, aktualisieren und löschen. Wenn Sie eine Regel hinzufügen, aktualisieren oder löschen, gilt die aktualisierte Regel automatisch für alle Ressourcen, die der Sicherheitsgruppe zugewiesen sind.

Für Beispiele für Regeln, die Sie einer Sicherheitsgruppe hinzufügen können, siehe [Sicherheitsgruppenregeln für verschiedene Anwendungsfälle](security-group-rules-reference.md).

**Erforderliche Berechtigungen**  
Stellen Sie zuerst sicher, dass Sie über die erforderlichen Berechtigungen verfügen. Weitere Informationen finden Sie unter [Beispiel: Arbeiten mit Sicherheitsgruppen](iam-policies-ec2-console.md#ex-security-groups).

**Protokolle und Ports**
+ Wenn Sie in der Konsole einen vordefinierten Typ auswählen, werden **Protokoll** und **Portbereich** für Sie angegeben. Um einen Portbereich einzugeben, müssen Sie einen der folgenden benutzerdefinierten Typen auswählen: **Benutzerdefiniertes TCP** oder **Benutzerdefiniertes UDP**.
+ Mit dem AWS CLI können Sie mithilfe der Optionen `--protocol` und `--port` eine einzelne Regel mit einem einzigen Port hinzufügen. Um mehrere Regeln oder eine Regel mit einem Portbereich hinzuzufügen, verwenden Sie stattdessen die Option `--ip-permissions`.

**Quellen und Ziele**
+ Mit der Konsole können Sie Folgendes als Quellen für Regeln für eingehenden Datenverkehr oder als Ziele für Regeln für ausgehenden Datenverkehr angeben.
  + **Benutzerdefiniert** — Ein IPv4 CIDR-Block, ein IPv6 CIDR-Block, eine Sicherheitsgruppe oder eine Präfixliste.
  + **Anywhere- IPv4** — Der IPv4 0.0.0.0/0 CIDR-Block.
  + **Anywhere- IPv6** — Der: :/0 CIDR-Block. IPv6 
  + **Meine IP** — Die öffentliche IPv4 Adresse Ihres lokalen Computers.
+ Mit der AWS CLI können Sie mithilfe der Option einen IPv4 CIDR-Block oder mithilfe der `--cidr` Option eine Sicherheitsgruppe angeben. `--source-group` Verwenden Sie die Option, um eine Präfixliste oder einen IPv6 CIDR-Block anzugeben. `--ip-permissions`

**Warnung**  
Wenn Sie eingehende Regeln für die Ports 22 (SSH) oder 3389 (RDP) hinzufügen, empfehlen wir Ihnen dringend, nur die spezifischen IP-Adressen oder Adressbereiche zuzulassen, die Zugriff auf Ihre Instances benötigen. Wenn Sie **Anywhere-** wählenIPv4, ermöglichen Sie Traffic von allen IPv4 Adressen, über das angegebene Protokoll auf Ihre Instances zuzugreifen. Wenn Sie **Anywhere-** wählenIPv6, erlauben Sie Traffic von allen IPv6 Adressen, über das angegebene Protokoll auf Ihre Instances zuzugreifen.

------
#### [ Console ]

**Konfigurieren von Sicherheitsgruppenregeln**

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

1. Wählen Sie im Navigationsbereich **Security Groups (Sicherheitsgruppen)** aus.

1. Wählen Sie die Sicherheitsgruppe aus.

1. Wählen Sie unter **Aktionen** oder auf der Registerkarte **Regeln für eingehenden Datenverkehr** die Option **Bearbeiten von Regeln für eingehenden Datenverkehr** aus, um die Regeln für den eingehenden Datenverkehr zu bearbeiten.

   1. Um eine Regel hinzuzufügen, wählen Sie **Regel hinzufügen** aus und geben Sie den Typ, das Protokoll, den Port und die Quelle für die Regel ein.

      Wenn es sich beim Typ um TCP oder UDP handelt, müssen Sie den zuzulassenden Portbereich eingeben. Für ein benutzerdefiniertes ICMP müssen Sie den Namen des ICMP-Typs aus **Protocol (Protokoll=** und, falls zutreffend, den Codenamen aus **Port range (Portbereich)** wählen. Für einen anderen Typ werden das Protokoll und der Portbereich für Sie konfiguriert.

   1. Andern Sie das Protokoll, die Beschreibung und die Quelle nach Bedarf, um eine Regel zu aktualisieren. Sie können jedoch den Quellentyp nicht ändern. Wenn die Quelle beispielsweise ein IPv4 CIDR-Block ist, können Sie keinen IPv6 CIDR-Block, keine Präfixliste oder eine Sicherheitsgruppe angeben.

   1. Klicken Sie auf die Schaltfläche **Löschen**, um eine Regel zu löschen.

1. Um die Regeln für den ausgehenden Datenverkehr zu bearbeiten, wählen Sie **Regeln für ausgehenden Datenverkehr bearbeiten** unter **Aktionen** oder auf der Registerkarte **Regeln für ausgehenden Datenverkehr** aus.

   1. Um eine Regel hinzuzufügen, wählen Sie **Regel hinzufügen** aus und geben Sie den Typ, das Protokoll, den Port und das Ziel für die Regel ein. Sie können auch eine optionale Beschreibung eingeben.

      Wenn es sich beim Typ um TCP oder UDP handelt, müssen Sie den zuzulassenden Portbereich eingeben. Für ein benutzerdefiniertes ICMP müssen Sie den Namen des ICMP-Typs aus **Protocol (Protokoll=** und, falls zutreffend, den Codenamen aus **Port range (Portbereich)** wählen. Für einen anderen Typ werden das Protokoll und der Portbereich für Sie konfiguriert.

   1. Andern Sie das Protokoll, die Beschreibung und die Quelle nach Bedarf, um eine Regel zu aktualisieren. Sie können jedoch den Quellentyp nicht ändern. Wenn es sich bei der Quelle beispielsweise um einen IPv4 CIDR-Block handelt, können Sie keinen IPv6 CIDR-Block, keine Präfixliste oder keine Sicherheitsgruppe angeben.

   1. Klicken Sie auf die Schaltfläche **Löschen**, um eine Regel zu löschen.

1. Wählen Sie **Regeln speichern** aus.

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

**So fügen Sie Sicherheitsgruppenregeln hinzu**  
Verwenden Sie den [authorize-security-group-ingress](https://docs.aws.amazon.com/cli/latest/reference/ec2/authorize-security-group-ingress.html)Befehl, um Regeln für eingehenden Datenverkehr hinzuzufügen. Das folgende Beispiel erlaubt eingehenden SSH-Datenverkehr aus den CIDR-Blöcken in der angegebenen Präfixliste.

```
aws ec2 authorize-security-group-ingress \
    --group-id sg-1234567890abcdef0 \
    --ip-permissions 'IpProtocol=tcp,FromPort=22,ToPort=22,PrefixListIds=[{PrefixListId=pl-f8a6439156EXAMPLE}]'
```

Verwenden Sie den [authorize-security-group-egress](https://docs.aws.amazon.com/cli/latest/reference/ec2/authorize-security-group-egress.html)Befehl, um Regeln für ausgehenden Datenverkehr hinzuzufügen. Im folgenden Beispiel wird ausgehender TCP-Datenverkehr auf Port 80 für Instances mit der angegebenen Sicherheitsgruppe zugelassen.

```
aws ec2 authorize-security-group-egress \
    --group-id sg-1234567890abcdef0 \
    --ip-permissions 'IpProtocol=tcp,FromPort=80,ToPort=80,UserIdGroupPairs=[{GroupId=sg-0aad1c26bb6EXAMPLE}]'
```

**So entfernen Sie Sicherheitsgruppenregeln**  
Verwenden Sie den folgenden [revoke-security-group-ingress](https://docs.aws.amazon.com/cli/latest/reference/ec2/revoke-security-group-ingress.html)Befehl, um eine eingehende Regel zu entfernen.

```
aws ec2 revoke-security-group-egress \
    --group id sg-1234567890abcdef0 \
    --security-group-rule-ids sgr-09ed298024EXAMPLE
```

Verwenden Sie den folgenden [revoke-security-group-egress](https://docs.aws.amazon.com/cli/latest/reference/ec2/revoke-security-group-egress.html)Befehl, um eine ausgehende Regel zu entfernen.

```
aws ec2 revoke-security-group-ingress \
    --group id sg-1234567890abcdef0 \
    --security-group-rule-ids sgr-0352250c1aEXAMPLE
```

**So modifizieren Sie Sicherheitsgruppenregeln**  
Verwenden Sie den Befehl [modify-security-group-rules](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-security-group-rules.html). Im folgenden Beispiel wird der IPv4 CIDR-Block der angegebenen Sicherheitsgruppenregel geändert.

```
aws ec2 modify-security-group-rules \
    --group id sg-1234567890abcdef0 \
    --security-group-rules 'SecurityGroupRuleId=sgr-09ed298024EXAMPLE,SecurityGroupRule={IpProtocol=tcp,FromPort=80,ToPort=80,CidrIpv4=0.0.0.0/0}'
```

------
#### [ PowerShell ]

**So fügen Sie Sicherheitsgruppenregeln hinzu**  
Verwenden Sie das [Grant-EC2SecurityGroupIngress](https://docs.aws.amazon.com/powershell/latest/reference/items/Grant-EC2SecurityGroupIngress.html)Cmdlet, um Regeln für eingehenden Datenverkehr hinzuzufügen. Das folgende Beispiel erlaubt eingehenden SSH-Datenverkehr aus den CIDR-Blöcken in der angegebenen Präfixliste.

```
$plid = New-Object -TypeName Amazon.EC2.Model.PrefixListId
$plid.Id = "pl-f8a6439156EXAMPLE"
Grant-EC2SecurityGroupIngress `
    -GroupId sg-1234567890abcdef0 `
    -IpPermission @{IpProtocol="tcp"; FromPort=22; ToPort=22; PrefixListIds=$plid}
```

Verwenden Sie das [Grant-EC2SecurityGroupEgress](https://docs.aws.amazon.com/powershell/latest/reference/items/Grant-EC2SecurityGroupEgress.html)Cmdlet, um Regeln für ausgehenden Datenverkehr hinzuzufügen. Im folgenden Beispiel wird ausgehender TCP-Datenverkehr auf Port 80 für Instances mit der angegebenen Sicherheitsgruppe zugelassen.

```
$uigp = New-Object -TypeName Amazon.EC2.Model.UserIdGroupPair
$uigp.GroupId = "sg-0aad1c26bb6EXAMPLE"
Grant-EC2SecurityGroupEgress `
    -GroupId sg-1234567890abcdef0 `
    -IpPermission @{IpProtocol="tcp"; FromPort=80; ToPort=80; UserIdGroupPairs=$uigp}
```

**So entfernen Sie Sicherheitsgruppenregeln**  
Verwenden Sie das [Revoke-EC2SecurityGroupIngress](https://docs.aws.amazon.com/powershell/latest/reference/items/Revoke-EC2SecurityGroupIngress.html)Cmdlet, um Regeln für eingehenden Datenverkehr zu entfernen.

```
Revoke-EC2SecurityGroupIngress `
    -GroupId sg-1234567890abcdef0 `
    -SecurityGroupRuleId sgr-09ed298024EXAMPLE
```

Verwenden Sie das [Revoke-EC2SecurityGroupEgress](https://docs.aws.amazon.com/powershell/latest/reference/items/Revoke-EC2SecurityGroupEgress.html)Cmdlet, um Regeln für ausgehenden Datenverkehr zu entfernen.

```
Revoke-EC2SecurityGroupEgress `
    -GroupId sg-1234567890abcdef0 `
    -SecurityGroupRuleId sgr-0352250c1aEXAMPLE
```

**So modifizieren Sie Sicherheitsgruppenregeln**  
Verwenden Sie das cmdlet [Edit-EC2SecurityGroupRule](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2SecurityGroupRule.html). Im folgenden Beispiel wird der IPv4 CIDR-Block der angegebenen Sicherheitsgruppenregel geändert.

```
$sgrr = New-Object -TypeName Amazon.EC2.Model.SecurityGroupRuleRequest
$sgrr.IpProtocol = "tcp"
$sgrr.FromPort = 80
$sgrr.ToPort = 80
$sgrr.CidrIpv4 = "0.0.0.0/0"
$sgr = New-Object -TypeName Amazon.EC2.Model.SecurityGroupRuleUpdate
$sgr.SecurityGroupRuleId = "sgr-09ed298024EXAMPLE"
$sgr.SecurityGroupRule = $sgrr
Edit-EC2SecurityGroupRule  `
    -GroupId sg-1234567890abcdef0 `
    -SecurityGroupRule $sgr
```

------

# Eine Amazon EC2-Sicherheitsgruppe löschen
<a name="deleting-security-group"></a>

Wenn Sie mit einer Sicherheitsgruppe, die Sie für Ihre Amazon-EC2-Instances erstellt haben, fertig sind, können Sie sie löschen.

**Voraussetzungen**
+ Die Sicherheitsgruppe kann keiner Instance oder Netzwerkschnittstelle zugeordnet werden.
+ Die Sicherheitsgruppe kann nicht durch eine Regel in einer anderen Sicherheitsgruppe referenziert werden.

------
#### [ Console ]

**Löschen Sie eine Sicherheitsgruppe wie folgt:**

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

1. (Optional) Gehen Sie wie folgt vor, um zu überprüfen, ob Ihre Sicherheitsgruppe keiner Instance zugeordnet ist:

   1. Wählen Sie im Navigationsbereich **Security Groups (Sicherheitsgruppen)** aus.

   1. Kopieren Sie die ID der Sicherheitsgruppe, die gelöscht werden soll.

   1. Wählen Sie im Navigationsbereich **Instances** aus.

   1. Fügen Sie in der Suchleiste den Filter **Sicherheitsgruppe IDs ist gleich** hinzu und fügen Sie die ID der Sicherheitsgruppe ein. Wenn es keine Ergebnisse gibt, ist die Sicherheitsgruppe keiner Instance zugeordnet. Andernfalls müssen Sie die Zuordnung zur Sicherheitsgruppe trennen, bevor Sie sie löschen können.

1. Wählen Sie im Navigationsbereich **Security Groups (Sicherheitsgruppen)** aus.

1. Wählen Sie die Sicherheitsgruppe und dann **Aktionen**, **Sicherheitsgruppe löschen** aus.

1. Wenn Sie mehr als eine Sicherheitsgruppe ausgewählt haben, werden Sie zur Bestätigung aufgefordert. Wenn einige der Sicherheitsgruppen nicht gelöscht werden können, wird der Status der einzelnen Sicherheitsgruppen angezeigt, der angibt, ob sie gelöscht werden. Geben Sie **Löschen** ein, um den Löschvorgang zu bestätigen.

1. Wählen Sie **Löschen** aus.

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

**Löschen Sie eine Sicherheitsgruppe wie folgt:**  
Verwenden Sie den folgenden [delete-security-group](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-security-group.html)-Befehl.

```
aws ec2 delete-security-group --group-id sg-1234567890abcdef0
```

------
#### [ PowerShell ]

**Löschen Sie eine Sicherheitsgruppe wie folgt:**  
Verwenden Sie das cmdlet [Remove-EC2SecurityGroup](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2SecurityGroup.html).

```
Remove-EC2SecurityGroup -GroupId sg-1234567890abcdef0
```

------

# Verbindungsverfolgung von Amazon-EC2-Sicherheitsgruppen
<a name="security-group-connection-tracking"></a>

Ihre Sicherheitsgruppen verwenden die Verbindungsverfolgung zur Nachverfolgung des Datenverkehrs zu und von der Instance. Regeln werden auf der Grundlage des Verbindungszustands des Datenverkehrs angewendet, um zu ermitteln, ob der Datenverkehr zulässig ist oder nicht. Bei diesem Ansatz sind Sicherheitsgruppen zustandsbehaftet. Das bedeutet, dass Antworten auf eingehenden Verkehr unabhängig von den Regeln für ausgehende Sicherheitsgruppen aus der Instance fließen dürfen und umgekehrt.

Angenommen, Sie initiieren einen Befehl wie „netcat“ oder ähnliches für Ihre Instances von Ihrem Heimcomputer aus und Ihre eingehenden Sicherheitsgruppenregeln lassen ICMP-Datenverkehr zu. Informationen über die Verbindung (einschließlich der Port-Informationen) werden verfolgt. Antwort-Datenverkehr von der Instance für den -Befehl wird nicht als neue Anfrage verfolgt, sondern als eingerichtete Verbindung; dieser Datenverkehr kann die Instance verlassen, selbst wenn Ihre ausgehenden Sicherheitsgruppenregeln ausgehenden ICMP-Datenverkehr beschränken.

Für andere Protokolle als TCP, UDP oder ICMP werden nur die IP-Adresse und die Protokollnummer verfolgt. Wenn Ihre Instance Datenverkehr an einen anderen Host sendet und der Host innerhalb von 600 Sekunden dieselbe Art von Datenverkehr an Ihre Instance sendet, akzeptiert die Sicherheitsgruppe für Ihre Instance diesen unabhängig von den Sicherheitsgruppen-Regeln für eingehenden Datenverkehr. Die Sicherheitsgruppe akzeptiert ihn, da er als Antwort-Datenverkehr für den ursprünglichen Datenverkehr angesehen wird.

Wenn Sie eine Sicherheitsgruppenregel ändern, werden ihre nachverfolgten Verbindungen nicht sofort unterbrochen. Die Sicherheitsgruppe lässt Pakete weiterhin zu, bis bei bestehenden Verbindungen eine Zeitüberschreitung (Timeout) auftritt. Um sicherzustellen, dass Datenverkehr sofort unterbrochen wird oder der gesamte Datenverkehr unabhängig vom Nachverfolgungsstatus den Firewall-Regeln unterliegt, können Sie eine Netzwerk-ACL für Ihr Subnetz verwenden. Netzwerke ACLs sind zustandslos und lassen daher nicht automatisch Antwortverkehr zu. Das Hinzufügen einer Netzwerk-ACL, die Datenverkehr in beide Richtungen blockiert, trennt vorhandene Verbindungen. Weitere Informationen finden Sie unter [Netzwerk ACLs](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html) im *Amazon VPC-Benutzerhandbuch*.

**Anmerkung**  
Sicherheitsgruppen haben keine Auswirkung auf den DNS-Verkehr zum oder vom Route 53 Resolver, der manchmal auch als „VPC\$12-IP-Adresse“ bezeichnet wird (siehe [Was ist](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver.html) Amazon Route 53 Resolver? im *Amazon Route 53 Developer Guide*) oder im 'AmazonProvidedDNS' (siehe [Arbeiten mit DHCP-Optionssätzen](https://docs.aws.amazon.com/vpc/latest/userguide/DHCPOptionSet.html) im *Amazon Virtual Private Cloud Cloud-Benutzerhandbuch*). Wenn Sie DNS-Anfragen über den Route 53 Resolver filtern möchten, können Sie die Route-53-Resolver-DNS-Firewall aktivieren (Informationen unter [Route-53-Resolver-DNS-Firewall](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver-dns-firewall.html) im *Amazon-Route-53-Entwicklerhandbuch*).

## Unverfolgte Verbindungen
<a name="untracked-connections"></a>

Nicht alle Datenverkehrsflüsse werden verfolgt. Wenn eine Sicherheitsgruppenregel TCP- oder UDP-Abläufe für den gesamten Datenverkehr (0.0.0.0/0 oder ::/0) zulässt und es eine entsprechende Regel in der anderen Richtung gibt, die den gesamten Antwort-Datenverkehr (0.0.0.0/0 oder ::/0) für jeden Port (0-65535) zulässt, dann wird dieser Datenverkehrsablauf nicht verfolgt, es sei denn, er ist Teil einer [automatisch verfolgten Verbindung](#automatic-tracking). Der Antwort-Datenverkehr für einen nicht nachverfolgten Fluss wird anhand der Regel für ein- oder ausgehenden Datenverkehr zugelassen, die den Antwort-Datenverkehr erlaubt, und nicht anhand von Nachverfolgungsinformationen.

Ein nicht verfolgter Datenverkehrsfluss wird sofort unterbrochen, wenn die Regel, die ihn ermöglicht, entfernt oder modifiziert wird. Wenn Sie z. B. eine offene (0.0.0.0/0) ausgehende Regel haben und eine Regel entfernen, die den gesamten (0.0.0.0/0) eingehenden SSH-Verkehr (TCP-Port 22) zur Instance zulässt (oder sie so ändern, dass die Verbindung nicht mehr zulässig wäre), werden Ihre bestehenden SSH-Verbindungen zur Instance sofort gelöscht. Die Verbindung wurde zuvor nicht nachverfolgt, sodass die Änderung die Verbindung unterbricht. Wenn Sie dagegen eine restriktivere Regel für eingehende Verbindungen verwenden, die zunächst eine SSH-Verbindung zulässt (was bedeutet, dass die Verbindung nachverfolgt wurde), diese Regel aber so ändern, dass keine neuen Verbindungen von der Adresse des aktuellen SSH-Clients mehr zugelassen werden, wird die bestehende SSH-Verbindung nicht unterbrochen, weil sie nachverfolgt wird.

## Automatisch nachverfolgte Verbindungen
<a name="automatic-tracking"></a>

Über die folgenden Optionen hergestellte Verbindungen werden automatisch nachverfolgt, auch wenn die Konfiguration der Sicherheitsgruppe keine Nachverfolgung erfordert:
+ Internet-Gateways nur für ausgehenden Datenverkehr
+ Accelerators von Global Accelerator
+ NAT gateways (NAT-Gateways)
+ Firewall-Endpunkte von Network Firewall
+ Network Load Balancers
+ AWS PrivateLink (Schnittstelle VPC-Endpunkte)
+ AWS Lambda (Elastische Hyperplane-Netzwerkschnittstellen)
+ DynamoDB-Gateway-Endpunkte – Jede Verbindung zu DynamoDB verbraucht 2 Conntrack-Einträge.

## Berechtigungen für die Verfolgung von Verbindungen
<a name="connection-tracking-throttling"></a>

Amazon EC2 definiert die maximale Anzahl von Verbindungen, die pro Instance verfolgt werden können. Nach Erreichen des Maximums werden alle gesendeten oder empfangenen Pakete verworfen, da keine neue Verbindung hergestellt werden kann. In diesem Fall können Anwendungen, die Pakete senden und empfangen, nicht ordnungsgemäß kommunizieren. Verwenden Sie die `conntrack_allowance_available`-Netzwerkleistungsmetrik, um die Anzahl der nachverfolgten Verbindungen zu bestimmen, die für diesen Instance-Typ noch verfügbar sind.

Um festzustellen, ob Pakete verworfen wurden, weil der Netzwerkverkehr für Ihre Instance die maximale Anzahl der nachverfolgbaren Verbindungen überschritten hat, verwenden Sie die `conntrack_allowance_exceeded`-Netzwerkleistungsmetrik. Weitere Informationen finden Sie unter [Netzwerkleistung für ENA-Einstellungen auf Ihrer EC2-Instance überwachen](monitoring-network-performance-ena.md).

Wenn Sie mit Elastic Load Balancing die maximale Anzahl von Verbindungen überschreiten, die pro Instance nachverfolgt werden können, empfehlen wir, entweder die Anzahl der beim Load Balancer registrierten Instances oder die Größe der beim Load Balancer registrierten Instances zu skalieren.

## Bewährte Methoden zur Verbindungsverfolgung
<a name="connection-tracking-performance"></a>

Asymmetrisches Routing, bei dem der Datenverkehr über eine Netzwerkschnittstelle in eine Instance eingeht und über eine andere Netzwerkschnittstelle wieder austritt, kann die Spitzenleistung verringern, die eine Instance erzielen kann, wenn Datenflüsse nachverfolgt werden.

Um Spitzenleistung aufrechtzuerhalten und die Verbindungsverwaltung zu optimieren, wenn die Verbindungsverfolgung für Ihre Sicherheitsgruppen aktiviert ist, empfehlen wir die folgende Konfiguration:
+ Vermeiden Sie nach Möglichkeit asymmetrische Routing-Topologien.
+ Verwenden Sie das Netzwerk, anstatt Sicherheitsgruppen für die Filterung zu verwenden ACLs.
+ Wenn Sie Sicherheitsgruppen mit Verbindungsverfolgung verwenden müssen, konfigurieren Sie das kürzeste mögliche Timeout für die Verbindungsverfolgung im Leerlauf. Weitere Informationen zum Timeout der Verfolgung von Verbindungen im Leerlauf finden Sie im folgenden Abschnitt.
+ Aufgrund der kürzeren Standard-Timeouts auf Nitrov6-Instances sollten Anwendungen mit langlebigen Verbindungen (wie Datenbankverbindungspools, persistente HTTP-Verbindungen oder Streaming-Workloads) beim Start der Instance einen entsprechenden `TcpEstablishedTimeout` Wert konfigurieren.
+ Für langlebige Verbindungen sollten Sie TCP-Keep-Alives so konfigurieren, dass sie in Intervallen von weniger als 5 Minuten gesendet werden, um sicherzustellen, dass die Verbindungen geöffnet bleiben und ihren Tracking-Status beibehalten. Auf diese Weise wird verhindert, dass Verbindungen aufgrund eines Timeouts im Leerlauf unterbrochen werden, und der Aufwand für die Wiederherstellung der Verbindung wird reduziert.

Weitere Informationen zur Leistungsoptimierung des Nitro-Systems finden Sie unter [Überlegungen zum Nitro-System für die Leistungsoptimierung](ena-nitro-perf.md).

## Timeout für die Nachverfolgung von Leerlaufverbindungen
<a name="connection-tracking-timeouts"></a>

Die Sicherheitsgruppe verfolgt jede bestehende Verbindung nach, um sicherzustellen, dass Rückpakete wie erwartet übertragen werden. Es gibt eine maximale Anzahl von Verbindungen, die pro Instance verfolgt werden können. Im Leerlauf befindliche Verbindungen können zur Erschöpfung der Kapazität der Verbindungsnachverfolgung führen und zur Folge haben, dass Verbindungen nicht nachverfolgt und Pakete verworfen werden. Sie können das Timeout für die Nachverfolgung von Leerlaufverbindungen für eine Elastic-Network-Schnittstelle festlegen.

**Anmerkung**  
Dieses Feature ist nur für [Nitro-basierte Instances](instance-types.md#instance-hypervisor-type) verfügbar. Sie sollten Ihre Anwendungen auf Instances der Nitrov6-Generation mit dem reduzierten `350` zweiten Standard-Timeout für die Verbindungsverfolgung testen, bevor Sie sie in der Produktion einsetzen.

Es gibt drei konfigurierbare Timeouts:
+ **Timeout für bestehende TCP-Verbindungen**: Timeout (in Sekunden) für bestehende TCP-Verbindungen im Leerlauf.
  + Min: `60` Sekunden
  + Max: `432000` Sekunden
  + Standard: `350` Sekunden für [Nitrov6-Instance-Typen](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html), ausgenommen P6e-. GB200 Und `432000` Sekunden für andere Instance-Typen, einschließlich P6e-. GB200
  + Empfohlen: Weniger als `432000` Sekunden.
+ **UDP-Timeout**: Timeout (in Sekunden) für UDP-Datenflüsse im Leerlauf, bei denen Datenverkehr nur in eine Richtung oder nur in einer einzelnen Anforderung-Antwort-Transaktion übermittelt wurde.
  + Min: `30` Sekunden
  + Max: `60` Sekunden
  + Standardwert: `30` Sekunden
+ **UDP-Stream-Timeout**: Timeout (in Sekunden) für UDP-Datenflüsse im Leerlauf, die als Streams klassifiziert sind, bei denen mehr als eine Anforderung-Antwort-Transaktion stattgefunden hat.
  + Min: `60` Sekunden
  + Max: `180` Sekunden
  + Standardwert: `180` Sekunden

In folgenden Fällen empfiehlt es sich möglicherweise, die Standard-Timeouts anzupassen:
+  Wenn Sie [nachverfolgte Verbindungen mithilfe von Amazon-EC2-Netzwerkleistungsmetriken überwachen](monitoring-network-performance-ena.md), ermöglichen Ihnen die Metriken *conntrack\$1allowance\$1exceeded* und *conntrack\$1allowance\$1available* die Überwachung verworfener Pakete und der nachverfolgten Verbindungsauslastung, um die EC2-Instance-Kapazität proaktiv per Hochskalierung oder horizontaler Skalierung zu verwalten und so den Bedarf an Netzwerkverbindungen zu decken, bevor Pakete verworfen werden. Wenn Sie feststellen, dass *conntrack\$1allowance\$1exceeded* auf Ihren EC2-Instances ausfällt, können Sie davon profitieren, ein niedrigeres TCP-Timeout festzulegen, um veraltete Sitzungen zu berücksichtigen, die von falschen Clients oder Netzwerk-Middle-Boxen TCP/UDP verursacht werden.
+ In der Regel haben Load Balancer oder Firewalls ein TCP-Etabliertes Leerlauf-Timeout im Bereich von 60 bis 90 Minuten. Wenn Sie Workloads ausführen, die voraussichtlich eine sehr hohe Anzahl von Verbindungen (mehr als 100 000) von Appliances wie Netzwerk-Firewalls verarbeiten, empfiehlt es sich, ein ähnliches Timeout für eine EC2-Netzwerkschnittstelle zu konfigurieren.
+ Wenn Sie einen Workload ausführen, der eine asymmetrische Routing-Topologie verwendet, empfehlen wir Ihnen, ein TCP-Etabliertes Leerlaufzeitlimit von 60 Sekunden zu konfigurieren.
+ Wenn Sie Workloads mit einer hohen Anzahl von Verbindungen wie DNS, SIP, SNMP, Syslog, Radius und andere Dienste ausführen, die hauptsächlich UDP zur Bearbeitung von Anfragen verwenden, bietet das Setzen des UDP-Stream-Timeouts auf 60 Sekunden eine höhere scale/performance Kapazität und verhindert Grauausfälle.
+ Bei TCP/UDP Verbindungen über Network Load Balancer werden alle Verbindungen nachverfolgt. Der Wert des Leerlauf-Timeouts für TCP-Datenflüsse beträgt 350 Sekunden. Für UDP-Datenflüsse beträgt er 120 Sekunden. Er unterscheidet sich somit von den Timeout-Werten auf Schnittstellenebene. Es empfiehlt sich gegebenenfalls, Timeouts auf Netzwerkschnittstellen-Ebene zu konfigurieren, um beim Timeout mehr Flexibilität zu haben als mit den Standardwerten für den Load Balancer.

Die Timeouts für die Verbindungsnachverfolgung können bei folgenden Tätigkeiten konfiguriert werden:
+ [Erstellen einer Netzwerkschnittstelle](create-network-interface.md)
+ [Ändern der Netzwerkschnittstellen-Attribute](modify-network-interface-attributes.md)
+ [Starten einer EC2-Instance](ec2-instance-launch-parameters.md#liw-network-settings)
+ [Erstellen einer Startvorlage für eine EC2-Instance](ec2-instance-launch-parameters.md#liw-network-settings)

## Beispiel
<a name="connection-tracking-example"></a>

Im folgenden Beispiel hat die Sicherheitsgruppe Regeln für eingehenden Verkehr, die TCP- und ICMP-Datenverkehr zulassen, und Regeln für ausgehenden Verkehr, die allen ausgehenden Datenverkehr zulassen.


**Eingehend**  

| Protokolltyp | Port-Nummer | Quelle | 
| --- | --- | --- | 
| TCP  | 22 (SSH) | 203.0.113.1/32 | 
| TCP  | 80 (HTTP) | 0.0.0.0/0 | 
| TCP  | 80 (HTTP) | ::/0 | 
| ICMP | Alle | 0.0.0.0/0 | 


**Ausgehend**  

| Protokolltyp | Port-Nummer | Ziel | 
| --- | --- | --- | 
| Alle | Alle | 0.0.0.0/0 | 
| Alle | Alle | ::/0 | 

Bei einer direkten Netzwerkverbindung zur Instance oder Netzwerkschnittstelle sieht das Nachverfolgungsverhalten wie folgt aus:
+ Ein- und ausgehender TCP-Datenverkehr auf Port 22 (SSH) wird nachverfolgt, da die Regel für eingehenden Verkehr nur Datenverkehr von 203.0.113.1/32 und nicht von allen IP-Adressen (0.0.0.0/0) zulässt.
+ Ein- und ausgehender TCP-Datenverkehr auf Port 80 (HTTP) wird nicht nachverfolgt, da die Regeln für ein- und ausgehenden Verkehr Datenverkehr von allen IP-Adressen zulassen.
+ ICMP-Datenverkehr wird immer nachverfolgt.

Wenn Sie die Regel für ausgehenden IPv4 Datenverkehr entfernen, wird der gesamte eingehende und ausgehende IPv4 Verkehr verfolgt, einschließlich des Datenverkehrs auf Port 80 (HTTP). Das Gleiche gilt für den IPv6 Verkehr, wenn Sie die ausgehende Regel für den Datenverkehr entfernen. IPv6 

# Sicherheitsgruppenregeln für verschiedene Anwendungsfälle
<a name="security-group-rules-reference"></a>

Sie können eine Sicherheitsgruppe erstellen und dieser Regeln hinzufügen, die die Rolle der Instance reflektieren, mit der die Sicherheitsgruppe verbunden ist. Eine Instance, die als Webserver konfiguriert ist, benötigt beispielsweise Sicherheitsgruppenregeln, die eingehenden HTTP- und HTTPS-Zugriff zulassen. Ebenso benötigt eine Datenbank-Instance Regeln, die den Zugriff für den Datenbanktyp zulassen, wie z.B. den Zugriff über Port 3306 für MySQL.

Es folgen einige Beispiele für die Arten von Regeln, die Sie für bestimmte Zugriffsarten zu Sicherheitsgruppen hinzufügen können.

**Topics**
+ [

## Webserverregeln
](#sg-rules-web-server)
+ [

## Datenbankserverregeln
](#sg-rules-db-server)
+ [

## Regeln für die Verbindung mit Instances von Ihrem Computer aus
](#sg-rules-local-access)
+ [

## Regeln für die Verbindung mit Instances von einer Instance mit der gleichen Sicherheitsgruppe aus
](#sg-rules-other-instances)
+ [

## Regeln für Ping/ICMP
](#sg-rules-ping)
+ [

## DNS-Server-Regeln
](#sg-rules-dns)
+ [

## Amazon EFS-Regeln
](#sg-rules-efs)
+ [

## Elastic Load Balancing-Regeln
](#sg-rules-elb)

Anweisungen finden Sie unter [Eine Sicherheitsgruppe erstellen](creating-security-group.md) und [Sicherheitsgruppenregeln konfigurieren](changing-security-group.md#add-remove-security-group-rules).

## Webserverregeln
<a name="sg-rules-web-server"></a>

Die folgenden eingehenden Regeln erlauben den HTTP- und HTTPS-Zugriff von jeder IP-Adresse aus. Wenn Ihre VPC für aktiviert ist, können Sie Regeln hinzufügen IPv6, um den eingehenden HTTP- und HTTPS-Verkehr von IPv6 Adressen zu kontrollieren.


| Protokolltyp | Protokollnummer | Port | Quell-IP | Hinweise | 
| --- | --- | --- | --- | --- | 
| TCP | 6 | 80 (HTTP) | 0.0.0.0/0 | Ermöglicht eingehenden HTTP-Zugriff von einer beliebigen Adresse IPv4  | 
| TCP | 6 | 443 (HTTPS) | 0.0.0.0/0 | Ermöglicht eingehenden HTTPS-Zugriff von einer beliebigen Adresse IPv4  | 
| TCP | 6 | 80 (HTTP) | ::/0 | Ermöglicht eingehenden HTTP-Zugriff von einer beliebigen Adresse IPv6 | 
| TCP | 6 | 443 (HTTPS) | ::/0 | Ermöglicht eingehenden HTTPS-Zugriff von einer beliebigen Adresse IPv6 | 

## Datenbankserverregeln
<a name="sg-rules-db-server"></a>

Die folgenden eingehenden Regeln sind Beispiele für Regeln, die Sie für den Datenbankzugriff hinzufügen können, je nachdem, auf welcher Art von Datenbank Ihre Instance ausgeführt wird. Weitere Informationen zu Amazon RDS-Instances finden Sie im [Amazon RDS-Benutzerhandbuch](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/).

geben Sie für die Quell-IP eine der folgenden Optionen an:
+ Eine bestimmte IP-Adresse oder ein Bereich von IP-Adressen (in CIDR-Block-Notation) in Ihrem On-Premises-Netzwerk
+ Eine Sicherheitsgruppen-ID für eine Gruppe von Instances, die auf die Datenbank zugreifen.


| Protokolltyp | Protokollnummer | Port | Hinweise | 
| --- | --- | --- | --- | 
| TCP | 6 | 1433 (MS SQL) | Der Standardport für den Zugriff auf eine Microsoft SQL Server-Datenbank, beispielsweise, auf einer Amazon RDS-Instance | 
| TCP | 6 | 3306 (MYSQL/Aurora) | Der Standardport für den Zugriff auf eine MySQL- oder Aurora-Datenbank, beispielsweise, auf einer Amazon RDS-Instance | 
| TCP | 6 | 5439 (Redshift) | Der Standardport für den zugriff auf eine Amazon Redshift-Cluster-Datenbank | 
| TCP | 6 | 5432 (PostgreSQL) | Der Standardport für den Zugriff auf eine PostgreSQL-Datenbank, beispielsweise, auf einer Amazon RDS-Instance | 
| TCP | 6 | 1521 (Oracle) | Der Standardport für den Zugriff auf eine Oracle-Datenbank, beispielsweise, auf einer Amazon RDS-Instance | 

Sie können optional den ausgehenden Verkehr von Ihren Datenbankservern einschränken. Sie könnten zum Beispiel den Zugriff auf das Internet für Softwareupdates erlauben, aber alle anderen Arten des Datenverkehrs einschränken. Sie müssen zuerst die standardmäßige ausgehende Regel entfernen, die allen ausgehenden Datenverkehr zulässt.


| Protokolltyp | Protokollnummer | Port | Ziel-IP | Hinweise | 
| --- | --- | --- | --- | --- | 
| TCP | 6 | 80 (HTTP) | 0.0.0.0/0 | Ermöglicht ausgehenden HTTP-Zugriff auf eine beliebige Adresse IPv4  | 
| TCP | 6 | 443 (HTTPS) | 0.0.0.0/0 | Ermöglicht ausgehenden HTTPS-Zugriff auf eine beliebige Adresse IPv4  | 
| TCP | 6 | 80 (HTTP) | ::/0 | (Nur VPC IPv6 aktiviert) Erlaubt ausgehenden HTTP-Zugriff auf jede Adresse IPv6  | 
| TCP | 6 | 443 (HTTPS) | ::/0 | (Nur VPC IPv6 aktiviert) Ermöglicht ausgehenden HTTPS-Zugriff auf eine beliebige Adresse IPv6  | 

## Regeln für die Verbindung mit Instances von Ihrem Computer aus
<a name="sg-rules-local-access"></a>

Um Ihre Instance zu verbinden, muss Ihre Sicherheitsgruppe über eingehende Regeln verfügen, die den SSH-Zugriff (für Linux-Instances) oder den RDP-Zugriff (für Windows-Instances) erlauben.


| Protokolltyp | Protokollnummer | Port | Quell-IP | 
| --- | --- | --- | --- | 
| TCP | 6 | 22 (SSH) | Die öffentliche IPv4 Adresse Ihres Computers oder ein Bereich von IP-Adressen in Ihrem lokalen Netzwerk. Wenn Ihre VPC für aktiviert ist IPv6 und Ihre Instance eine IPv6 Adresse hat, können Sie eine IPv6 Adresse oder einen Bereich eingeben. | 
| TCP | 6 | 3389 (RDP) | Die öffentliche IPv4 Adresse Ihres Computers oder ein Bereich von IP-Adressen in Ihrem lokalen Netzwerk. Wenn Ihre VPC für aktiviert ist IPv6 und Ihre Instance eine IPv6 Adresse hat, können Sie eine IPv6 Adresse oder einen Bereich eingeben. | 

## Regeln für die Verbindung mit Instances von einer Instance mit der gleichen Sicherheitsgruppe aus
<a name="sg-rules-other-instances"></a>

Um zuzulassen, dass Instances, die mit derselben Sicherheitsgruppe verbunden sind, miteinander kommunizieren, müssen Sie eine ausdrückliche Regel dafür hinzufügen. 

**Anmerkung**  
Wenn Sie Routen konfigurieren, um den Datenverkehr zwischen zwei Instances in unterschiedlichen Subnetzen über eine Middlebox-Appliance weiterzuleiten, müssen Sie sicherstellen, dass die Sicherheitsgruppen für beide Instances den Datenverkehr zwischen den Instances zulassen. Die Sicherheitsgruppe für jede Instance muss die private IP-Adresse der anderen Instance oder den CIDR-Bereich des Subnetzes, das die andere Instance enthält, als Quelle referenzieren. Wenn Sie die Sicherheitsgruppe der anderen Instance als Quelle referenzieren, wird dadurch kein Datenverkehr zwischen den Instances möglich.

Die folgende Tabelle beschreibt die eingehende Regel für eine Sicherheitsgruppe, die zugehörigen Instances erlaubt, miteinander zu kommunizieren. Die Regel lässt alle Arten von Datenverkehr zu.


| Protokolltyp | Protokollnummer | Ports | Quell-IP | 
| --- | --- | --- | --- | 
| -1 (All) | -1 (All) | -1 (All) | Die ID der Sicherheitsgruppe oder der CIDR-Bereich des Subnetzes, das die andere Instance enthält (siehe Hinweis). | 

## Regeln für Ping/ICMP
<a name="sg-rules-ping"></a>

Der **ping**-Befehl ist eine Art von ICMP-Datenverkehr. Um Ihre Instance anzupingen, müssen Sie eine der folgenden ICMP-Regeln für eingehenden Datenverkehr hinzufügen.


| Typ | Protokoll | Quelle | 
| --- | --- | --- | 
| Benutzerdefiniertes ICMP - IPv4 | Echo-Anforderung | Die öffentliche IPv4 Adresse Ihres Computers, eine bestimmte IPv4 Adresse IPv4 oder eine IPv6 Oder-Adresse von überall. | 
| Alles ICMP - IPv4 | IPv4 ICMP (1) | Die öffentliche IPv4 Adresse Ihres Computers, eine bestimmte IPv4 Adresse IPv4 oder eine IPv6 Oder-Adresse von überall. | 

Um den **ping6** Befehl zum Pingen der IPv6 Adresse für Ihre Instance zu verwenden, müssen Sie die folgende ICMPv6 Regel für eingehenden Datenverkehr hinzufügen.


| Typ | Protokoll | Quelle | 
| --- | --- | --- | 
| Alles ICMP - IPv6 | IPv6 ICMP (58) | Die IPv6 Adresse Ihres Computers, eine bestimmte IPv4 Adresse IPv4 oder eine IPv6 Oder-Adresse von überall. | 

## DNS-Server-Regeln
<a name="sg-rules-dns"></a>

Wenn Sie Ihre EC2-Instance als DNS-Server eingerichtet haben, müssen Sie sicherstellen, dass TCP- und UDP-Datenverkehr Ihren DNS-Server über Port 53 erreichen kann. 

geben Sie für die Quell-IP eine der folgenden Optionen an:
+ Eine IP-Adresse oder ein Bereich von IP-Adressen (in CIDR-Block-Notation) in einem Netzwerk
+ Eine Sicherheitsgruppen-ID für eine Gruppe von Instances in Ihrem Netzwerk, die Zugriff auf den DNS-Server benötigen


| Protokolltyp | Protokollnummer | Port | 
| --- | --- | --- | 
| TCP | 6 | 53 | 
| UDP | 17 | 53 | 

## Amazon EFS-Regeln
<a name="sg-rules-efs"></a>

Wenn Sie ein Amazon EFS-Dateisystem mit Ihren Amazon EC2-Instances verwenden, muss die Sicherheitsgruppe, die Sie mit Ihren Amazon EFS-Mountingzielen verbinden, den Datenverkehr über das NFS-Protokoll zulassen. 


| Protokolltyp | Protokollnummer | Ports | Quell-IP | Hinweise | 
| --- | --- | --- | --- | --- | 
| TCP | 6 | 2049 (NFS) | Die ID der Sicherheitsgruppe | Erlaubt den eingehenden NFS-Zugriff von Ressourcen (einschließlich des Mountingziels), die mit dieser Sicherheitsgruppe verbunden sind | 

Zum Mounting eines Amazon EFS-Dateisystems auf Ihrer Amazon EC2-Instance müssen Sie eine Verbindung zu Ihrer Instance herstellen. Daher muss die mit Ihrer Instance verbundene Sicherheitsgruppe über Regeln verfügen, die den eingehenden SSH-Datenverkehr von ihrem lokalen Computer oder lokalen Netzwerk aus zulassen.


| Protokolltyp | Protokollnummer | Ports | Quell-IP | Hinweise | 
| --- | --- | --- | --- | --- | 
| TCP | 6 | 22 (SSH) | Der IP-Adressbereich Ihres lokalen Computers bzw. der Bereich von IP-Adressen (in CIDR-Block-Notation) für Ihr Netzwerk. | Lässt eingehenden SSH-Zugriff von Ihrem lokalen Computer zu. | 

## Elastic Load Balancing-Regeln
<a name="sg-rules-elb"></a>

Wenn Sie Ihre EC2-Instances bei einem Load Balancer registrieren, muss die mit Ihrem Load Balancer verbundene Sicherheitsgruppe die Kommunikation mit den Instances erlauben. Weitere Informationen finden Sie in der Dokumentation von Elastic Load Balancing.
+ [Sicherheitsgruppen für Ihren Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-update-security-groups.html)
+ [Sicherheitsgruppen für Ihren Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-security-groups.html)
+ [Konfigurieren von Sicherheitsgruppen für Ihren Classic Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-vpc-security-groups.html)

# NitroTPM für Amazon-EC2-Instances
<a name="nitrotpm"></a>

Nitro Trusted Platform Module (NitroTPM) ist ein virtuelles Gerät von [AWS -Nitro-System](https://aws.amazon.com//ec2/nitro/) und entspricht [TPM 2.0](https://trustedcomputinggroup.org/resource/trusted-platform-module-2-0-a-brief-introduction/). Es speichert sicher Artefakte (etwa Passwörter, Zertifikate oder Verschlüsselungsschlüssel), die zur Authentifizierung der Instance verwendet werden. NitroTPM kann Schlüssel generieren und sie für kryptografische Funktionen nutzen (etwa Hashing, Signieren, Verschlüsselung und Entschlüsselung).

NitroTPM bietet *Measured Boot*, einen Prozess, bei dem der Bootloader und das Betriebssystem kryptografische Hashes für jede Start-Binärdatei erstellen und diese mit den vorherigen Werten in den internen Plattformkonfigurationsregistern () von NitroTPM kombinieren. PCRs Mit „Measured Boot“ können Sie signierte PCR-Werte von NitroTPM abrufen und diese verwenden, um gegenüber Remote-Entitäten die Integrität der Bootsoftware der Instance zu beweisen. Dieser Vorgang wird als Remote-*Bescheinigung* bezeichnet.

Mit NitroTPM können Schlüssel und Secrets mit einem bestimmten PCR-Wert gekennzeichnet werden. Wenn sich der Wert des PCRs und damit die Instance-Integrität ändert, kann dadurch nicht mehr auf die Schlüssel und Secrets zugegriffen werden. Diese besondere Form des bedingten Zugangs wird als *Sealiung und Unsealing* (etwa: Versiegeln und Entsiegeln) bezeichnet. Betriebssystemtechnologien wie können NitroTPM verwenden [BitLocker](https://learn.microsoft.com/en-us/windows/security/operating-system-security/data-protection/bitlocker/), um einen Laufwerks-Entschlüsselungsschlüssel zu versiegeln, sodass das Laufwerk nur dann entschlüsselt werden kann, wenn das Betriebssystem korrekt gestartet wurde und sich in einem zweifelsfrei funktionierenden Zustand befindet.

Um NitroTPM verwenden zu können, müssen Sie ein [Amazon Machine Image](AMIs.md) (AMI) auswählen, das für Unterstützung von NitroTPM konfiguriert wurde, und dann das AMI zum Starten einer [Nitro-basierten Instance](instance-types.md#instance-hypervisor-type) verwenden. Sie können eines der AMIs vorgefertigten Produkte von Amazon auswählen oder selbst eines erstellen.

**Preisgestaltung**  
Für die Nutzung von NitroTPM fallen keine zusätzlichen Kosten an. Sie bezahlen nur für die zugrundeliegenden Ressourcen, die Sie nutzen.

**Topics**
+ [Voraussetzungen](enable-nitrotpm-prerequisites.md)
+ [

# Linux-AMIs für NitroTPM aktivieren
](enable-nitrotpm-support-on-ami.md)
+ [

# Überprüfen, ob ein AMI für NitroTPM aktiviert ist
](verify-nitrotpm-support-on-ami.md)
+ [Aktivieren oder Beenden der Verwendung von NitroTPM](nitrotpm-instance.md)
+ [Überprüfen, dass eine Instance für NitroTPM aktiviert ist](verify-nitrotpm-support-on-instance.md)
+ [Abrufen des Bestätigungsschlüssels](retrieve-ekpub.md)

# Anforderungen für die Verwendung von NitroTPM mit Amazon-EC2-Instances
<a name="enable-nitrotpm-prerequisites"></a>

Um eine Instance mit aktiviertem NitroTPM zu starten, müssen Sie die folgenden Anforderungen erfüllen.

**Topics**
+ [

## AMIs
](#nitrotpm-ami)
+ [

## Instance-Typen
](#nitrotpm-instancetypes)
+ [

## Überlegungen
](#nitrotpm-considerations)

## AMIs
<a name="nitrotpm-ami"></a>

Für das AMI muss NitroTPM aktiviert sein.

**Linux AMIs**  
Es gibt keine vorkonfigurierten AMIs. Sie müssen Ihr eigenes AMI konfigurieren. Weitere Informationen finden Sie unter [Linux-AMIs für NitroTPM aktivieren](enable-nitrotpm-support-on-ami.md).

**Windows AMIs**  
*Informationen zu einem AWS Windows-AMI, das für NitroTPM und UEFI Secure Boot mit Microsoft-Schlüsseln vorkonfiguriert ist, [finden Sie unter Suchen Sie nach einem mit NitroTPM und UEFI Secure Boot AMIs konfigurierten Windows Server](https://docs.aws.amazon.com/ec2/latest/windows-ami-reference/ami-windows-tpm.html#ami-windows-tpm-find) in der Windows-Referenz.AWS AMIs *

**Anmerkung**  
**Betriebssystem** – Das AMI muss ein Betriebssystem mit einem TPM 2.0 Command Response Buffer (CRB)-Treiber enthalten. Die meisten aktuellen Betriebssysteme enthalten einen TPM-2.0-CRB-Treiber.  
**UEFI-Boot-Modus** – Das AMI muss für den UEFI-Boot-Modus konfiguriert sein. Weitere Informationen finden Sie unter [UEFI Secure Boot für Amazon-EC2-Instances](uefi-secure-boot.md).

## Instance-Typen
<a name="nitrotpm-instancetypes"></a>

Sie müssen einen der folgenden virtualisierten Instance-Typen verwenden:
+ **Allzweck**: M5, M5a, M5ad, M5d, M5dn, M5Zn, M6a, M6g, M6GD, M6i, M6id, M6idn, M6in, M7in, M7a, M7g, M7gd, M7i, M7i-Flex, M8a, M8azn, M8g, M8GB, M8 8GD, M8Gn, M8i, M8id, M8i-Flex, T3, T3a, T4g
+ **Computeroptimiert**: C5, C5a, C5ad, C5d, C5n, C6a, C6g, C6gd, C6Gn, C6i, C6id, C6in, C7a, C7g, C7gd, C7gn, C7i, C7i-Flex, C8a, C8g, C8GB, C8GD, C8gn, C8i, C8id, C8i-Flex
+ **Speicheroptimiert**: R5, R5a, R5ad, R5b, R5d, R5dn, R5n, R6a, R6g, R6gd, R6i, R6id, R6idn, R6in, R7a, R7g, R7g, R7gd, R7iz, R8a, R8g, R8GB, R8gd, R8gn, R8i, R8id, R8i-Flex, U7i-6 TB, U7i-8 TB, U7i-12 TB, U7in-16 TB, U7in-24 TB, U7in-32 TB, X2IDN, X2iEDN, X2IEZN, X8G, X8AEDZ, X8i, z1d
+ **Speicheroptimiert**: D3, D3en, I3en, I4i, I7i, I7ie, I8g, I8ge, Im4gn
+ **Beschleunigtes Rechnen**: F2, G4dn, G5, G6, G6e, G6f, Gr6, Gr6f, G7e, Inf1, Inf2, P5, P5e, P5en, P6-B200, P6-B300, Trn2, Trn2u
+ **Hochleistungsrechnen**: HPC6a, HPC6id, HPC8a

## Überlegungen
<a name="nitrotpm-considerations"></a>

Die folgenden Hinweise gelten für die Verwendung von NitroTPM:
+ Wenn Sie nach dem Start einer Instance über ein AMI mit aktiviertem NitroTPM den Instance-Typ ändern möchten, muss der neue Instance-Typ, den Sie wählen, auch NitroTPM unterstützen.
+ BitLocker Volumes, die mit NitroTPM-basierten Schlüsseln verschlüsselt sind, können nur auf der ursprünglichen Instanz verwendet werden.
+ Der NitroTPM-Satus wird nicht in der Amazon-EC2-Konsole angezeigt.
+ Der NitroTPM-Status ist nicht in [Amazon EBS-Snapshots](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-snapshots.html) enthalten.
+ Der NitroTPM-Status ist nicht in [VM-Import-/Export](https://docs.aws.amazon.com/vm-import/latest/userguide/)-Images enthalten.
+ NitroTPM wird auf AWS Outposts., Local Zones oder Wavelength Zones nicht unterstützt.

# Linux-AMIs für NitroTPM aktivieren
<a name="enable-nitrotpm-support-on-ami"></a>

Um NitroTPM für eine Instance zu aktivieren, müssen Sie die Instance mit einem AMI starten, bei dem NitroTPM aktiviert ist. Sie konfigurieren Ihr Linux-AMI für die NitroTPM-Unterstützung bei der Registrierung des AMIs. Sie können die NitroTPM-Unterstützung später nicht mehr konfigurieren.

Eine Liste der Windows AMIs , die für die NitroTPM-Unterstützung vorkonfiguriert sind, finden Sie unter. [Anforderungen für die Verwendung von NitroTPM mit Amazon-EC2-Instances](enable-nitrotpm-prerequisites.md)

Sie müssen ein AMI mit NitroTPM erstellen, das mithilfe der [RegisterImage](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RegisterImage.html)API konfiguriert wurde. Sie können die Amazon-EC2-Konsole oder VM Import/Export nicht verwenden.

**So aktivieren Sie ein Linux-AMI für NitroTPM**

1. Starten Sie eine temporäre Instance mit Ihrem erforderlichen Linux-AMI. Notieren Sie sich die ID des Root-Volumes, die Sie in der Konsole auf der Registerkarte **Speicher** für die Instance finden.

1. Wenn die Instance den `running`-Status erreicht hat, erstellen Sie einen Snapshot des Root-Volumes der Instance. Weitere Informationen finden Sie unter [Erstellen eines Snapshots eines EBS-Volumes](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-create-snapshot.html).

1. Registrieren Sie den Snapshot, den Sie erstellt haben, als AMI. Geben Sie in der Blockgerät-Zuweisung den Snapshot an, den Sie für das Root-Volume erstellt haben.

   Im Folgenden finden Sie ein Beispiel für den Befehl [register-image](https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html). Legen Sie für `--tpm-support` die Option `v2.0` fest. Legen Sie für `--boot-mode` die Option `uefi` fest. 

   ```
   aws ec2 register-image \
       --name my-image \
       --boot-mode uefi \
       --architecture x86_64 \
       --root-device-name /dev/xvda \
       --block-device-mappings DeviceName=/dev/xvda,Ebs={SnapshotId=snap-0abcdef1234567890} \
       --tpm-support v2.0
   ```

   Das Folgende ist ein Beispiel für das [Register-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Image.html)Cmdlet.

   ```
   $block = @{SnapshotId=snap-0abcdef1234567890}
   Register-EC2Image `
       -Name my-image `
       -Architecture "x86_64" `
       -RootDeviceName /dev/xvda `
       -BlockDeviceMapping @{DeviceName="/dev/xvda";Ebs=$block} `
       -BootMode Uefi `
       -TpmSupport V20
   ```

1. Beenden Sie die temporäre Instance, die Sie in Schritt 1 gestartet haben.

# Überprüfen, ob ein AMI für NitroTPM aktiviert ist
<a name="verify-nitrotpm-support-on-ami"></a>

Um NitroTPM für eine Instance zu aktivieren, müssen Sie die Instance mit einem AMI starten, bei dem NitroTPM aktiviert ist. Sie können ein Image beschreiben, um zu überprüfen, ob es für NitroTPM aktiviert ist. Wenn Sie der AMI-Besitzer sind, können Sie das Image-Attribut `tpmSupport` beschreiben.

Die Amazon-EC2-Konsole zeigt `TpmSupport` nicht an.

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

**So überprüfen Sie, ob NitroTPM aktiviert ist**  
Verwenden Sie den Befehl [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html).

```
aws ec2 describe-images \
    --image-ids ami-0abcdef1234567890 \
    --query Images[*].TpmSupport
```

Wenn NitroTPM für das AMI aktiviert ist, sieht die Ausgabe wie folgt aus. Wenn TPM nicht aktiviert ist, ist die Ausgabe leer.

```
[
    "v2.0"
]
```

Wenn Sie der AMI-Besitzer sind, können Sie alternativ den [describe-image-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-image-attribute.html)Befehl mit dem `tpmSupport` Attribut verwenden.

```
aws ec2 describe-image-attribute \
    --image-id ami-0abcdef1234567890 \
    --attribute tpmSupport
```

 Es folgt eine Beispielausgabe.

```
{
    "ImageId": "ami-0abcdef1234567890",
    "TpmSupport": {
        "Value": "v2.0"
    }
}
```

**Um zu suchen, wenn AMIs NitroTPM aktiviert ist**  
Das folgende Beispiel listet diejenigen auf, die IDs Sie besitzen und bei AMIs denen NitroTPM aktiviert ist.

```
aws ec2 describe-images \
    --owners self \
    --filters Name=tpm-support,Values=v2.0 \
    --query Images[].ImageId
```

------
#### [ PowerShell ]

**So überprüfen Sie, ob NitroTPM aktiviert ist**  
Verwenden Sie das cmdlet [Get-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html).

```
Get-EC2Image `
    -ImageId ami-0abcdef1234567890 | Select TpmSupport
```

Wenn NitroTPM für das AMI aktiviert ist, sieht die Ausgabe wie folgt aus. Wenn TPM nicht aktiviert ist, ist die Ausgabe leer.

```
TpmSupport
----------
v2.0
```

Wenn Sie der AMI-Besitzer sind, können Sie alternativ das [Get-EC2ImageAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ImageAttribute.html)Cmdlet mit dem `tpmSupport` Attribut verwenden.

```
Get-EC2ImageAttribute `
    -ImageId ami-0abcdef1234567890 `
    -Attribute tpmSupport
```

**Um zu suchen, wenn NitroTPM AMIs aktiviert ist**  
Das folgende Beispiel listet diejenigen auf, die IDs Sie besitzen und bei AMIs denen NitroTPM aktiviert ist.

```
Get-EC2Image `
    -Owner self `
    -Filter @{Name="tpm-support; Values="v2.0"} | Select ImageId
```

------

# Aktivieren oder Beenden der Nutzung von NitroTPM in einer Amazon-EC2-Instance
<a name="nitrotpm-instance"></a>

Sie können NitroTPM für eine Amazon-EC2-Instance nur beim Start aktivieren. Sobald eine Instance für NitroTPM aktiviert ist, können Sie sie nicht mehr deaktivieren. Wenn Sie NitroTPM nicht mehr verwenden müssen, müssen Sie das Betriebssystem so konfigurieren, dass es nicht mehr verwendet wird.

**Topics**
+ [

## Starten Sie eine Instance mit aktiviertem NitroTPM
](#launch-instance-with-nitrotpm)
+ [

## Beenden der Verwendung von NitroTPM für eine Instance
](#disable-nitrotpm-support-on-instance)

## Starten Sie eine Instance mit aktiviertem NitroTPM
<a name="launch-instance-with-nitrotpm"></a>

Wenn Sie eine Instance mit den [Voraussetzungen](enable-nitrotpm-prerequisites.md) starten, wird NitroTPM automatisch auf der Instance aktiviert. Sie können NitroTPM für eine Instance nur beim Start aktivieren. Weitere Informationen über das Starten einer Instance finden Sie unter [Starten Sie eine Amazon-EC2-Instance](LaunchingAndUsingInstances.md).

## Beenden der Verwendung von NitroTPM für eine Instance
<a name="disable-nitrotpm-support-on-instance"></a>

Nachdem Sie eine Instance mit aktiviertem NitroTPM gestartet haben, können Sie NitroTPM für die Instance nicht deaktivieren. Sie können das Betriebssystem jedoch so konfigurieren, dass es NitroTPM nicht mehr verwendet. Deaktivieren Sie dazu den TPM 2.0-Gerätetreiber für die Instance mithilfe der folgenden Tools:
+ Verwenden Sie für **Linux-Instances** „tpm-tools“.
+ Verwenden Sie für **Windows-Instances** die TPM-Verwaltungskonsole (tpm.msc).

Weitere Informationen über das Deaktivieren des Gerätetreibers finden Sie in der Dokumentation für Ihr Betriebssystem.

# Sicherstellen, dass eine Amazon-EC2-Instance für NitroTPM aktiviert ist
<a name="verify-nitrotpm-support-on-instance"></a>

Sie können überprüfen, ob eine Amazon-EC2-Instance für NitroTPM aktiviert ist. Wenn die NitroTPM-Unterstützung auf der Instance aktiviert ist, gibt der Befehl `"v2.0"` zurück. Andernfalls ist das `TpmSupport`-Feld in der Ausgabe nicht vorhanden.

Die Amazon-EC2-Konsole zeigt das Feld `TpmSupport` nicht an.

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

**So überprüfen Sie, ob eine Instance für NitroTPM aktiviert ist**  
Verwenden Sie den Befehl [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html).

```
aws ec2 describe-instances \
    --instance-ids i-1234567890abcdef0 \
    --query Reservations[].Instances[].TpmSupport
```

------
#### [ PowerShell ]

**So überprüfen Sie, ob eine Instance für NitroTPM aktiviert ist**  
Verwenden Sie das cmdlet [Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html).

```
(Get-EC2Instance `
    -InstanceId i-1234567890abcdef0).Instances.TpmSupport
```

------

## NitroTPM-Zugriff auf Ihrer Windows-Instance verifizieren
<a name="verify-nitrotpm-support-windows-instance"></a>

**(Nur Windows-Instances) So überprüfen Sie, ob Windows Zugriff auf NitroTPM hat**

1. [Stellen Sie eine Verbindung mit Ihrer Windows-Instance her.](connecting_to_windows_instance.md)

1. Führen Sie in der Instance das Programm „tpm.msc“ aus.

   Das Fenster **TPM Management on Local Computer** (TPM-Verwaltung auf lokalem Computer) wird geöffnet.

1. Setzen Sie einen Haken bei dem Feld **TPM Manufacturer Information** (TPM-Herstellerinformationen). Es enthält den Namen des Herstellers und die Version von NitroTPM auf der Instance.  
![\[Das Fenster „TPM Management on Local Computer“ (TPM-Verwaltung auf lokalem Computer) und das Feld „TPM Manufacturer Information“ (TPM-Herstellerinformationen) zeigen die NitroTPM-Version auf der Instance an.\]](http://docs.aws.amazon.com/de_de/AWSEC2/latest/UserGuide/images/tpm-1.png)

# Den öffentlichen Bestätigungsschlüssel für eine EC2-Instance abrufen
<a name="retrieve-ekpub"></a>

Sie können den öffentlichen Bestätigungsschlüssel für eine Instance jederzeit sicher abrufen.

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

**So rufen Sie den öffentlichen Bestätigungsschlüssel für eine Instance ab**  
Verwenden Sie den Befehl [get-instance-tpm-ek-pub](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-instance-tpm-ek-pub.html).

**Beispiel 1**  
Das folgende Beispiel ruft den öffentlichen `rsa-2048`-Bestätigungsschlüssel im Format `tpmt` für die angegebene Instance ab.

```
aws ec2 get-instance-tpm-ek-pub \
    --instance-id i-1234567890abcdef0 \
    --key-format tpmt \ 
    --key-type rsa-2048
```

Es folgt eine Beispielausgabe.

```
{
    "InstanceId": "i-01234567890abcdef",
    "KeyFormat": "tpmt",
    "KeyType": "rsa-2048",
    "KeyValue": "AAEACwADALIAIINxl2dEhLEXAMPLEUal1yT9UtduBlILZPKh2hszFGmqAAYAgABDA
    EXAMPLEAAABAOiRd7WmgtdGNoV1h/AxmW+CXExblG8pEUfNm0LOLiYnEXAMPLERqApiFa/UhvEYqN4
    Z7jKMD/usbhsQaAB1gKA5RmzuhSazHQkax7EXAMPLEzDthlS7HNGuYn5eG7qnJndRcakS+iNxT8Hvf
    0S1ZtNuItMs+Yp4SO6aU28MT/JZkOKsXIdMerY3GdWbNQz9AvYbMEXAMPLEPyHfzgVO0QTTJVGdDxh
    vxtXCOu9GYf0crbjEXAMPLEd4YTbWdDdgOKWF9fjzDytJSDhrLAOUctNzHPCd/92l5zEXAMPLEOIFA
    Ss50C0/802c17W2pMSVHvCCa9lYCiAfxH/vYKovAAE="
}
```

**Beispiel 2**  
Das folgende Beispiel ruft den öffentlichen `rsa-2048`-Bestätigungsschlüssel im Format `der` für die angegebene Instance ab.

```
aws ec2 get-instance-tpm-ek-pub \
    --instance-id i-1234567890abcdef0 \
    --key-format der \ 
    --key-type rsa-2048
```

Es folgt eine Beispielausgabe.

```
{
    "InstanceId": "i-1234567890abcdef0",
    "KeyFormat": "der",
    "KeyType": "rsa-2048",
    "KeyValue": "MIIBIjANBgEXAMPLEw0BAQEFAAOCAQ8AMIIBCgKCAQEA6JF3taEXAMPLEXWH8DGZb4
    JcTFuUbykRR82bQs4uJifaKSOv5NGoEXAMPLEG8Rio3hnuMowP+6xuGxBoAHWAoDlGbO6FJrMdEXAMP
    LEnYUHvMO2GVLsc0a5ifl4buqcmd1FxqRL6I3FPwe9/REXAMPLE0yz5inhI7ppTbwxP8lmQ4qxch0x6
    tjcZ1Zs1DP0EXAMPLERUYLQ/Id/OBU7RBNMlUZ0PGG/G1cI670Zh/RytuOdx9iEXAMPLEtZ0N2A4pYX
    1+PMPK0lIOGssA5Ry03Mc8J3/3aXnOD2/ASRQ4gUBKznQLT/zTZEXAMPLEJUe8IJr2VgKIB/Ef+9gqi
    8AAQIDAQAB"
}
```

------
#### [ PowerShell ]

**So rufen Sie den öffentlichen Bestätigungsschlüssel für eine Instance ab**  
Verwenden Sie das cmdlet [Get-EC2InstanceTpmEkPub](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceTpmEkPub.html).

**Beispiel 1**  
Das folgende Beispiel ruft den öffentlichen `rsa-2048`-Bestätigungsschlüssel im Format `tpmt` für die angegebene Instance ab.

```
Get-EC2InstanceTpmEkPub `
    -InstanceId i-1234567890abcdef0 `
    -KeyFormat tpmt `
    -KeyType rsa-2048
```

**Beispiel 2**  
Das folgende Beispiel ruft den öffentlichen `rsa-2048`-Bestätigungsschlüssel im Format `der` für die angegebene Instance ab.

```
Get-EC2InstanceTpmEkPub `
    -InstanceId i-1234567890abcdef0 `
    -KeyFormat der `
    -KeyType rsa-2048
```

------

# Amazon-EC2-Instance-Attestierung
<a name="nitrotpm-attestation"></a>

Die Attestierung ist ein Prozess, mit dem Sie jeder Partei kryptografisch nachweisen können, dass nur vertrauenswürdige Software, Treiber und Startprozesse auf einer Amazon-EC2-Instance ausgeführt werden. *Die Amazon EC2 EC2-Instance-Bescheinigung wird durch das Nitro Trusted Platform Module (NitroTPM) und Attestable unterstützt. AMIs*

Der erste Schritt zur Attestierung besteht darin, ein **attestierbares AMI** zu erstellen und die *Referenzmessungen* dieses AMI zu bestimmen. Ein attestierbares AMI ist ein AMI, das von Grund auf für die Attestierung erstellt wurde. Bei den Referenzmessungen handelt es sich um Messungen Ihrer gesamten Software und Konfigurationen, die Sie in Ihr AMI aufgenommen haben. Weitere Informationen zum Ermitteln der Referenzmessungen finden Sie unter [Beispiel-Image-Beschreibung erstellen](build-sample-ami.md).

![\[Generierung AMIs von Referenzmessungen mit Attestable.\]](http://docs.aws.amazon.com/de_de/AWSEC2/latest/UserGuide/images/attestable-ami.PNG)


Der nächste Schritt besteht darin, eine [Nitro-TPM-fähige EC2-Instance](enable-nitrotpm-prerequisites.md#nitrotpm-instancetypes) mit dem attestierbaren AMI zu starten. Nachdem Sie die Instance gestartet haben, können Sie die [NitroTPM-Tools](attestation-get-doc.md) verwenden, um das *Attestierungsdokument* zu generieren. Anschließend können Sie die tatsächlichen Messungen Ihrer EC2-Instance aus dem Attestierungsdokument mit den Referenzmessungen vergleichen, um zu überprüfen, ob die Instance über die Software und Konfigurationen verfügt, denen Sie vertrauen.

Indem Sie die während der Erstellung des attestierbaren AMI generierten Referenzmessungen mit den Messungen vergleichen, die im Attestierungsdokument einer Instance enthalten sind, können Sie überprüfen, ob nur Software und Code, denen Sie vertrauen, auf der Instance ausgeführt werden.

![\[Generierung eines Attestierungsdokuments.\]](http://docs.aws.amazon.com/de_de/AWSEC2/latest/UserGuide/images/attestation-document.PNG)


## Integration mit AWS KMS
<a name="attestation-kms"></a>

Um den Vergleich von Messungen zu vereinfachen, können Sie AWS Key Management Service (AWS KMS) als Prüfer für Bescheinigungsdokumente verwenden. Mit AWS KMS können Sie auf Bescheinigungen basierende KMS-Schlüsselrichtlinien erstellen, die bestimmte Operationen mit dem KMS-Schlüssel nur zulassen, wenn Sie ein Bescheinigungsdokument mit Messwerten bereitstellen, die den Referenzmessungen entsprechen. Dazu fügen Sie Ihren KMS-Schlüsselrichtlinien, die die Referenzmessungen als Bedingungsschlüsselwerte verwenden, spezifische Bedingungsschlüssel hinzu und geben dann an, welche KMS-Vorgänge zulässig sind, wenn der Bedingungsschlüssel erfüllt ist.

Wenn Sie KMS-Operationen mit dem KMS-Schlüssel ausführen, müssen Sie der KMS-Anfrage ein Bestätigungsdokument beifügen. AWS KMS validiert dann die Messungen aus dem Bescheinigungsdokument anhand der Referenzmessungen in der KMS-Schlüsselrichtlinie und ermöglicht den Schlüsselzugriff nur, wenn die Messungen übereinstimmen.

Wenn Sie das Attestierungsdokument für eine Instance generieren, müssen Sie außerdem einen öffentlichen Schlüssel für ein Schlüsselpaar angeben, das Sie besitzen. Der angegebene öffentliche Schlüssel ist im Attestierungsdokument enthalten. Wenn das Bestätigungsdokument AWS KMS validiert und eine Entschlüsselung zugelassen wird, verschlüsselt es die Antwort automatisch mit dem öffentlichen Schlüssel, der im Bestätigungsdokument enthalten ist, bevor sie zurückgegeben wird. Dadurch wird sichergestellt, dass die Antwort entschlüsselt werden kann und nur mit dem entsprechenden privaten Schlüssel für den öffentlichen Schlüssel, der in der Bescheinigung enthalten ist, entschlüsselt und verwendet werden kann. 

Dadurch wird sichergestellt, dass nur Instances, auf denen vertrauenswürdige Software und vertrauenswürdiger Code ausgeführt werden, kryptografische Vorgänge mit einem KMS-Schlüssel ausführen können.

## Attestierung isolierter Rechenumgebungen
<a name="attestation-isolated-compute-environments"></a>

Im Allgemeinen können Sie eine EC2-Instance als **isolierte Rechenumgebung** erstellen und konfigurieren, die keinen interaktiven Zugriff und keinen Mechanismus für Ihre Administratoren und Benutzer bietet, um auf die Daten zuzugreifen, die in der EC2-Instance verarbeitet werden. Mit der EC2-Instance-Attestierung können Sie einem Drittanbieter oder Service nachweisen, dass Ihre Instance als isolierte Rechenumgebung ausgeführt wird. Weitere Informationen finden Sie unter [Isolieren Sie Daten von Ihren eigenen Bedienern](isolate-data-operators.md).

Ein Beispiel finden Sie in der [Beispiel-Image-Beschreibung für Amazon Linux 2023](build-sample-ami.md), die eine isolierte Rechenumgebung erstellt. Sie können diese Beispiel-Image-Beschreibung als Ausgangspunkt verwenden und sie an Ihre Anforderungen anpassen.

## AWS Modell der geteilten Verantwortung
<a name="attestation-shared-responsibility"></a>

NitroTPM und attestierbare AMIs sind Bausteine, die Ihnen bei der Einrichtung und Konfiguration der Attestierung auf Ihren EC2-Instances helfen können. Sie sind dafür verantwortlich, das AMI so zu konfigurieren, dass es Ihrem jeweiligen Anwendungsfall entspricht. Weitere Informationen finden Sie unter [AWS -Modell der geteilten Verantwortung](https://aws.amazon.com/compliance/shared-responsibility-model/).

**Topics**
+ [

## Integration mit AWS KMS
](#attestation-kms)
+ [

## Attestierung isolierter Rechenumgebungen
](#attestation-isolated-compute-environments)
+ [

## AWS Modell der geteilten Verantwortung
](#attestation-shared-responsibility)
+ [

# Bescheinigbar AMIs
](attestable-ami.md)
+ [

# Bereiten Sie sich auf die AWS KMS Bescheinigung vor
](prepare-attestation-service.md)
+ [

# Das NitroTPM-Attestierungsdokument abrufen
](attestation-get-doc.md)
+ [

# Integration mit AWS KMS
](attestation-attest.md)
+ [

# Isolieren Sie Daten von Ihren eigenen Bedienern
](isolate-data-operators.md)

# Bescheinigbar AMIs
<a name="attestable-ami"></a>

Ein attestierbares AMI ist ein Amazon Machine Image (AMI) mit einem entsprechenden kryptografischen Hash, der seinen gesamten Inhalt darstellt. Der Hash wird während des AMI-Erstellungsprozesses generiert und auf der Grundlage des gesamten Inhalts dieses AMI berechnet, einschließlich der Anwendungen, des Codes und des Startvorgangs.

## Beibehaltung eines attestierbaren Status
<a name="maintain-attestability"></a>

Die Messungen einer Instance basieren auf ihrem anfänglichen Startstatus. Alle Software- oder Codeänderungen, die nach dem Start an der Instance vorgenommen werden und auch nach Neustarts bestehen bleiben, wirken sich auf die Messwerte der Instance nach dem Neustart aus. Wenn die Messungen geändert werden, weichen sie von den Referenzmessungen des attestierbaren AMI ab, und die Instance kann nach dem Neustart nicht mehr erfolgreich von AWS KMS attestiert werden. Damit Attestable AMIs nützlich ist, müssen Instances daher nach dem Neustart in ihren ursprünglichen Startstatus zurückkehren.

Wenn Sie immer zum ursprünglichen Startstatus zurückkehren, wird sichergestellt, dass eine Instance nach dem Neustart erfolgreich attestiert werden kann. Die folgenden Hilfsprogramme können verwendet werden, um sicherzustellen, dass Ihre Instances auch nach einem Neustart attestierbar bleiben:
+ `erofs` – Verbessertes schreibgeschütztes Dateisystem. Dieses Hilfsprogramm stellt sicher, dass Ihr Root-Dateisystem schreibgeschützt ist. Mit diesem Hilfsprogramm werden Schreibvorgänge in das Dateisystem, einschließlich `/etc`, `/run` und `/var` im Arbeitsspeicher gespeichert und gehen verloren, wenn die Instance neu gestartet wird, sodass das Root-Dateisystem in seinem ursprünglichen Startstatus belassen wird. Weitere Informationen finden Sie in der [erofs-Dokumentation](https://docs.kernel.org/filesystems/erofs.html).
+ `dm-verity` – Bietet Integritätsschutz für das schreibgeschützte Root-Dateisystem. Das Hilfsprogramm berechnet einen Hash der Dateisystemblöcke und speichert ihn in der Kernel-Befehlszeile. Dadurch kann der Kernel die Integrität des Dateisystems beim Hochfahren überprüfen. Weitere Informationen finden Sie in der [dm-verity-Dokumentation](https://docs.kernel.org/admin-guide/device-mapper/verity.html).

## Voraussetzungen für die Erstellung von Attestable AMIs
<a name="ami-attestable-requirements"></a>

Für Attestable gelten die folgenden AMIs Anforderungen:
+ **Basisbetriebssystem** – Amazon Linux 2023 und [NixOS](https://github.com/aws/nitrotpm-attestation-samples)
+ **Architektur** – `x86_64`- oder `arm64`-Architektur
+ **TPM-Unterstützung** – NitroTPM muss aktiviert sein. Weitere Informationen finden Sie unter [Anforderungen für die Verwendung von NitroTPM mit Amazon-EC2-Instances](enable-nitrotpm-prerequisites.md).
+ **Startmodus** – Der UEFI-Startmodus muss aktiviert sein.

**Topics**
+ [

## Beibehaltung eines attestierbaren Status
](#maintain-attestability)
+ [

## Voraussetzungen für die Erstellung von Attestable AMIs
](#ami-attestable-requirements)
+ [

## Attestable wird erstellt AMIs
](#sample-ami)
+ [Beispiel-Image-Beschreibung erstellen](build-sample-ami.md)
+ [

# Beispiel-Image-Beschreibung für Amazon Linux 2023
](al2023-isolated-compute-recipe.md)
+ [Die Beispiel-Image-Beschreibung anpassen](customize-sample-ami.md)
+ [PCR-Messungen berechnen](create-pcr-compute.md)

## Attestable wird erstellt AMIs
<a name="sample-ami"></a>

Um ein attestierbares AMI zu erstellen, müssen Sie Amazon Linux 2023 mit [KIWI Next Generation (KIWI NG)](https://osinside.github.io/kiwi/) verwenden. Amazon Linux 2023 bietet die gesamte Software und sämtliche Hilfsprogramme, die für die Erstellung eines attestierbaren AMI mit KIWI NG erforderlich sind. 

KIWI NG ist ein Open-Source-Tool zum Entwickeln von vorkonfigurierten Linux-basierten Images. KIWI NG verwendet XML-*Image-Beschreibungen*, die den Inhalt eines Images definieren. Die Image-Beschreibung spezifiziert das Basisbetriebssystem, die Software, die Kernelkonfiguration und die Skripts, die ausgeführt werden müssen, um ein ready-to-use AMI für einen bestimmten Anwendungsfall zu erstellen.

Während der AMI-Erstellungszeit müssen Sie das Hilfsprogramm `nitro-tpm-pcr-compute` verwenden, um die Referenzmessungen auf der Grundlage des von KIWI NG generierten Unified Kernel Image (UKI) zu generieren. Weitere Informationen zur Verwendung des Hilfsprogramms `nitro-tpm-pcr-compute` finden Sie unter [PCR-Messungen für ein benutzerdefiniertes AMI berechnen](create-pcr-compute.md).

AWS bietet ein Beispiel für eine Beschreibung eines Amazon Linux 2023-Images, das alle Konfigurationen enthält, die für die Konfiguration einer EC2-Instance in einer isolierten Computerumgebung erforderlich sind. Weitere Informationen finden Sie unter [Beispiel-Image-Beschreibung für Amazon Linux 2023 erstellen](build-sample-ami.md).

# Beispiel-Image-Beschreibung für Amazon Linux 2023 erstellen
<a name="build-sample-ami"></a>

AWS bietet ein Beispiel für eine Amazon Linux 2023-Imagebeschreibung, die Sie als Ausgangspunkt für die Erstellung Ihres eigenen benutzerdefinierten Attestable AMIs für Ihre Workloads verwenden können. Die Beispiel-Image-Beschreibung umfasst Amazon Linux 2023 als Basisbetriebssystem, `dm-verity`- und `erofs`-Konfigurationen für die Unveränderlichkeit des Dateisystems. Außerdem wird jeglicher interaktiver Zugriff (wie SSH, EC2-Instance-Verbindung und serielle Konsole) entfernt, um eine isolierte Rechenumgebung zu schaffen. Weitere Informationen über die Beispiel-Image-Beschreibung finden Sie im [Github-Repo](https://github.com/amazonlinux/kiwi-image-descriptions-examples).

Die Beispiel-Image-Beschreibung installiert automatisch die NitroTPM-Tools (`nitro-tpm-pcr-compute` und `nitro-tpm-attest`) im erstellten Image im Verzeichnis `/usr/bin/`. Dadurch wird sichergestellt, dass die Tools auf Instances vorinstalliert sind, die über das AMI gestartet werden.

Die Beispiel-Image-Beschreibung umfasst ein Skript, `edit_boot_install.sh`, das die Befehle enthält, die zum Generieren der Referenzmessungen erforderlich sind. Das Skript hängt die von KIWI NG erstellte rohe Festplatten-Image-Datei (`.raw`) auf einem Loopback-Gerät ein, lokalisiert die UKI mit der Dateierweiterung `.efi` und führt dann das Hilfsprogramm `nitro-tpm-pcr-compute` aus, um die Referenzmessungen für das AMI zu generieren. Das Skript wird während der Build-Zeit automatisch von KIWI NG ausgeführt.

In diesem Tutorial erfahren Sie, wie Sie die Beispiel-Image-Beschreibung erstellen, um ein attestierbares AMI zu erstellen.

Weitere Informationen zum Erstellen eigener Image-Beschreibungen finden Sie in der folgenden KIWI-NG-Dokumentation:
+ [Schnellstart](https://osinside.github.io/kiwi/quickstart.html)
+ [Image-Beschreibung](https://osinside.github.io/kiwi/image_description.html)
+ [Beispiel-Image-Beschreibung für Amazon Linux 2023](https://github.com/amazonlinux/kiwi-image-descriptions-examples)

Voraussetzungen

Ihre IAM-Identität muss über die folgenden Berechtigungen verfügen, um dieses Tutorial abschließen zu können:
+ `ebs:CompleteSnapshot``ebs:StartSnapshot`, und weiter `ebs:PutSnapshotBlock` `arn:aws:ec2:*::snapshot/*`
+ `ec2:RegisterImage`auf allen Ressourcen

**So erstellen Sie eine Beispiel-Image-Beschreibung für Amazon Linux 2023 mit KIWI NG**

1. Starten Sie eine Amazon EC2 EC2-Instance mit dem neuesten AL2023 AMI. Um sicherzustellen, dass Ihre Instance über ausreichend Speicherplatz für die Erstellung des AMI verfügt, stellen Sie sicher, dass Sie mindestens 12 GB Speicher bereitstellen.

1. Installieren Sie die erforderlichen Abhängigkeiten. Der folgende Befehl installiert die folgenden Hilfsprogramme:
   + `kiwi-cli`
   + `veritysetup`
   + `erofs-utils`
   + `aws-nitro-tpm-tools`

   ```
   sudo dnf install -y kiwi-cli python3-kiwi kiwi-systemdeps-core python3-poetry-core qemu-img veritysetup erofs-utils git cargo aws-nitro-tpm-tools
   ```

1. Installieren Sie das Hilfsprogramm `coldsnap`. Mit diesem Hilfsprogramm können Sie Amazon-EBS-Snapshots aus Image-Rohdaten erstellen. Sie verwenden dieses Hilfsprogramm, um einen EBS-Snapshot aus der von KIWI NG erstellten rohen Festplatten-Image-Datei zu erstellen.

   ```
   git clone https://github.com/awslabs/coldsnap.git
   cd coldsnap
   cargo install --locked coldsnap
   cd ..
   ```

1. Rufen Sie die Dateien der Beispiel-Image-Beschreibung ab.

   ```
   sudo dnf install kiwi-image-descriptions-examples
   ```

   Die Dateien der Beispiel-Image-Beschreibung werden in das folgende Verzeichnis heruntergeladen: `/usr/share/kiwi-image-descriptions-examples/al2023/attestable-image-example`

1. Erstellen Sie die Beispiel-Image-Beschreibung mit dem KIWI-NG-Befehl `system build`. Mit dem folgenden Befehl wird eine rohe Festplatten-Image-Datei im Verzeichnis `./image` erstellt.

   ```
   sudo kiwi-ng \
   --color-output \
   --loglevel 0 \
   system build \
   --description /usr/share/kiwi-image-descriptions-examples/al2023/attestable-image-example \
   --target-dir ./image
   ```

   Weitere Informationen finden Sie in der Dokumentation [kiwi-ng system build](https://osinside.github.io/kiwi/commands/system_build.html).

1. Rufen Sie die Referenzmessungen für das AMI ab. Die Messungen werden vom Hilfsprogramm `nitro-tpm-pcr-compute` während der Image-Erstellung im vorherigen Schritt generiert. Sie können die Referenzmessungen in der folgenden Datei finden: `./image/pcr_measurements.json`.

   Die Messungen werden im folgenden JSON-Format bereitgestellt:

   ```
   {
     "Measurements": {
       "HashAlgorithm": "SHA384 { ... }",
       "PCR4": "PCR4_measurement",
       "PCR7": "PCR7_measurement",
       "PCR12": "PCR12_measurement"
     }
   }
   ```

1. Verwenden Sie das Hilfsprogramm `coldsnap`, um das von KIWI NG erstellte rohe Festplatten-Image in einen EBS-Snapshot hochzuladen. Der Befehl gibt die Snapshot-ID zurück. Notieren Sie sich die ID, die Sie im nächsten Schritt benötigen.

   ```
   SNAPSHOT=$(.cargo/bin/coldsnap upload ./image/al2023*.raw)
   echo "Created snapshot: $SNAPSHOT"
   ```

   Weitere Informationen über das `coldsnap` Hilfsprogramm finden Sie im [ GitHub Coldsnap-Repo](https://github.com/awslabs/coldsnap).

1. Registrieren Sie ein TPM-2.0-fähiges AMI im UEFI-Startmodus mithilfe des Snapshots aus dem vorherigen Schritt. Geben Sie bei `--architecture` den Wert `x86_64` für Intel oder `arm64` für Graviton an.

   ```
   aws ec2 register-image \
   --name "attestable_isolated_al2023_ami" \
   --virtualization-type hvm \
   --boot-mode uefi \
   --architecture x86_64|arm64 \
   --root-device-name /dev/xvda \
   --block-device-mappings DeviceName=/dev/xvda,Ebs={SnapshotId=${SNAPSHOT}} \
   --tpm-support v2.0 \
   --ena-support
   ```

# Beispiel-Image-Beschreibung für Amazon Linux 2023
<a name="al2023-isolated-compute-recipe"></a>

Die Beispiel-Image-Beschreibung für Amazon Linux 2023 hat die folgenden Eigenschaften: 

1. **Unified Kernel Image (UKI)-Boot** – Hochfahren mit einer einzigen, signierten Binärdatei, die den Kernel, `initrd` und die Startparameter zu einem unveränderlichen Image kombiniert.

1. **Schreibgeschütztes Root-Dateisystem** – Verwenden Sie das Enhanced Read-Only File System (`erofs`) mit dm-verity-Schutz, um sicherzustellen, dass das Root-Dateisystem nicht verändert werden kann und um die kryptografische Integritätsprüfung aufrechtzuerhalten.

1. **Flüchtiges Overlay-Dateisystem** – Erzeugt ein temporäres Overlay-Dateisystem, das temporäre Schreibvorgänge in Verzeichnisse wie `/etc`, `/run` und `/var` ermöglicht. Da dieses Overlay-Dateisystem nur im Arbeitsspeicher existiert, gehen alle Änderungen automatisch verloren, wenn die Instance neu gestartet wird. Dadurch wird sichergestellt, dass das System zu seinem ursprünglichen vertrauenswürdigen Status zurückkehrt.

1. **Deaktivierte Fernzugriffsmethoden** – Entfernen Sie die folgenden Fernzugriffsmechanismen, um den Fernzugriff zu verhindern:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/AWSEC2/latest/UserGuide/al2023-isolated-compute-recipe.html)

   \$1 Weitere Informationen finden Sie unter [Elemente der Image-Beschreibung](https://osinside.github.io/kiwi/image_description/elements.html#packages-ignore).

# Die Beispiel-Image-Beschreibung für Amazon Linux 2023 an Ihren Workload anpassen
<a name="customize-sample-ami"></a>

Sie können die Beispiel-Image-Beschreibung für Amazon Linux 2023 anpassen und die Softwarepakete, Skripts und Dateien hinzufügen, die für Ihren spezifischen Workload benötigt werden. Anpassungen werden durch Hinzufügen oder Ändern verschiedener Elemente in der KIWI-NG-Image-Beschreibung erreicht.

**Topics**
+ [

## Repository-Verwaltung
](#prepare-custom-image-repos)
+ [

## Paketmanagement
](#customize-sample-ami-packages)
+ [

## Dateien und Verzeichnisse hinzufügen
](#customize-sample-ami-overlay)
+ [

## Hinzufügen von benutzerdefinierten Skripts
](#customize-sample-ami-script)

## Repository-Verwaltung
<a name="prepare-custom-image-repos"></a>

Standardmäßig enthält die Beispiel-Image-Beschreibung ein einzelnes `<repository>`-Element, das auf einen Spiegelendpunkt für die Kern-Repositorys von Amazon Linux 2023 verweist. Bei Bedarf können Sie Verweise auf andere Repositorys hinzufügen, von denen aus Sie Ihre benötigte Software installieren können.

Die Beispiel-Image-Beschreibung verwendet den `dnf`-Paketmanager, wie er im `<packagemanager>`-Element definiert ist.

Weitere Informationen zum Hinzufügen von Repositorys finden Sie unter [Repositorys einrichten](https://osinside.github.io/kiwi/concept_and_workflow/repository_setup.html).

## Paketmanagement
<a name="customize-sample-ami-packages"></a>

Standardmäßig enthält die Beispiel-Image-Beschreibung alle Pakete, die zur Erstellung eines Amazon Linux 2023 attestierbaren AMI für eine isolierte Rechenumgebung mit einem schreibgeschützten `erofs`-Dateisystem erforderlich sind.

Sie können zusätzliche Softwarepakete in die Image-Beschreibung aufnehmen, indem Sie sie dem `<packages>`-Element in der Image-Beschreibung hinzufügen. Das `<packages>`-Element definiert die gesamte Software, die im AMI installiert werden soll.

Sie können das `<packages>`-Element auch verwenden, um bestimmte Softwarepakete zu deinstallieren oder zu löschen.

Weitere Informationen zum Hinzufügen oder Entfernen von Paketen in der Image-Beschreibung finden Sie unter [Pakete hinzufügen und entfernen](https://osinside.github.io/kiwi/concept_and_workflow/packages.html#).

## Dateien und Verzeichnisse hinzufügen
<a name="customize-sample-ami-overlay"></a>

Die Beispiel-Image-Beschreibung enthält einen Overlay-Verzeichnisbaum (`/root/`). Der Overlay-Verzeichnisbaum ist ein Verzeichnis, das Dateien und Verzeichnisse enthält, die während der Image-Erstellung in das Image kopiert werden. Alle Dateien und Verzeichnisse, die Sie im Overlay-Verzeichnisbaum platzieren, werden während der Image-Erstellung direkt in das Root-Dateisystem des Images kopiert.

Der Overlay-Verzeichnisbaum wird in das Image kopiert, nachdem alle Pakete installiert wurden. Neue Dateien werden hinzugefügt und bestehende Dateien werden überschrieben.

## Hinzufügen von benutzerdefinierten Skripts
<a name="customize-sample-ami-script"></a>

Die Beispiel-Image-Beschreibung enthält ein einzelnes benutzerdefiniertes Skript, `edit_boot_install.sh`. Dieses Skript enthält die Befehle, die zur Ausführung des Hilfsprogramms `nitro-tpm-pcr-compute` erforderlich sind, das die Referenzmessungen auf der Grundlage des Image-Inhalts generiert. Dieses Skript wird unmittelbar nach der Installation des Bootloaders aufgerufen.

Bei Bedarf können Sie Ihre eigenen benutzerdefinierten Skripts in die Image-Beschreibung aufnehmen, um Aufgaben oder Konfigurationen während der Image-Erstellung oder beim ersten Start des Images durchzuführen. Mithilfe von Skripts können Sie Ihre Images auf eine Weise anpassen, die mit der Image-Beschreibung allein nicht erreicht werden kann.

Um benutzerdefinierte Skripts in Ihre Image-Beschreibung aufzunehmen, müssen Sie sie je nach Art des Skripts korrekt benennen und sie demselben Verzeichnis wie die `appliance.kiwi`-Datei hinzufügen. KIWI NG erkennt die Skripte automatisch und führt sie aus, wenn sie korrekt benannt und an der richtigen Stelle platziert sind, ohne dass in der Image-Beschreibungsdatei explizit auf sie verwiesen werden muss.

Weitere Informationen zu den von KIWI NG unterstützten Skripts finden Sie unter [Benutzerdefinierte Skripts](https://osinside.github.io/kiwi/concept_and_workflow/shell_scripts.html).

# PCR-Messungen für ein benutzerdefiniertes AMI berechnen
<a name="create-pcr-compute"></a>

Das Hilfsprogramm `nitro-tpm-pcr-compute` ermöglicht es Ihnen, während der Build-Zeit die Referenzmessungen für ein attestierbares AMI auf der Grundlage seines Unified Kernel Image (UKI) zu generieren.

Die Beispiel-Image-Beschreibung für Amazon Linux 2023 installiert automatisch das Hilfsprogramm im erstellten Image im `/usr/bin/`-Verzeichnis. Die Beispiel-Image-Beschreibung enthält auch ein Skript mit den Befehlen, die zur Ausführung des Hilfsprogramms zur Generierung der Referenzmessungen während der Image-Erstellung erforderlich sind. Wenn Sie die Beispiel-Image-Beschreibung verwenden, müssen Sie das Hilfsprogramm nicht installieren oder manuell ausführen. Weitere Informationen finden Sie unter [Beispiel-Image-Beschreibung für Amazon Linux 2023 erstellen](build-sample-ami.md).g

## Das Hilfsprogramm `nitro-tpm-pcr-compute` installieren
<a name="nitro-tpm-compute-install"></a>

Wenn Sie Amazon Linux 2023 verwenden, können Sie das Hilfsprogramm `nitro-tpm-pcr-compute` wie folgt aus dem Amazon-Linux-Repository installieren.

```
sudo yum install aws-nitro-tpm-tools
```

Die Tools sind im `/usr/bin`-Verzeichnis installiert.

## Das Hilfsprogramm `nitro-tpm-pcr-compute` verwenden
<a name="nitro-tpm-compute-use"></a>

Das Hilfsprogramm bietet einen einzigen Befehl, `nitro-tpm-pcr-compute`, zum Generieren der Referenzmessungen.

Wenn Sie den Befehl ausführen, müssen Sie Folgendes angeben:
+ Unified Kernel Image (`UKI.efi`) – Erforderlich für Standardstart und UEFI.

**So generieren Sie die Referenzmessungen für ein attestierbares AMI:**  
Verwenden Sie den folgenden Befehl und die folgenden Parameter:

```
/usr/bin/nitro-tpm-pcr-compute \
--image UKI.efi
```

Das Hilfsprogramm gibt die Referenzmessungen im folgenden JSON-Format zurück:

```
{
  "Measurements": {
    "HashAlgorithm": "SHA384 { ... }",
    "PCR4": "PCR4_measurement",
    "PCR7": "PCR7_measurement",
    "PCR12": "PCR12_measurement"
  }
}
```

Ein praktisches Beispiel für die Verwendung des Hilfsprogramms `nitro-tpm-pcr-compute` finden Sie in dem `edit_boot_install.sh`-Skript, das in der [Beispielsbeschreibung eines Amazon-Linux-2023-Image](build-sample-ami.md) enthalten ist.

# Bereiten Sie sich auf die AWS KMS Bescheinigung vor
<a name="prepare-attestation-service"></a>

**Anmerkung**  
Wenn Sie einen Service eines Drittanbieters attestieren, müssen Sie Ihre eigenen benutzerdefinierten Mechanismen für den Empfang, die Analyse und die Validierung von Attestierungsdokumenten entwickeln. Weitere Informationen finden Sie unter [Ein NitroTPM-Attestierungsdokument validieren](nitrotpm-attestation-document-validate.md).

Nachdem Sie Ihr Attestable AMI erstellt haben, sollten Sie über Referenzmessungen verfügen, anhand derer Sie Anfragen von einer Amazon EC2 EC2-Instance validieren können. AWS KMS bietet integrierte Unterstützung für die Bescheinigung mit NitroTPM.

Fügen Sie für den AWS KMS Schlüssel, den Sie zur Verschlüsselung Ihrer geheimen Daten verwendet haben, eine Schlüsselrichtlinie hinzu, die den Schlüsselzugriff nur erlaubt, wenn API-Anfragen ein Bestätigungsdokument mit Messungen enthalten, die den Referenzmessungen entsprechen, die Sie während der Erstellung des Attestable AMI generiert haben. Verwendung PCR4 und PCR12 Maße für Standardstart oder PCR7 Messungen für Secure Boot. Dadurch wird sichergestellt, dass nur Anfragen von Instances, die mit dem Attestable AMI gestartet wurden, kryptografische Operationen mit dem Schlüssel ausführen können. AWS KMS 

AWS KMS stellt`kms:RecipientAttestation:NitroTPMPCR4`, und `kms:RecipientAttestation:NitroTPMPCR12` Bedingungsschlüssel bereit`kms:RecipientAttestation:NitroTPMPCR7`, mit denen Sie auf Bescheinigungen basierende Bedingungen für NitroTPM KMS-Schlüsselrichtlinien erstellen können. Weitere Informationen finden Sie unter [Bedingungsschlüssel für NitroTPM](https://docs.aws.amazon.com/kms/latest/developerguide/conditions-nitro-tpm.html).

Beispielsweise erlaubt die folgende AWS KMS Schlüsselrichtlinie den Schlüsselzugriff nur, wenn die Anfrage von einer Instanz mit angehängtem Instanzprofil stammt und wenn die `MyEC2InstanceRole` Anfrage ein Bestätigungsdokument mit spezifischen PCR 4- und PCR 12-Werten enthält.

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "Allow requests from instances with attested AMI only",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::111122223333:role/MyEC2InstanceRole"
      },
      "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKey",
        "kms:GenerateRandom"
      ],
      "Resource": "*",
      "Condition": {
        "StringEqualsIgnoreCase": {
          "kms:RecipientAttestation:NitroTPMPCR4":"EXAMPLE6b9b3d89a53b13f5dfd14a1049ec0b80a9ae4b159adde479e9f7f512f33e835a0b9023ca51ada02160EXAMPLE",
          "kms:RecipientAttestation:NitroTPMPCR12":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
        }
      }
    }
  ]
}
```

# Das NitroTPM-Attestierungsdokument abrufen
<a name="attestation-get-doc"></a>

Das Attestierungsdokument ist ein wichtiger Bestandteil des NitroTPM-Attestierungsprozesses. Es enthält eine Reihe von kryptografischen Messungen, anhand derer die Identität der Instance überprüft und nachgewiesen werden kann, dass auf ihr nur vertrauenswürdige Software ausgeführt wird. Sie können das Bescheinigungsdokument mit verwenden, das integrierte Unterstützung für die NitroTPM-Bescheinigung bietet AWS KMS, oder um Ihre eigenen kryptografischen Bescheinigungsmechanismen zu erstellen.

Das Hilfsprogramm `nitro-tpm-attest` ermöglicht es Ihnen, während der Laufzeit ein signiertes NitroTPM-Attestierungsdokument für eine Amazon-EC2-Instance abzurufen.

Die Beispiel-Image-Beschreibung für Amazon Linux 2023 installiert automatisch das Hilfsprogramm im erstellten Image im `/usr/bin/`-Verzeichnis. Dadurch wird sichergestellt, dass das Hilfsprogramm auf Instances vorinstalliert ist, die mit dem AMI gestartet werden. Sie brauchen das Hilfsprogramm nicht manuell zu installieren. Weitere Informationen finden Sie unter [Beispiel-Image-Beschreibung für Amazon Linux 2023 erstellen](build-sample-ami.md).

**Topics**
+ [

## Das Hilfsprogramm `nitro-tpm-attest` installieren
](#nitro-tpm-attest-install)
+ [

## Das Hilfsprogramm `nitro-tpm-attest` verwenden
](#nitro-tpm-attest-use)
+ [NitroTPM-Attestierungsdokument](nitrotpm-attestation-document-content.md)
+ [Attestierungsdokument validieren](nitrotpm-attestation-document-validate.md)

## Das Hilfsprogramm `nitro-tpm-attest` installieren
<a name="nitro-tpm-attest-install"></a>

Wenn Sie Amazon Linux 2023 verwenden, können Sie das Hilfsprogramm `nitro-tpm-attest` wie folgt aus dem Amazon-Linux-Repository installieren.

```
sudo yum install aws-nitro-tpm-tools
```

## Das Hilfsprogramm `nitro-tpm-attest` verwenden
<a name="nitro-tpm-attest-use"></a>

Das Hilfsprogramm stellt einen einzigen Befehl, `nitro-tpm-attest`, zum Abrufen des Attestierungsdokuments bereit. Der Befehl gibt das Attestierungsdokument zurück, das in Concise Binary Object Representation (CBOR) codiert und mit CBOR Object Signing and Encryption (COSE) signiert wurde.

Wenn Sie den Befehl ausführen, können Sie die folgenden optionalen Parameter angeben:
+ `public-key`— Ein öffentlicher Schlüssel, der von AWS KMS oder einem externen Dienst verwendet werden kann, um Antwortdaten zu verschlüsseln, bevor sie zurückgegeben werden. Dadurch wird sichergestellt, dass nur der vorgesehene Empfänger, der im Besitz des privaten Schlüssels ist, die Daten entschlüsseln kann. Wenn Sie beispielsweise mit bestätigen, verschlüsselt der Dienst die Klartextdaten mit AWS KMS dem öffentlichen Schlüssel im Bestätigungsdokument und gibt den resultierenden Chiffretext in dem Feld in der Antwort zurück. `CiphertextForRecipient` Es werden nur RSA-Schlüssel unterstützt.
+ `user-data` – Die Benutzerdaten können verwendet werden, um zusätzliche signierte Daten an einen externen Service zu übermitteln. Diese Benutzerdaten können verwendet werden, um ein zwischen der anfragenden Instance und dem externen Service vereinbartes Protokoll abzuschließen. Wird AWS KMS nicht für die Bescheinigung mit verwendet.
+ `nonce` – Die Nonce kann verwendet werden, um eine Challenge-Response-Authentifizierung zwischen der Instance und dem externen Service einzurichten, um Angriffe mit Identitätsmissbrauch zu verhindern. Mithilfe einer Nonce kann der externe Service überprüfen, ob er mit einer Live-Instance interagiert und nicht mit einem Imitator, der ein altes Attestierungsdokument wiederverwendet. Wird nicht für die Bescheinigung mit verwendet. AWS KMS

**So rufen Sie das Attestierungsdokument ab**  
Verwenden Sie den folgenden Befehl und die optionalen Parameter:

```
/usr/bin/nitro-tpm-attest \
--public-key rsa_public_key \
--user-data user_data \
--nonce nonce
```

[Ein vollständiges Beispiel, das zeigt, wie man ein RSA-Schlüsselpaar generiert und wie man eine Bescheinigung mit dem öffentlichen Schlüssel anfordert, finden Sie im Repo. nitro-tpm-attest GitHub ](https://github.com/aws/NitroTPM-Tools/)

# Inhalt des NitroTPM-Attestierungsdokuments
<a name="nitrotpm-attestation-document-content"></a>

Ein Attestierungsdokument wird vom NitroTPM generiert und vom Nitro-Hypervisor signiert. Das Dokument enthält eine Reihe von Platform Configuration Registers (PCR)-Werten, die sich auf eine Amazon-EC2-Instance beziehen. Folgendes ist im PCRs Beglaubigungsdokument enthalten:

**Wichtig**  
PCR0 und PCR1 werden im Allgemeinen verwendet, um den anfänglichen Startcode zu messen, der von gesteuert wird. AWS Um sichere Aktualisierungen des frühen Startcodes zu ermöglichen, enthalten PCRs diese immer konstante Werte.
+ `PCR0` – Ausführbarer Code für die Kernsystem-Firmware
+ `PCR1` – Firmware-Daten des Kernsystems
+ `PCR2` – Erweiterter oder austauschbarer ausführbarer Code
+ `PCR3` – Erweiterte oder austauschbare Firmware-Daten
+ `PCR4` – Boot-Manager-Code
+ `PCR5` – Konfiguration des Boot-Manager-Codes sowie Daten- und GPT-Partitionstabelle
+ `PCR6` – Angaben zum Hersteller der Hostplattform
+ `PCR7` – Secure Boot Policy
+ `PCR8 - 15` – Definiert für die Verwendung durch das statische Betriebssystem
+ `PCR16` – Debug
+ `PCR23` – Anwendungsunterstützung

**PCR4**PCR7****, und werden **PCR12**speziell verwendet, um zu überprüfen, ob eine Instance mit einem attestierbaren AMI gestartet wurde. PCR4 und PCR12 können zur Validierung mit Standardstart und PCR7 zur Validierung mit Secure Boot verwendet werden.
+ **PCR4 (Boot Manager Code)** — Wenn eine Instanz gestartet wird, erstellt NitroTPM kryptografische Hashes aller Binärdateien, die von seiner UEFI-Umgebung ausgeführt werden. Mit Attestable betten diese Boot-Binärdateien Hashes ein AMIs, die das future Laden von Binärdateien verhindern, die keine passenden Hashes haben. Auf diese Weise kann der binäre Single-Boot-Hash genau beschreiben, welchen Code eine Instance ausführen wird.
+ **PCR7 (Secure Boot Policy)** — UEFI-Boot-Binärdateien können mit einem UEFI Secure Boot-Signaturschlüssel signiert werden. Wenn UEFI Secure Boot aktiviert ist, verhindert UEFI die Ausführung von UEFI-Boot-Binärdateien, die nicht der konfigurierten Richtlinie entsprechen. PCR7 enthält einen Hash der UEFI-Secure-Boot-Richtlinie der Instanz.

  Wenn Sie eine einzige KMS-Richtlinie beibehalten müssen, die für alle Instanz-Updates gültig ist, können Sie eine Richtlinie erstellen, die anhand eines UEFI Secure Boot-Zertifikats validiert wird PCR7 , um es zu validieren. Während der Erstellung eines attestierbaren AMI können Sie dann die Boot-Binärdatei mit Ihrem Zertifikat signieren und sie als einzig zulässiges Zertifikat in den UEFI-Daten des AMI installieren. Beachten Sie, dass Sie bei diesem Modell immer noch ein neues Zertifikat generieren, es in Ihrer Richtlinie installieren und aktualisieren müssen, AMIs wenn Sie verhindern möchten, dass Instances, die von einer alten Version (nicht vertrauenswürdig) gestartet wurden, Ihre KMS-Richtlinie AMIs erfüllen.
+ **PCR12**— Enthält den Hash der Befehlszeile, die an die UEFI-Boot-Binärdatei übergeben wurde. In Verbindung mit PCR4 für den Standardstart erforderlich, um zu überprüfen, ob die Befehlszeile nicht geändert wurde.

# Ein NitroTPM-Attestierungsdokument validieren
<a name="nitrotpm-attestation-document-validate"></a>

**Anmerkung**  
Dieses Thema richtet sich an Benutzer, die einen Schlüsselverwaltungsservice eines Drittanbieters verwenden und ihre eigenen Mechanismen zur Überprüfung von Attestierungsdokumenten erstellen müssen.

Dieses Thema bietet einen detaillierten Überblick über den gesamten Ablauf der NitroTPM-Attestierung. Es wird auch erläutert, was vom AWS Nitro-System generiert wird, wenn ein Bestätigungsdokument angefordert wird, und es wird erklärt, wie ein Schlüsselverwaltungsdienst ein Bestätigungsdokument verarbeiten sollte.

**Topics**
+ [

## Das Attestierungsdokument
](#doc-def)
+ [

## Validierung des Attestierungsdokuments
](#validation-process)

Der Zweck einer Attestierung besteht darin, anhand des Codes und der Konfiguration, die sie ausführt, nachzuweisen, dass es sich bei einer Instance um eine vertrauenswürdige Entität handelt. Die Vertrauensbasis für die Instanz liegt im AWS Nitro-System, das Bescheinigungsdokumente bereitstellt. 

Bescheinigungsdokumente werden von der AWS Nitro Attestation Public Key Infrastructure (PKI) signiert, zu der auch eine veröffentlichte Zertifizierungsstelle gehört, die in jeden Dienst integriert werden kann. 

## Das Attestierungsdokument
<a name="doc-def"></a>

Attestierungsdokumente werden in Concise Binary Object Representation (CBOR) codiert und mit CBOR Object Signing and Encryption (COSE) signiert.

Weitere Informationen zu CBOR finden Sie unter [RFC 8949: Concise Binary Object Representation (CBOR)](https://www.rfc-editor.org/rfc/rfc8949.html).

### Spezifikation des Attestierungsdokuments
<a name="doc-spec"></a>

Im Folgenden wird die Struktur eines Attestierungsdokuments gezeigt.

```
AttestationDocument = {
    module_id: text,                     ; issuing Nitro hypervisor module ID
    timestamp: uint .size 8,             ; UTC time when document was created, in
                                         ; milliseconds since UNIX epoch
    digest: digest,                      ; the digest function used for calculating the
                                         ; register values
    nitrotpm_pcrs: { + index => pcr },   ; map of PCRs at the moment the Attestation Document was generated
    certificate: cert,                   ; the public key certificate for the public key 
                                         ; that was used to sign the Attestation Document
    cabundle: [* cert],                  ; issuing CA bundle for infrastructure certificate
    ? public_key: user_data,             ; an optional DER-encoded key the attestation
                                         ; consumer can use to encrypt data with
    ? user_data: user_data,              ; additional signed user data, defined by protocol
    ? nonce: user_data,                  ; an optional cryptographic nonce provided by the
                                         ; attestation consumer as a proof of authenticity
}

cert = bytes .size (1..1024)       ; DER encoded certificate
user_data = bytes .size (0..1024)
pcr = bytes .size (32/48/64)       ; PCR content
index = 0..31
digest = "SHA384"
```

Die optionalen Parameter im Attestierungsdokument (`public_key`, `user_data` und `nonce`) können verwendet werden, um ein benutzerdefiniertes Validierungsprotokoll zwischen einer attestierbaren Instance und dem externen Service einzurichten.

## Validierung des Attestierungsdokuments
<a name="validation-process"></a>

Wenn Sie ein Attestierungsdokument vom Nitro Hypervisor anfordern, erhalten Sie einen binären Blob, der das signierte Attestierungsdokument enthält. Das signierte Attestierungsdokument ist ein CBOR-kodiertes, COSE-signiertes Objekt (unter Verwendung der Cose\$1Sign1-Signaturstruktur). Der gesamte Validierungsprozess umfasst die folgenden Schritte:

1. Dekodieren Sie das CBOR-Objekt und ordnen Sie es einer COSE\$1Sign1-Struktur zu.

1. Extrahieren Sie das Attestierungsdokument aus der COSE\$1Sign1-Struktur.

1. Überprüfen Sie die Zertifikatskette.

1. Stellen Sie sicher, dass das Attestierungssdokument ordnungsgemäß signiert ist.

Bescheinigungsdokumente werden von der AWS Nitro Attestation PKI signiert, die ein Stammzertifikat für die kommerziellen Partitionen enthält. AWS Das Stammzertifikat kann von [https://aws-nitro-enclaves.amazonaws.com//AWS\$1NitroEnclaves\$1Root-G1.zip heruntergeladen und mit dem folgenden](https://aws-nitro-enclaves.amazonaws.com/AWS_NitroEnclaves_Root-G1.zip) Fingerabdruck verifiziert werden.

```
64:1A:03:21:A3:E2:44:EF:E4:56:46:31:95:D6:06:31:7E:D7:CD:CC:3C:17:56:E0:98:93:F3:C6:8F:79:BB:5B
```

Das Stammzertifikat basiert auf einem AWS Certificate Manager privaten Schlüssel der Private Certificate Authority (AWS Private CA) und hat eine Lebensdauer von 30 Jahren. Der Betreff des PCA hat das folgende Format:

```
CN=aws.nitro-enclaves, C=US, O=Amazon, OU=AWS
```

**Topics**
+ [

### COSE und CBOR
](#COSE-CBOR)
+ [

### Semantische Validität
](#semantic-validation)
+ [

### Zertifikatsgültigkeit
](#cert-validity)
+ [

### Gültigkeitsdauer der Zertifikatskette
](#chain)

### COSE und CBOR
<a name="COSE-CBOR"></a>

Normalerweise wird die COSE\$1Sign1-Signaturstruktur verwendet, wenn nur eine Signatur auf einer Nachricht platziert werden soll. Die Parameter, die sich mit dem Inhalt und der Signatur befassen, werden im geschützten Header platziert, anstatt die Trennung von COSE\$1Sign zu haben. Die Struktur kann entweder mit oder ohne Tags kodiert werden, je nachdem, in welchem Kontext sie verwendet wird. Eine mit COSE\$1Sign1 markierte Struktur wird durch das CBOR-Tag 18 identifiziert. 

Das CBOR-Objekt, das den Hauptteil, die Signatur und die Informationen über den Hauptteil und die Signatur enthält, wird als COSE\$1Sign1-Struktur bezeichnet. Die COSE\$1Sign1-Struktur ist ein CBOR-Array. Das Array enthält die folgenden Felder:

```
[
  protected:   Header,
  unprotected: Header,
  payload:     This field contains the serialized content to be signed,
  signature:   This field contains the computed signature value.
]
```

Im Kontext eines Attestierungsdokuments umfasst das Array Folgendes.

```
18(/* COSE_Sign1 CBOR tag is 18 */
    {1: -35}, /* This is equivalent with {algorithm: ECDS 384} */
    {}, /* We have nothing in unprotected */
    $ATTESTATION_DOCUMENT_CONTENT /* Attestation Document */,
    signature /* This is the signature */
)
```

Weitere Informationen zu CBOR finden Sie unter [RFC 8949: Concise Binary Object Representation (CBOR)](https://www.rfc-editor.org/rfc/rfc8949.html).

### Semantische Validität
<a name="semantic-validation"></a>

Das CA-Paket eines Attestierungsdokuments wird immer in der folgenden Reihenfolge aufgeführt.

```
[ ROOT_CERT - INTERM_1 - INTERM_2 .... - INTERM_N]
      0          1          2             N - 1
```

Beachten Sie diese Reihenfolge, da einige vorhandene Tools, wie z. B. das von Java CertPath aus dem [Java PKI API Programmer's Guide](https://docs.oracle.com/javase/8/docs/technotes/guides/security/certpath/CertPathProgGuide.html), möglicherweise eine andere Reihenfolge erfordern.

Um die Zertifikate zu validieren, beginnen Sie mit dem CA-Paket des Attestierungsdokuments und generieren Sie die erforderliche Kette, wobei `TARGET_CERT` das Zertifikat im Attestierungsdokument ist.

```
[TARGET_CERT, INTERM_N, ..... , INTERM_2, INTERM_1, ROOT_CERT]
```

### Zertifikatsgültigkeit
<a name="cert-validity"></a>

Für alle Zertifikate in der Kette müssen Sie sicherstellen, dass das aktuelle Datum innerhalb des im Zertifikat angegebenen Gültigkeitszeitraums liegt.

### Gültigkeitsdauer der Zertifikatskette
<a name="chain"></a>

Im Allgemeinen kann eine Kette von mehreren Zertifikaten erforderlich sein, die aus einem Zertifikat des Besitzers des öffentlichen Schlüssels besteht, das von einer Zertifizierungsstelle signiert wurde, und aus null oder mehreren zusätzlichen Zertifikaten, die von einer anderen CAs signiert wurden. CAs Solche Ketten, die als Zertifizierungspfade bezeichnet werden, sind erforderlich, da ein Benutzer mit einem öffentlichen Schlüssel nur mit einer begrenzten Anzahl von gesicherten öffentlichen Schlüsseln der Zertifizierungsstelle initialisiert wird. Die Verfahren zur Validierung des Zertifizierungspfads für die Internet-PKI basieren auf dem in X.509 enthaltenen Algorithmus. Bei der Verarbeitung des Zertifizierungspfads wird die Bindung zwischen dem eindeutigen Namen des Antragstellers, dem alternativen Namen des and/or Antragstellers und dem öffentlichen Schlüssel des Antragstellers überprüft. Die Bindung wird durch Einschränkungen begrenzt, die in den Zertifikaten angegeben sind, die den Pfad umfassen, und durch Eingaben, die von der vertrauenden Partei angegeben werden. Die grundlegenden Einschränkungen und Erweiterungen der Richtlinieneinschränkungen ermöglichen es der Verarbeitungslogik für den Zertifizierungspfad, den Entscheidungsprozess zu automatisieren.

**Anmerkung**  
CRL muss bei der Validierung deaktiviert sein.

Bei Verwendung von Java erfolgt die Kettenvalidierung, ausgehend vom Root-Pfad und der generierten Zertifikatskette, wie folgt.

```
validateCertsPath(certChain, rootCertficate) {
    /* The trust anchor is the root CA to trust */
    trustAnchors.add(rootCertificate);

    /* We need PKIX parameters to specify the trust anchors
     * and disable the CRL validation
     */
    validationParameters = new PKIXParameters(trustAnchors);
    certPathValidator = CertPathValidator.getInstance(PKIX);
    validationParameters.setRevocationEnabled(false);

    /* We are ensuring that certificates are chained correctly */
    certPathValidator.validate(certPath, validationParameters);
}
```

# Integration mit AWS KMS
<a name="attestation-attest"></a>

Ihre Instanz sollte über eine Anwendung verfügen, die AWS KMS API-Anfragen mit dem vom NitroTPM abgerufenen Bestätigungsdokument stellen kann. Wenn Sie eine Anfrage mit einem Bestätigungsdokument stellen, werden die Messungen im bereitgestellten Bestätigungsdokument AWS KMS anhand der Referenzmessungen in der KMS-Schlüsselrichtlinie validiert. Anfragen sind nur zulässig, wenn die Messungen im Attestierungsdokument mit den Referenzmaßen in der KMS-Schlüsselrichtlinie übereinstimmen.

Wenn Sie die Operationen [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html),, [DeriveSharedSecret[GenerateDataKey[GenerateDataKeyPair](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyPair.html)](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeriveSharedSecret.html), oder [GenerateRandom](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateRandom.html)API mit einem Bestätigungsdokument aufrufen, APIs verschlüsseln diese den Klartext in der Antwort unter dem öffentlichen Schlüssel aus dem Bestätigungsdokument und geben Chiffretext statt Klartext zurück. Dieser Geheimtext kann nur mit dem privaten Schlüssel entschlüsselt werden, der in der Instance generiert wurde.

Weitere Informationen finden Sie in der [Kryptographischen Attestierung für NitroTPM](https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html) im *Entwicklerhandbuch für AWS Key Management Service *.

**Anmerkung**  
Wenn Sie einen Service eines Drittanbieters attestieren, müssen Sie Ihre eigenen benutzerdefinierten Mechanismen für den Empfang, die Analyse und die Validierung von Attestierungsdokumenten entwickeln. Weitere Informationen finden Sie unter [Ein NitroTPM-Attestierungsdokument validieren](nitrotpm-attestation-document-validate.md).

# Isolieren Sie Daten von Ihren eigenen Bedienern
<a name="isolate-data-operators"></a>

[Das](https://docs.aws.amazon.com/whitepapers/latest/security-design-of-aws-nitro-system/no-aws-operator-access.html) Nitro-System hat keinen Bedienerzugriff. AWS Es gibt keinen Mechanismus, mit dem sich ein AWS System oder eine Person bei Amazon EC2 Nitro-Hosts anmelden, auf den Speicher von EC2-Instances zugreifen oder auf Kundendaten zugreifen kann, die auf lokal verschlüsselten Instance-Speichern oder fernverschlüsselten Amazon EBS-Volumes gespeichert sind.

Bei der Verarbeitung hochsensibler Daten könnten Sie erwägen, den Zugriff auf diese Daten einzuschränken, indem Sie selbst Ihre eigenen Bediener am Zugriff auf die EC2-Instance hindern.

Sie können benutzerdefinierte Attestable erstellen, die so konfiguriert sind AMIs , dass sie eine isolierte Computerumgebung bereitstellen. Die AMI-Konfiguration hängt von Ihrer Workload und Ihren Anwendungsanforderungen ab. Beachten Sie diese bewährten Methoden, wenn Sie Ihr AMI zum Erstellen einer isolierten Rechenumgebung erstellen.
+ **Entfernen Sie jeglichen interaktiven Zugriff**, um zu verhindern, dass Ihre Bediener oder Benutzer auf die Instance zugreifen.
+ **Stellen Sie sicher, dass nur vertrauenswürdige Software und vertrauenswürdiger Code** im AMI enthalten sind.
+ **Konfigurieren Sie eine Netzwerk-Firewall** innerhalb der Instance, um den Zugriff zu blockieren.
+ **Schreibgeschützten und unveränderlichen Status** für alle Speicher- und Dateisysteme sicherstellen.
+ **Beschränken Sie den Instance-Zugriff** auf authentifizierte, autorisierte und protokollierte API-Aufrufe.

# Attestable, die keinen interaktiven Zugriff haben AMIs , werden aktualisiert
<a name="working-with-isolated-amis"></a>

Sobald Sie eine Instance mit einem AMI für eine isolierte Rechenumgebung gestartet haben, kann kein Benutzer oder Bediener eine Verbindung zu der Instance herstellen. Das bedeutet, dass es nach dem Start keine Möglichkeit gibt, Software auf der Instance zu installieren oder zu aktualisieren.

Wenn neue Software oder ein Softwareupdate erforderlich ist, müssen Sie ein neues attestierbares AMI erstellen, das die erforderliche Software oder Softwareupdates enthält. Verwenden Sie dann dieses AMI, um eine neue Instance zu starten oder um ein Root-Volume auf der ursprünglichen Instance zu ersetzen. Alle am AMI vorgenommenen Softwareänderungen führen dazu, dass ein neuer Hash generiert wird.

Die folgenden Maßnahmen führen zu einer Änderung der Referenzmessungen im NitroTPM-Attestierungsdokument:
+ Anhalten und Starten einer Instance, die mit einem attestierbaren AMI gestartet wurde
+ Einen Root-Volume-Ersatz mit einem anderen AMI durchführen

Wenn Sie eine dieser Aktionen durchführen, müssen Sie anschließend Ihren Attestierungsservice mit den neuen Referenzmessungen aktualisieren. Beispielsweise müssen Sie Ihre KMS-Schlüsselrichtlinie auf die neuen Referenzmessungen aktualisieren, wenn Sie diese AWS KMS für Bescheinigungen verwenden.

Eine Instance behält ihr NitroTPM-Schlüsselmaterial für den gesamten Instance-Lebenszyklus bei und setzt sie auch während des Austauschs von Root-Volumes stop/starts fort.

# Credential Guard für Windows-Instances
<a name="credential-guard"></a>

Das AWS Nitro-System unterstützt Credential Guard für Amazon Elastic Compute Cloud (Amazon EC2) Windows-Instances. Credential Guard ist ein virtualisierungsbasiertes Windows-Sicherheitsfeature (VBS), die die Erstellung isolierter Umgebungen ermöglicht, um Sicherheitsressourcen wie Windows-Benutzeranmeldeinformationen und die Durchsetzung der Codeintegrität über den Windows-Kernelschutz hinaus zu schützen. Wenn Sie EC2-Windows-Instances ausführen, verwendet Credential Guard das AWS Nitro-System, um zu verhindern, dass Windows-Anmeldeinformationen aus dem Speicher des Betriebssystems extrahiert werden.

**Topics**
+ [

## Voraussetzungen
](#credential-guard-prerequisites)
+ [

## Unterstützte Instance starten
](#credential-guard-launch-instance)
+ [

## Speicherintegrität deaktivieren
](#disable-memory-integrity)
+ [

## Credential Guard anschalten
](#turn-on-credential-guard)
+ [

## Überprüfen, ob Credential Guard ausgeführt wird
](#verify-credential-guard)

## Voraussetzungen
<a name="credential-guard-prerequisites"></a>

Ihre Windows-Instance muss die folgenden Voraussetzungen erfüllen, um Credential Guard verwenden zu können.

**Amazon-Maschinenbilder (AMIs)**  
Das AMI muss vorkonfiguriert sein, um NitroTPM und UEFI Secure Boot zu aktivieren. Weitere Informationen zur Unterstützung finden AMIs Sie unter[Anforderungen für die Verwendung von NitroTPM mit Amazon-EC2-Instances](enable-nitrotpm-prerequisites.md).

**Speicherintegrität**  
*Speicherintegrität*, auch bekannt als *Hypervisor-Protected Code Integrity (HVCI)* oder *Hypervisor Enforced Code Integrity*, wird nicht unterstützt. Bevor Sie Credential Guard aktivieren, müssen Sie sicherstellen, dass dieses Feature deaktiviert ist. Weitere Informationen finden Sie unter [Speicherintegrität deaktivieren](#disable-memory-integrity).

**Instance-Typen**  
Die folgenden Instance-Typen unterstützen Credential Guard in allen Größen, sofern nicht anders notiert: `C5`, `C5d`, `C5n`, `C6i`, `C6id`, `C6in`, `C7i`, `C7i-flex`, `M5`, `M5d`, `M5dn`, `M5n`, `M5zn`, `M6i`, `M6id`, `M6idn`, `M6in`, `M7i`, `M7i-flex`, `R5`, `R5b`, `R5d`, `R5dn`, `R5n`, `R6i`, `R6id`, `R6idn`, `R6in` `R7i`, `R7iz`, `T3`.  
+ NitroTPM hat zwar einige erforderliche Instance-Typen gemeinsam, aber der Instance-Typ muss einer der oben genannten sein, um Credential Guard zu unterstützen.
+ Credential Guard wird für Folgendes nicht unterstützt:
  + Bare-Metal-Instances.
  + Die folgenden Instance-Typen unterstützen EFAs: `C7i.48xlarge`, `M7i.48xlarge` und `R7i.48xlarge`.
Weitere Informationen zu den unterstützten Instance-Typen finden Sie unter [Leitfaden für Amazon-EC2-Instance-Typen](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-types.html).

## Unterstützte Instance starten
<a name="credential-guard-launch-instance"></a>

Sie können die Amazon EC2 EC2-Konsole oder AWS Command Line Interface (AWS CLI) verwenden, um eine Instance zu starten, die Credential Guard unterstützt. Sie benötigen zum Starten Ihrer Instance eine kompatible AMI-ID, die für jede AWS-Region eindeutig ist.

**Tipp**  
Sie können den folgenden Link verwenden, um Instances mit kompatiblen, von Amazon bereitgestellten AMIs in der Amazon-EC2-Konsole zu erkennen und zu starten:  
[https://console.aws.amazon.com/ec2/v2/home?#Images:visibility=public-images;v=3;search=:TPM-Windows_Server;ownerAlias=amazon](https://console.aws.amazon.com/ec2/v2/home?#Images:visibility=public-images;v=3;search=:TPM-Windows_Server;ownerAlias=amazon)

------
#### [ Console ]

**So starten Sie eine Instance**  
Befolgen Sie die Schritte zum [Starten einer Instance](ec2-launch-instance-wizard.md), während Sie einen unterstützten Instance-Typ und ein vorkonfiguriertes Windows-AMI angeben.

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

**So starten Sie eine Instance**  
Verwenden Sie den [https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html)-Befehl, um eine Instance mit einem unterstützten Instance-Typ und einem vorkonfigurierten Windows-AMI zu starten.

```
aws ec2 run-instances \
    --image-id resolve:ssm:/aws/service/ami-windows-latest/TPM-Windows_Server-2022-English-Full-Base \
    --instance-type c6i.large \
    --region us-east-1 \
    --subnet-id subnet-0abcdef1234567890
    --key-name key-name
```

------
#### [ PowerShell ]

**So starten Sie eine Instance**  
Verwenden Sie den [https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html)-Befehl, um eine Instance mit einem unterstützten Instance-Typ und einem vorkonfigurierten Windows-AMI zu starten.

```
New-EC2Instance `
    -ImageId resolve:ssm:/aws/service/ami-windows-latest/TPM-Windows_Server-2022-English-Full-Base `
    -InstanceType c6i.large `
    -Region us-east-1 `
    -SubnetId subnet-0abcdef1234567890 `
    -KeyName key-name
```

------

## Speicherintegrität deaktivieren
<a name="disable-memory-integrity"></a>

Sie können den Editor für lokale Gruppenrichtlinien verwenden, um die Speicherintegrität in unterstützten Szenarios zu deaktivieren. Die folgenden Richtlinien können für jede Konfigurationseinstellung unter **Virtualisierungsbasierter Schutz der Code-Integrität** angewendet werden:
+ **Ohne Sperre aktiviert** – Ändern Sie die Einstellung auf **Deaktiviert**, um die Speicherintegrität zu deaktivieren.
+ **Mit UEFI-Sperre aktiviert** – Die Speicherintegrität wurde mit UEFI-Sperre aktiviert. Die Speicherintegrität kann nicht deaktiviert werden, nachdem sie mit der UEFI-Sperre aktiviert wurde. Wir empfehlen, eine neue Instance mit deaktivierter Speicherintegrität zu erstellen und die nicht unterstützte Instance zu beenden, wenn sie nicht verwendet wird.

**So deaktivieren Sie die Speicherintegrität mit dem Editor für lokale Gruppenrichtlinien**

1. Stellen Sie über das Remote Desktop Protocol (RDP) als Benutzerkonto mit Administratorrechten eine Verbindung zu Ihrer Instance her. Weitere Informationen finden Sie unter [Verbindung zu Ihrer Windows-Instance mithilfe eines RDP-Clients herstellen](connect-rdp.md).

1. Öffnen Sie das Startmenü und suchen Sie nach **cmd**, um eine Eingabeaufforderung zu starten.

1. Führen Sie den folgenden Befehl aus, um den Editor für lokale Gruppenrichtlinien zu öffnen: `gpedit.msc`

1. Wählen Sie im Editor für lokale Gruppenrichtlinien **Computerkonfiguration**, **Administrative Vorlagen**, **System**, **Geräteschutz** aus.

1. Wählen Sie **Virtualisierungsbasierte Sicherheit aktivieren** und dann **Richtlinieneinstellung bearbeiten** aus.

1. Öffnen Sie das Dropdownmenü mit den Einstellungen für **Virtualisierungsbasierter Schutz der Codeintegrität**, wählen Sie **Deaktiviert** und anschließend **Anwenden**.

1. Starten Sie die Instance neu, um die Änderungen zu übernehmen.

## Credential Guard anschalten
<a name="turn-on-credential-guard"></a>

Nachdem Sie eine Windows-Instance mit einem unterstützten Instance-Typ und einem kompatiblen AMI gestartet und bestätigt haben, dass die Speicherintegrität deaktiviert ist, können Sie Credential Guard aktivieren.

**Wichtig**  
Sie benötigen Administratorrechte, um die folgenden Schritte zum Aktivieren von Credential Guard auszuführen.

**Aktivieren von Credential Guard**

1. Stellen Sie über das Remote Desktop Protocol (RDP) als Benutzerkonto mit Administratorrechten eine Verbindung zu Ihrer Instance her. Weitere Informationen finden Sie unter [Verbindung zu Ihrer Windows-Instance mithilfe eines RDP-Clients herstellen](connect-rdp.md).

1. Öffnen Sie das Startmenü und suchen Sie nach **cmd**, um eine Eingabeaufforderung zu starten.

1. Führen Sie den folgenden Befehl aus, um den Editor für lokale Gruppenrichtlinien zu öffnen: `gpedit.msc`

1. Wählen Sie im Editor für lokale Gruppenrichtlinien **Computerkonfiguration**, **Administrative Vorlagen**, **System**, **Geräteschutz** aus.

1. Wählen Sie **Virtualisierungsbasierte Sicherheit aktivieren** und dann **Richtlinieneinstellung bearbeiten** aus.

1. Wählen Sie **Aktiviert** im Menü **Virtualisierungsbasierte Sicherheit aktivieren** aus.

1. Wählen Sie unter **Plattformsicherheitsstufe auswählen** die Optionen **Sicherer Start und DMA-Schutz** aus.

1. Wählen Sie für **Credential-Guard-Konfiguration** die Option **Aktiviert mit UEFI-Sperre** aus.
**Anmerkung**  
Die verbleibenden Richtlinieneinstellungen sind nicht erforderlich, um Credential Guard zu aktivieren, und können auf **Nicht konfiguriert** belassen werden.

   Das folgende Image zeigt die wie zuvor beschrieben konfigurierten VBS-Einstellungen:  
![\[\]](http://docs.aws.amazon.com/de_de/AWSEC2/latest/UserGuide/images/vbs-credential-guard-gpo-enabled.png)

1. Starten Sie die Instance neu, um die Einstellungen zu übernehmen.

## Überprüfen, ob Credential Guard ausgeführt wird
<a name="verify-credential-guard"></a>

Sie können das Microsoft-Tool Systeminformationen (`Msinfo32.exe`) verwenden, um zu bestätigen, dass Credential Guard ausgeführt wird.

**Wichtig**  
Sie müssen die Instance zuerst neu starten, um die Anwendung der Richtlinieneinstellungen abzuschließen, die zum Aktivieren von Credential Guard erforderlich sind.

**So überprüfen Sie, ob Credential Guard ausgeführt wird**

1. Stellen Sie über das Remote Desktop Protocol (RDP) eine Verbindung zu Ihrer Instance her. Weitere Informationen finden Sie unter [Verbindung zu Ihrer Windows-Instance mithilfe eines RDP-Clients herstellen](connect-rdp.md).

1. Öffnen Sie innerhalb der RDP-Sitzung zu Ihrer Instance das Startmenü und suchen Sie nach **cmd**, um eine Eingabeaufforderung zu starten.

1. Öffnen Sie die Systeminformationen, indem Sie den folgenden Befehl ausführen: `msinfo32.exe`

1. Das Microsoft-Tool Systeminformationen listet die Details zur VBS-Konfiguration auf. Bestätigen Sie neben virtualisierungsbasierte Sicherheitsservices, dass **Credential Guard** als **Wird ausgeführt** angezeigt wird.

   Das folgende Image zeigt, dass VBS wie zuvor beschrieben ausgeführt wird:  
![\[\]](http://docs.aws.amazon.com/de_de/AWSEC2/latest/UserGuide/images/vbs-credential-guard-msinfo32-enabled.png)

# Zugreifen auf Amazon EC2 über einen Schnittstellen-VPC-Endpunkt
<a name="interface-vpc-endpoints"></a>

Sie können den Sicherheitszustand Ihrer VPC erhöhen, indem Sie eine private Verbindung zwischen den Ressourcen in Ihrer VPC und der Amazon-EC2-API herstellen. Sie können auf die Amazon EC2 EC2-API zugreifen, als wäre sie in Ihrer VPC, ohne ein Internet-Gateway, ein NAT-Gerät, eine VPN-Verbindung oder Direct Connect eine Verbindung verwenden zu müssen. EC2-Instances in Ihrer VPC benötigen für den Zugriff auf die Amazon-EC2-API keine öffentlichen IP-Adressen.

*Weitere Informationen finden Sie AWS PrivateLink im Leitfaden unter [Zugriff AWS-Services durch](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-access-aws-services.html).AWS PrivateLink *

**Topics**
+ [

## Erstellen eines Schnittstellen-VPC-Endpunkts
](#create-endpoint)
+ [

## Erstellen einer Endpunktrichtlinie
](#endpoint-policy)

## Erstellen eines Schnittstellen-VPC-Endpunkts
<a name="create-endpoint"></a>

Erstellen Sie einen Schnittstellen-Endpunkt für Amazon EC2 mit dem folgenden Service-Namen:
+ **com.amazonaws. *region*.ec2** — Erzeugt einen Endpunkt für die Amazon EC2 EC2-API-Aktionen.

Weitere Informationen finden Sie im *AWS PrivateLink Handbuch* unter [Zugreifen und AWS-Service Verwenden eines Schnittstellen-VPC-Endpunkts](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html).

## Erstellen einer Endpunktrichtlinie
<a name="endpoint-policy"></a>

Eine Endpunktrichtlinie ist eine IAM-Ressource, die Sie Ihrem Schnittstellen-Endpunkt anfügen können. Die Standard-Endpunktrichtlinie ermöglicht den vollständigen Zugriff auf die Amazon-EC2-API über den Schnittstellen-Endpunkt. Um den Zugriff auf die Amazon-EC2-API von Ihrer VPC aus zu steuern, fügen Sie eine benutzerdefinierte Endpunktrichtlinie an den Endpunkt der Schnittstelle an.

Eine Endpunktrichtlinie gibt die folgenden Informationen an:
+ Die Prinzipale, die Aktionen ausführen können.
+ Die Aktionen, die ausgeführt werden können.
+ Die Ressource, auf der die Aktionen ausgeführt werden können.

**Wichtig**  
Wenn eine nicht standardmäßige Richtlinie auf einen VPC-Schnittstellen-Endpunkt für Amazon EC2 angewendet wird, werden bestimmte fehlgeschlagene API-Anfragen, z. B. solche, die von fehlschlagen`RequestLimitExceeded`, möglicherweise nicht bei Amazon protokolliert. AWS CloudTrail CloudWatch

Weitere Informationen finden Sie unter [Steuern des Zugriffs auf Services mit Endpunktrichtlinien](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html) im *AWS PrivateLink -Leitfaden*.

Das folgende Beispiel zeigt eine VPC-Endpunktrichtlinie, die die Berechtigung zum Erstellen unverschlüsselter Volumes oder zum Starten von Instances mit unverschlüsselten Volumes ablehnt. Die Beispielrichtlinie gewährt auch die Berechtigung, alle anderen Amazon EC2-Aktionen auszuführen.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
    {
        "Action": "ec2:*",
        "Effect": "Allow",
        "Resource": "*",
        "Principal": "*"
    },
    {
        "Action": [
            "ec2:CreateVolume"
        ],
        "Effect": "Deny",
        "Resource": "*",
        "Principal": "*",
        "Condition": {
            "Bool": {
                "ec2:Encrypted": "false"
            }
        }
    },
    {
        "Action": [
            "ec2:RunInstances"
        ],
        "Effect": "Deny",
        "Resource": "*",
        "Principal": "*",
        "Condition": {
            "Bool": {
                "ec2:Encrypted": "false"
            }
        }
    }]
}
```

------