

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.

# Datenschutz in AWS IoT Core
<a name="data-protection"></a>

Das [Modell der AWS gemeinsamen Verantwortung](https://aws.amazon.com/compliance/shared-responsibility-model/) und geteilter Verantwortung gilt für den Datenschutz in AWS IoT Core. Wie in diesem Modell beschrieben, AWS ist verantwortlich für den Schutz der globalen Infrastruktur, auf der alle Systeme laufen AWS Cloud. Sie sind dafür verantwortlich, die Kontrolle über Ihre in dieser Infrastruktur gehosteten Inhalte zu behalten. 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 der Konsole, der AWS IoT API oder auf andere AWS-Services Weise arbeiten oder diese verwenden. AWS CLI AWS SDKs 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.

Weitere Informationen zum Datenschutz enthält der Blog-Beitrag [AWS Shared Responsibility Model and GDPR](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) im *AWS -Sicherheitsblog*.

AWS IoT Geräte sammeln Daten, manipulieren diese Daten und senden diese Daten dann an einen anderen Webdienst. Sie können einige Daten für einen kurzen Zeitraum auf Ihrem Gerät speichern. Sie sind dafür verantwortlich, den Datenschutz für diese Daten im Ruhezustand zu gewährleisten. Wenn Ihr Gerät Daten an sendet AWS IoT, geschieht dies über eine TLS-Verbindung, wie später in diesem Abschnitt beschrieben wird. AWS IoT Geräte können Daten an jeden AWS Dienst senden. Weitere Informationen zur Datensicherheit der einzelnen Dienste finden Sie in der Dokumentation zu diesem Dienst. AWS IoT kann so konfiguriert werden, dass CloudWatch Protokolle in Logs geschrieben und AWS IoT API-Aufrufe protokolliert werden AWS CloudTrail. Weitere Informationen zur Datensicherheit für diese Dienste finden Sie unter [Authentifizierung und Zugriffskontrolle für Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/auth-and-access-control-cw.html) und [Verschlüsseln von CloudTrail Protokolldateien mit AWS KMS verwalteten Schlüsseln](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/encrypting-cloudtrail-log-files-with-aws-kms.html).

## Datenverschlüsselung in AWS IoT
<a name="data-protection-encrypt"></a>

Standardmäßig sind alle AWS IoT Daten während der Übertragung und Speicherung verschlüsselt. [Übertragene Daten werden mit TLS verschlüsselt](transport-security.md), und Daten im Ruhezustand werden mit AWS eigenen Schlüsseln verschlüsselt. AWS IoT unterstützt vom Kunden verwaltete AWS KMS keys (KMS-Schlüssel) über den AWS Key Management Service (AWS KMS). Device Advisor und AWS IoT Wireless verwenden jedoch nur an AWS-eigener Schlüssel , um Kundendaten zu verschlüsseln.

 

# Transportsicherheit in AWS IoT Core
<a name="transport-security"></a>

TLS (Transport Layer Security) ist ein kryptografisches Protokoll, das für die sichere Kommunikation über ein Computernetzwerk ausgelegt ist. Beim AWS IoT Core Device Gateway müssen Kunden die gesamte Kommunikation während der Übertragung verschlüsseln, indem sie TLS für Verbindungen zwischen Geräten und dem Gateway verwenden. TLS wird verwendet, um die Vertraulichkeit der Anwendungsprotokolle (MQTT, HTTP und WebSocket) zu gewährleisten, die von unterstützt werden. AWS IoT Core TLS unterstützt verschiedene Programmiersprachen und Betriebssysteme. Die AWS darin enthaltenen Daten werden durch den jeweiligen AWS Dienst verschlüsselt. Weitere Informationen zur Datenverschlüsselung bei anderen AWS Diensten finden Sie in der Sicherheitsdokumentation für diesen Dienst.

**Topics**
+ [TLS-Protokolle](#tls-ssl-policy)
+ [Sicherheitsrichtlinien](#tls-policy-table)
+ [Wichtige Hinweise zur Verkehrssicherheit in AWS IoT Core](#tls-ssl-core)
+ [Transportsicherheit für drahtlose LoRa WAN-Geräte](#tls-lorawan)

## TLS-Protokolle
<a name="tls-ssl-policy"></a>

AWS IoT Core unterstützt die folgenden Versionen des TLS-Protokolls:
+ TLS 1.3 
+ TLS 1.2

Mit AWS IoT Core können Sie die TLS-Einstellungen (für [TLS 1.2 und TLS](https://en.wikipedia.org/wiki/Transport_Layer_Security#TLS_1.2) [1.3](https://en.wikipedia.org/wiki/Transport_Layer_Security#TLS_1.3)) in Domänenkonfigurationen konfigurieren. Weitere Informationen finden Sie unter [Konfiguration von TLS-Einstellungen in Domänenkonfigurationen](iot-endpoints-tls-config.md).

## Sicherheitsrichtlinien
<a name="tls-policy-table"></a>

Eine Sicherheitsrichtlinie ist eine Kombination aus TLS-Protokollen und ihren Verschlüsselungen, die bestimmen, welche Protokolle und Verschlüsselungen bei TLS-Verhandlungen zwischen einem Client und einem Server unterstützt werden. Sie können Ihre Geräte so konfigurieren, dass sie je nach Bedarf vordefinierte Sicherheitsrichtlinien verwenden. Beachten Sie, dass benutzerdefinierte Sicherheitsrichtlinien AWS IoT Core nicht unterstützt werden.

Sie können eine der vordefinierten Sicherheitsrichtlinien für Ihre Geräte auswählen, wenn Sie eine Verbindung herstellen AWS IoT Core. Die Namen der neuesten vordefinierten Sicherheitsrichtlinien AWS IoT Core enthalten Versionsinformationen, die auf dem Jahr und Monat basieren, in dem sie veröffentlicht wurden. Die vordefinierte Standardsicherheitsrichtlinie ist beispielsweise `IoTSecurityPolicy_TLS13_1_2_2022_10`. Um eine Sicherheitsrichtlinie anzugeben, können Sie die AWS IoT Konsole oder die verwenden AWS CLI. Weitere Informationen finden Sie unter [Konfiguration von TLS-Einstellungen in Domänenkonfigurationen](iot-endpoints-tls-config.md).

In der folgenden Tabelle werden die aktuellen vordefinierten Sicherheitsrichtlinien beschrieben, die von AWS IoT Core unterstützt werden. Die `IotSecurityPolicy_` wurde aus Richtliniennamen in der Überschriftenzeile entfernt, sodass sie passen.


| **Sicherheitsrichtlinie** | TLS13\$11\$13\$12022\$110 | TLS13\$11\$12\$12022\$110 | TLS12\$11\$12\$12022\$110 | TLS12\$11\$10\$12016\$101\$1 | TLS12\$11\$10\$12015\$101\$1 | 
| --- | --- | --- | --- | --- | --- | 
| TCP-Port |  443/8443/8883  |  443/8443/8883  |  443/8443/8883  | 443 | 8443/8883 | 443 | 8443/8883 | 
| TLS-Protokolle | 
| TLS 1.2 |  | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| TLS 1.3 | ✓ | ✓ |  |  |  |  |  | 
| TLS-Verschlüsselungsverfahren | 
| TLS AES 128 GCM SHA256 | ✓ | ✓ |  |  |  |  |  | 
| TLS\$1AES\$1256\$1GCM\$1 SHA384 | ✓ | ✓ |  |  |  |  |  | 
| TLS\$1 \$1 CHACHA20 POLY1305 SHA256 | ✓ | ✓ |  |  |  |  |  | 
| ECDHE-RSA- -GCM- AES128 SHA256 |  | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| ECDHE-RSA- AES128 - SHA256 |  | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| ECDHE-RSA- AES128 -SHA |  | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| ECDHE-RSA- AES256 -GCM- SHA384 |  | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| ECDHE-RSA- AES256 - SHA384 |  | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| ECDHE-RSA- AES256 -SHA |  | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| AES128-GCM- SHA256 |  | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| AES128-SHA256 |  | ✓ | ✓ | ✓ |  | ✓ | ✓ | 
| AES128-SCHA |  | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| AES256-GCM- SHA384 |  | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| AES256-SHA256 |  | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| AES256-SCHA |  | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| DHE-RSA-SHA AES256 |  |  |  |  |  | ✓ | ✓ | 
| ECDHE-ECDSA- AES128 -GCM- SHA256 |  | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| ECDHE-ECDSA- - AES128 SHA256 |  | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| ECDHE-ECDSA- -SHA AES128 |  | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| ECDHE-ECDSA- -GCM- AES256 SHA384 |  | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| ECDHE-ECDSA- - AES256 SHA384 |  | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| ECDHE-ECDSA- -SHA AES256 |  | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 

**Anmerkung**  
`TLS12_1_0_2016_01`ist nur in den folgenden Sprachen verfügbar AWS-Regionen: ap-east-1, ap-northeast-2, ap-south-1, ap-southeast-2, ca-central-1, cn-north-1, cn-northwest-1, eu-north-1, eu-west-2, eu-west-3, me-south-1, sa-east-1, us-east-2, -1, -2, us-west-1. us-gov-west us-gov-west  
`TLS12_1_0_2015_01`ist nur in den folgenden Ländern verfügbar AWS-Regionen: ap-northeast-1, ap-southeast-1, eu-central-1, eu-west-1, us-east-1, us-west-2.

## Wichtige Hinweise zur Verkehrssicherheit in AWS IoT Core
<a name="tls-ssl-core"></a>

Bei Geräten, die AWS IoT Core über [MQTT](https://docs.aws.amazon.com//iot/latest/developerguide/mqtt.html) eine Verbindung herstellen, verschlüsselt TLS die Verbindung zwischen den Geräten und dem Broker und AWS IoT Core verwendet die TLS-Client-Authentifizierung, um Geräte zu identifizieren. Weitere Informationen finden Sie unter [Client-Authentifizierung](https://docs.aws.amazon.com//iot/latest/developerguide/client-authentication.html). Bei Geräten, die AWS IoT Core über [HTTP](https://docs.aws.amazon.com//iot/latest/developerguide/http.html) eine Verbindung herstellen, verschlüsselt TLS die Verbindung zwischen den Geräten und dem Broker, und die Authentifizierung wird an AWS Signature Version 4 delegiert. Weitere Informationen finden Sie unter Signieren von Anforderungen mit Signature Version 4 in der *Allgemeinen Referenz zu AWS *.

Wenn Sie Geräte mit verbinden AWS IoT Core, ist das Senden der [SNI-Erweiterung (Server Name Indication)](https://tools.ietf.org/html/rfc3546#section-3.1) nicht erforderlich, wird aber dringend empfohlen. Um Funktionen wie die [Registrierung mehrerer Konten](https://docs.aws.amazon.com//iot/latest/developerguide/x509-client-certs.html#multiple-account-cert), [benutzerdefinierte Domänen](https://docs.aws.amazon.com//iot/latest/developerguide/iot-custom-endpoints-configurable-custom.html), [VPC-Endpunkte](https://docs.aws.amazon.com//iot/latest/developerguide/IoTCore-VPC.html) und [konfigurierte TLS-Richtlinien](https://docs.aws.amazon.com//iot/latest/developerguide/iot-endpoints-tls-config.html) zu verwenden, müssen Sie die SNI-Erweiterung verwenden und die vollständige Endpunktadresse in das Feld eingeben. `host_name` Im Feld `host_name` muss der Endpunkt angegeben sein, den Sie aufrufen. Dieser Endpunkt muss einer der folgenden sein:
+ den von `aws iot [describe-endpoint](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-endpoint.html) --endpoint-type iot:Data-ATS` zurückgegebenen `endpointAddress`
+ den von `aws iot [describe-domain-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-domain-configuration.html) –-domain-configuration-name "domain_configuration_name"` zurückgegebenen `domainName`

Verbindungsversuche von Geräten mit dem falschen oder `host_name` ungültigen Wert schlagen fehl. AWS IoT Core protokolliert Fehler CloudWatch für den Authentifizierungstyp [Benutzerdefinierte Authentifizierung](https://docs.aws.amazon.com//iot/latest/developerguide/custom-authentication.html).

AWS IoT Core unterstützt die [SessionTicket TLS-Erweiterung](https://www.ietf.org/rfc/rfc5077.txt) nicht.

## Transportsicherheit für drahtlose LoRa WAN-Geräte
<a name="tls-lorawan"></a>

LoRaWAN-Geräte folgen den in [LoRaWAN™ SECURITY: A White Paper Prepared for the LoRa Alliance™ von Gemalto, Actility und](https://lora-alliance.org/sites/default/files/2019-05/lorawan_security_whitepaper.pdf) Semtech beschriebenen Sicherheitspraktiken. 

Weitere Informationen zur Transportsicherheit mit LoRa WAN-Geräten finden Sie unter [LoRaWAN-Daten und](https://docs.aws.amazon.com/iot-wireless/latest/developerguide/iot-lorawan-security.html) Transportsicherheit.

# Datenverschlüsselung in AWS IoT
<a name="data-encryption"></a>

Datenschutz bezieht sich auf den Schutz von Daten während der Übertragung (beim Hin- und Hersenden AWS IoT Core) und im Ruhezustand (während sie auf Geräten oder von anderen AWS Diensten gespeichert werden). Alle an AWS IoT Core gesendeten Daten werden über eine TLS-Verbindung unter Verwendung von MQTT, HTTPS und WebSocket Protokollen gesendet, sodass sie während der Übertragung standardmäßig sicher sind. AWS IoT Core sammelt Daten von Geräten und sendet sie dann zur weiteren Verarbeitung an andere AWS Dienste. Weitere Informationen zur Datenverschlüsselung für andere AWS -Services finden Sie in der Sicherheitsdokumentation des Services. Weitere Informationen finden Sie unter [Datenverschlüsselung im Ruhezustand](encryption-at-rest.md).

FreeRTOS bietet eine PKCS\$111-Bibliothek, die Schlüsselspeicher abstrahiert, auf kryptografische Objekte zugreift und Sitzungen verwaltet. Es liegt in Ihrer Verantwortung, diese Bibliothek zu verwenden, um Daten im Ruhezustand auf Ihren Geräten zu verschlüsseln. Weitere Informationen finden Sie unter [ FreeRTOS\$111-Bibliothek (Public Key Cryptography Standard)](https://docs.aws.amazon.com/freertos/latest/userguide/security-pkcs.html).

# Datenverschlüsselung im Ruhezustand in AWS IoT Core
<a name="encryption-at-rest"></a>

Standardmäßig werden alle AWS IoT Core Daten im Ruhezustand mit AWS eigenen Schlüsseln verschlüsselt. AWS IoT Core unterstützt auch symmetrische, vom Kunden verwaltete Schlüssel von AWS Key Management Service (AWS KMS). Mit vom Kunden verwalteten Schlüsseln können Sie die AWS KMS Schlüssel in Ihrem AWS Konto erstellen, besitzen und verwalten. AWS IoT Core verwendet Ihre KMS-Schlüssel, um Ihre Daten im Ruhezustand zu verschlüsseln. Sie haben die volle Kontrolle über diese KMS-Schlüssel, einschließlich der Erstellung und Verwaltung ihrer wichtigsten Richtlinien. Sie können auch IAM-Richtlinien für die Rollen konfigurieren, die Zugriff darauf haben, AWS KMS um die Berechtigungen für diese Schlüssel zu kontrollieren.

## AWS eigene Schlüssel
<a name="aws-owned-keys"></a>

AWS Eigene Schlüssel sind eine Sammlung von KMS-Schlüsseln, die ein AWS Dienst besitzt und verwaltet, sodass sie in mehreren AWS Konten verwendet werden können. AWS Dienste können AWS eigene Schlüssel verwenden, um Ihre Daten zu schützen. Standardmäßig werden Daten im Ruhezustand mit AWS eigenen Schlüsseln verschlüsselt. AWS IoT Core Diese Schlüssel werden vom Dienst verwaltet. Sie können AWS eigene Schlüssel nicht anzeigen, verwalten oder verwenden. Sie müssen jedoch keine Maßnahmen ergreifen, um diese Schlüssel zu schützen.

Weitere Informationen zu AWS eigenen Schlüsseln finden Sie unter [AWS Eigene Schlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-key) im *AWS Key Management Service Entwicklerhandbuch*.

## Kundenseitig verwaltete Schlüssel
<a name="customer-managed-keys"></a>

Von Kunden verwaltete Schlüssel sind KMS-Schlüssel in Ihrem AWS Konto, die Sie erstellen, besitzen und verwalten. Sie haben die volle Kontrolle über diese AWS KMS Schlüssel, einschließlich der Erstellung und Verwaltung ihrer wichtigsten Richtlinien. Sie können auch IAM-Richtlinien für die Rollen konfigurieren, die Zugriff darauf haben, AWS KMS um die Berechtigungen für diese Schlüssel zu kontrollieren. Sie können so konfigurieren AWS IoT Core , dass Ihre Daten mithilfe von kundenverwalteten KMS-Schlüsseln verschlüsselt werden.

Weitere Informationen über kundenverwaltete Schlüssel finden Sie unter [Kundenverwaltete ](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)Schlüssel im *AWS Key Management Service Developer Guide*.

Gehen Sie wie folgt vor, um sich für vom Kunden verwaltete Schlüssel anzumelden: AWS IoT Core

**Topics**
+ [Schritt 1: Erstellen eines kundenverwalteten Schlüssels](#encryption-at-rest-cmk-create)
+ [Schritt 2: Erstellen Sie eine IAM-Rolle, um AWS IoT Core Berechtigungen zur Verwendung des KMS-Schlüssels zu erteilen](#create-an-iam-role)
+ [Schritt 3: Melden Sie sich für vom Kunden verwaltete Schlüssel an AWS IoT Core](#opt-in-customer-managed-keys)
+ [Schritt 4: Für den Betrieb der AWS IoT Core Steuerungsebene sind zusätzliche Berechtigungen erforderlich](#cmk-control-plane-permissions)
+ [Schritt 5: Schlüssel verwalten](#understanding-key-health)
+ [Schritt 6: Überwachung des Zustands wichtiger Schlüssel](#health-status-monitoring)

### Schritt 1: Erstellen eines kundenverwalteten Schlüssels
<a name="encryption-at-rest-cmk-create"></a>

Sie können einen symmetrischen, vom Kunden verwalteten Schlüssel mithilfe der AWS KMS Konsole oder der AWS KMS CLI-Befehle erstellen. Das `keySpec` muss sein `SYMMETRIC_DEFAULT` und das `keyUsage` muss sein. `ENCRYPT_DECRYPT`

**Anmerkung**  
AWS IoT Core unterstützt nur AWS KMS Schlüssel mit `SYMMETRIC_DEFAULT` Schlüsselspezifikation und `ENCRYPT_DECRYPT` Schlüsselverwendung für vom Kunden verwaltete Schlüssel.

Im Folgenden finden Sie einen AWS CLI Beispielbefehl zum Erstellen eines KMS-Schlüssels, der zusammen mit AWS IoT Core vom Kunden verwalteten Schlüsseln verwendet werden kann.

```
aws kms create-key --key-spec SYMMETRIC_DEFAULT --key-usage ENCRYPT_DECRYPT --region us-west-2
```

Im Folgenden finden Sie ein Beispiel für die Ausgabe des Befehls.

```
{
    "KeyMetadata": {
        "AWSAccountId": "111122223333",
        "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab",
        "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
        "CreationDate": "2024-09-19T11:45:23.982000-07:00",
        "Enabled": true,
        "Description": "",
        "KeyUsage": "ENCRYPT_DECRYPT",
        "KeyState": "Enabled",
        "Origin": "AWS_KMS",
        "KeyManager": "CUSTOMER",
        "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT",
        "KeySpec": "SYMMETRIC_DEFAULT",
        "EncryptionAlgorithms": [
            "SYMMETRIC_DEFAULT"
        ],
        "MultiRegion": false
    }
}
```

Weitere Informationen finden Sie unter [Creating a symmetric customer managed key](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) im *AWS Key Management Service Developer Guide*.

#### Schlüsselrichtlinie
<a name="key-policy"></a>

Bei der Erstellung eines vom Kunden verwalteten Schlüssels können Sie eine Schlüsselrichtlinie angeben. Schlüsselrichtlinien steuern den Zugriff auf den vom Kunden verwalteten Schlüssel. Jeder vom Kunden verwaltete Schlüssel muss über genau eine Schlüsselrichtlinie verfügen, die aussagt, wer den Schlüssel wie verwenden kann. Weitere Informationen finden Sie unter [Wichtige Richtlinien](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) im *AWS Key Management Service Entwicklerhandbuch*.

AWS IoT Core verwendet eine IAM-Rolle in Ihrem Konto, um auf Ihren vom Kunden verwalteten Schlüssel zuzugreifen. Wenn Sie eine benutzerdefinierte Schlüsselrichtlinie verwenden, stellen Sie sicher, dass die für diesen Schlüssel erstellte IAM-Rolle über die folgenden Berechtigungen verfügt:
+ `kms:DescribeKey`
+ `kms:Decrypt`
+ `kms:Encrypt`
+ `kms:GenerateDataKeyWithoutPlaintext`
+ `kms:ReEncryptTo`
+ `kms:ReEncryptFrom`

### Schritt 2: Erstellen Sie eine IAM-Rolle, um AWS IoT Core Berechtigungen zur Verwendung des KMS-Schlüssels zu erteilen
<a name="create-an-iam-role"></a>

 AWS IoT Core Um den von Ihnen erstellten KMS-Schlüssel zur Verschlüsselung Ihrer Daten im Ruhezustand verwenden zu können, müssen Sie auch eine IAM-Rolle in Ihrem Konto erstellen, die davon ausgehen AWS IoT Core kann, auf den KMS-Schlüssel zuzugreifen.

Die Rolle muss über die folgende Vertrauensrichtlinie verfügen, damit sie diese AWS IoT Core Rolle übernehmen kann.

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Principal": {
            "Service": "iot.amazonaws.com"
        },
        "Action": "sts:AssumeRole",
        "Condition": {
            "StringEquals": {
                "aws:SourceAccount": "111122223333"
            },
            "ArnLike": {
                "aws:SourceArn": "arn:aws:iot:us-west-2:111122223333:*"
            }
        }
    }
}
```

Stellen Sie sicher, dass die mit der IAM-Rolle verknüpften IAM-Richtlinien über die folgenden Berechtigungen für den KMS-Schlüssel verfügen:
+ `kms:DescribeKey`
+ `kms:Decrypt`
+ `kms:Encrypt`
+ `kms:GenerateDataKeyWithoutPlaintext`
+ `kms:ReEncryptTo`
+ `kms:ReEncryptFrom`

Im Folgenden finden Sie ein Beispiel für eine IAM-Richtlinie mit den erforderlichen Berechtigungen für vom Kunden verwaltete Schlüssel.

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowIoTToAccessKMSResource",
            "Effect": "Allow",
            "Action": [
                "kms:DescribeKey",
                "kms:Decrypt",
                "kms:Encrypt",
                "kms:ReEncryptTo",
                "kms:ReEncryptFrom",
                "kms:GenerateDataKeyWithoutPlaintext"
            ],
            "Resource": [
                "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
            ],
            "Condition": {
                "StringEquals": {
                    "kms:EncryptionContext:aws-crypto-ec:vendor": "iot.amazonaws.com"
                }
            }
        }
    ]
}
```

*Weitere Informationen finden Sie im Benutzerhandbuch unter [Erstellen einer Rolle zum Delegieren von Berechtigungen an einen IAM-Benutzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html).AWS Identity and Access Management *

### Schritt 3: Melden Sie sich für vom Kunden verwaltete Schlüssel an AWS IoT Core
<a name="opt-in-customer-managed-keys"></a>

Nachdem Sie alle vorherigen Schritte abgeschlossen haben, führen Sie den `update-encryption-configuration` CLI-Befehl aus, um sich mit vom Kunden verwalteten Schlüsseln anzumelden AWS IoT Core. Wenn Sie sich für vom Kunden verwaltete Schlüssel entscheiden, werden alle AWS IoT Core Ressourcen in Ihrem AWS Konto mit dem angegebenen AWS KMS Schlüssel verschlüsselt.

1. Führen Sie den `update-encryption-configuration` CLI-Befehl aus AWS CLI, um sich für die AWS IoT Core Verwendung von vom Kunden verwalteten Schlüsseln zu entscheiden.

   ```
   aws iot update-encryption-configuration --encryption-type "CUSTOMER_MANAGED_KMS_KEY" \
   --kms-access-role-arn "arn:aws:iam::111122223333:role/myrole" \
   --kms-key-arn "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" --region us-west-2
   ```

1. Führen Sie den `describe-encryption-configuration` CLI-Befehl aus, um zu überprüfen AWS CLI, ob vom Kunden verwaltete Schlüssel AWS IoT Core verwendet werden:

   ```
   aws iot describe-encryption-configuration --region us-west-2
   ```

   Wenn Sie vom Kunden verwaltete Schlüssel aktiviert haben AWS IoT Core, kann die Ausgabe wie folgt aussehen:

   ```
   {
       "encryptionType": "CUSTOMER_MANAGED_KMS_KEY",
       "kmsKeyArn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
       "kmsAccessRoleArn": "arn:aws:iam::111122223333:role/myrole",
       "configurationDetails": {
           "configurationStatus": "HEALTHY"
       },
       "lastModifiedDate": "2024-09-26T22:01:02.365000-07:00"
   }
   ```

   Das `lastModifiedDate` Feld gibt das Datum an, an dem die Verschlüsselungskonfiguration zuletzt aktualisiert wurde.

   Wenn Sie vom Kunden verwaltete Schlüssel nicht aktiviert haben, kann die Ausgabe wie folgt aussehen:

   ```
   {
       "encryptionType": "AWS_OWNED_KMS_KEY",
       "lastModifiedDate": "2024-09-26T22:01:02.365000-07:00"
   }
   ```

### Schritt 4: Für den Betrieb der AWS IoT Core Steuerungsebene sind zusätzliche Berechtigungen erforderlich
<a name="cmk-control-plane-permissions"></a>

Nachdem Sie sich für vom Kunden verwaltete Schlüssel entschieden haben, werden alle AWS IoT Core Ressourcen, die zu Ihrem AWS Konto gehören, mit dem bereitgestellten KMS-Schlüssel verschlüsselt. Für alle Operationen auf der Steuerungsebene benötigt der Anrufer nun zusätzlich zu den für den jeweiligen Vorgang auf der AWS IoT Core Ressource erforderlichen Berechtigungen auch Berechtigungen für den KMS-Schlüssel. `kms:Decrypt` Wenn der Aufrufer nicht über die `kms:Decrypt` entsprechende Berechtigung verfügt und einen API-Aufruf tätigt, für den Daten ver- oder entschlüsselt werden müssen (z. B.`GetPolicy`), erhält er eine. `UnauthorizedException`

Wenn Sie beispielsweise anrufen`GetPolicy`, benötigen Sie `iot:GetPolicy` sowohl beides als auch `kms:Decrypt` Berechtigungen für Ihren vom Kunden verwalteten KMS-Schlüssel, damit der API-Aufruf erfolgreich ist.

**Anmerkung**  
Wenn Sie IAM-Benutzer oder -Rollen aktualisieren, um AWS KMS Berechtigungen für den für Ihre Verschlüsselungskonfiguration verwendeten Schlüssel zu gewähren, stellen Sie sicher, dass die KMS-Schlüsselrichtlinie auch den jeweiligen IAM-Benutzern oder -Rollen die erforderlichen Berechtigungen gewährt.

#### AWS KMS Berechtigungen für `UpdateEncryptionConfiguration`
<a name="kms-permissions-update-encryption-configuration"></a>

Für den `UpdateEncryptionConfiguration` API-Aufruf sind die folgenden AWS KMS Berechtigungen für den KMS-Schlüssel erforderlich, damit Sie sich für vom Kunden verwaltete Schlüssel entscheiden oder die Schlüsselkonfiguration ändern können:
+ `kms:DescribeKey`
+ `kms:Decrypt`
+ `kms:Encrypt`
+ `kms:GenerateDataKeyWithoutPlaintext`
+ `kms:ReEncryptTo`
+ `kms:ReEncryptFrom`

#### AWS KMS Berechtigungen für alle anderen Steuerungsebenen APIs
<a name="kms-permissions-control-plane-apis"></a>

Für die meisten APIs Steuerungsebenen sind `kms:Decrypt` Berechtigungen erforderlich, wenn vom Kunden verwaltete Schlüssel aktiviert sind. Für einige APIs sind diese zusätzlichen Berechtigungen jedoch nicht erforderlich:

APIs für die keine AWS KMS Berechtigungen erforderlich sind  
Die `List*` und fallen `Delete*` APIs nicht in diesen Eimer. Kunden können jederzeit eine beliebige API `List*` oder eine API auf `Delete*` Steuerungsebene aufrufen, und diese API-Aufrufe würden auch dann erfolgreich sein, wenn der Aufrufer nicht über `kms:Decrypt` die entsprechende Genehmigung verfügt. Diese API-Aufrufe sind auch dann erfolgreich, wenn Ihr vom Kunden verwalteter Schlüssel fehlerhaft ist `List*` und `Delete*` APIs keine Entschlüsselung erfolgt.  
+ **List\$1 APIs** — Alle Auflistungsvorgänge (z. B.,,`ListThings`) `ListPolicies` `ListCertificates`
+ **Löschen\$1 APIs** — Alle Löschvorgänge (zum Beispiel,,,`DeleteThing`) `DeletePolicy` `DeleteCertificate`

### Schritt 5: Schlüssel verwalten
<a name="understanding-key-health"></a>

AWS IoT Core überprüft regelmäßig die vom Kunden verwaltete Schlüsselkonfiguration, um sicherzustellen, dass die Verschlüsselungs- und Entschlüsselungsvorgänge nicht beeinträchtigt werden. Diese Integritätsprüfungen werden einmal pro Minute durchgeführt und überprüfen AWS IoT Core, ob auf den Schlüssel und die zugehörige IAM-Rolle zugegriffen und diese für Verschlüsselungs- und AWS KMS Entschlüsselungsvorgänge verwendet werden kann.

HEALTHY  
AWS IoT Core kann über die angegebene IAM-Rolle erfolgreich auf den AWS KMS Schlüssel zugreifen und Operationen ausführen. encryption/decryption Alle Komponenten funktionieren einwandfrei.

UNHEALTHY  
AWS IoT Core kann nicht auf den AWS KMS Schlüssel zugreifen oder ihn verwenden. Dadurch werden neue Verschlüsselungsvorgänge verhindert und die Funktionalität des Dienstes kann beeinträchtigt werden. Das `errorCode` Feld gibt an, ob das Problem mit dem Schlüssel oder der IAM-Rolle zusammenhängt.

#### Kundenaktionen, die sich auf den Zustand wichtiger Schlüssel auswirken können
<a name="customer-actions-affecting-health"></a>

Verschiedene Kundenaktionen können dazu führen, dass sich der Status des Schlüsselzustands von `HEALTHY` zu ändert`UNHEALTHY`:

Wichtige Aktionen  
+ **Löschen eines AWS KMS Schlüssels** — Wenn Sie das Löschen eines Schlüssels planen, befindet er sich in einem `Pending deletion` Status und kann nicht verwendet werden
+ ** AWS KMS Schlüssel deaktivieren — Wenn Sie einen** KMS-Schlüssel deaktivieren, kann er nicht mehr für Verschlüsselungs-/Entschlüsselungsvorgänge verwendet werden
+ **Schlüssel für das Löschen planen — Der Schlüssel wird unbrauchbar, wenn der Löschvorgang** abgeschlossen ist
+ **Änderung der Schlüsselrichtlinie** — Entfernen der erforderlichen Zugriffsberechtigungen AWS IoT Core 
+ **Ändern der Berechtigungen zur Schlüsselnutzung** — Einschränkung der erforderlichen Aktionen AWS KMS 

Rollenbezogene IAM-Aktionen  
+ **Löschen der IAM-Rolle** — es AWS IoT Core kann nicht angenommen werden, dass die Rolle auf den Schlüssel zugreift
+ **Rollenberechtigungen ändern** — Erforderliche AWS KMS Berechtigungen aus der Rollenrichtlinie entfernen
+ **Änderung der Vertrauensrichtlinie** — Verhindern, dass der AWS IoT Core Dienst die Rolle übernimmt
+ **Hinzufügen einschränkender Bedingungen** — Bedingungen, die die Nutzung der Rolle AWS IoT Core verhindern

Aktionen auf Kontoebene  
+ **Kontoübergreifende Änderungen am Schlüsselzugriff** — Ändern der Berechtigungen für Schlüssel in verschiedenen Konten
+ **Richtlinien zur Servicesteuerung (SCPs) — Richtlinien** auf Organisationsebene, die den Zugriff einschränken AWS KMS 
+ **IAM-Richtlinien auf Kontoebene — Richtlinien**, die den Schlüsselzugriff außer Kraft setzen oder mit diesem in Konflikt geraten

**Wichtig**  
Alle Änderungen an AWS KMS Schlüsseln, IAM-Rollen oder Richtlinien, die von verwendet werden, AWS IoT Core sollten zuerst in Entwicklungsumgebungen getestet werden. Überwachen Sie den Zustand der Schlüssel genau, nachdem Sie Änderungen vorgenommen haben, um sicherzustellen, dass die AWS IoT Core Funktionalität nicht beeinträchtigt wird.

#### Die Verschlüsselungskonfiguration wird aktualisiert
<a name="key-transition"></a>

Aktualisieren Sie Ihre Verschlüsselungskonfiguration AWS IoT Core , um von einem vom Kunden verwalteten Schlüssel zu einem anderen oder zwischen AWS eigenen Schlüsseln und kundenverwalteten Schlüsseln zu wechseln.

So ändern Sie die Konfiguration auf einen anderen vom Kunden verwalteten Schlüssel:

1. Erstellen Sie einen neuen, vom Kunden verwalteten Schlüssel, indem Sie die Schritte unter befolgen[Schritt 1: Erstellen eines kundenverwalteten Schlüssels](#encryption-at-rest-cmk-create).

1. Aktualisieren Sie Ihre IAM-Rollenrichtlinie so, dass sie während des Aktualisierungszeitraums Berechtigungen sowohl für die alten als auch für die neuen Schlüssel enthält.

1. Aktualisieren Sie Ihre Verschlüsselungskonfiguration, um den neuen Schlüssel zu verwenden:

   ```
   aws iot update-encryption-configuration --encryption-type "CUSTOMER_MANAGED_KMS_KEY" \
   --kms-access-role-arn "arn:aws:iam::111122223333:role/myrole" \
   --kms-key-arn "arn:aws:kms:us-west-2:111122223333:key/new-key-id"
   ```

So ändern Sie die Konfiguration von vom Kunden verwalteten Schlüsseln zurück zu AWS eigenen Schlüsseln:

```
aws iot update-encryption-configuration --encryption-type "AWS_OWNED_KMS_KEY"
```

**Anmerkung**  
Stellen Sie bei der Aktualisierung der Verschlüsselungskonfiguration für neue, vom Kunden verwaltete Schlüssel sicher, dass sowohl der alte als auch der neue Schlüssel weiterhin zugänglich sind, damit der Vorgang erfolgreich ist.

##### Häufige Ausfallszenarien und Auswirkungen
<a name="failure-scenarios"></a>

In der folgenden Tabelle werden häufige Fehlerszenarien beschrieben, wenn Schlüssel gelöscht oder deaktiviert werden:


| Szenario | Sofortige Wirkung | Langfristige Folgen | 
| --- | --- | --- | 
|  Schlüssel deaktiviert  |  Alle neuen encryption/decryption Operationen schlagen sofort fehl  |  Betriebsunterbrechung, bis der Schlüssel wieder aktiviert oder ersetzt wird  | 
|  Der Schlüssel soll gelöscht werden  |  Der Schlüsselstatus wird in „Ausstehend gelöscht“ geändert und alle encryption/decryption Vorgänge schlagen fehl  |  Automatischer Dienstfehler, wenn der Löschvorgang abgeschlossen ist  | 
|  Der Schlüssel wurde dauerhaft gelöscht  |  Sofortiger und dauerhafter Ausfall aller Operationen  |  Dauerhafter Datenverlust und Unfähigkeit, verschlüsselte Daten wiederherzustellen  | 
|  Wichtige Richtlinie wurde falsch geändert  |  AWS IoT Core verliert die Zugriffsberechtigungen für den Schlüssel  |  Der Dienst schlägt fehl, bis die Richtlinie korrigiert ist  | 
|  Die IAM-Rolle wurde gelöscht  |  AWS IoT Core kann die Rolle für den Zugriffsschlüssel nicht übernehmen  |  Vollständiger Ausfall des Verschlüsselungsdienstes  | 
|  Die IAM-Rolle wurde falsch geändert  |  AWS IoT Core kann keine Rolle übernehmen oder die Rolle für den Zugriff auf den Schlüssel verwenden  |   Der Dienst schlägt fehl, bis die IAM-Rolle behoben ist  | 

##### Prävention und bewährte Verfahren
<a name="prevention-best-practices"></a>

Um das versehentliche Löschen oder Deaktivieren von Schlüsseln zu verhindern und das Risiko von Serviceausfällen zu minimieren, gehen Sie wie folgt vor:

Implementieren Sie wichtige Lebenszyklusrichtlinien  
Legen Sie klare Verfahren für die Schaffung, Rotation und Außerbetriebnahme von Schlüsseln fest. Dokumentieren Sie, welche Schlüssel von welchen AWS IoT Core Ressourcen verwendet werden, und führen Sie ein Inventar der aktiven Schlüssel.

Verwenden Sie IAM-Richtlinien, um das Löschen von Schlüsseln einzuschränken  
Erstellen Sie IAM-Richtlinien, die verhindern, dass unbefugte Benutzer wichtige Verschlüsselungsschlüssel löschen oder deaktivieren. Verwenden Sie Bedingungen, um eine zusätzliche Genehmigung für das Löschen von Schlüsseln zu verlangen.

 CloudTrail Protokollierung aktivieren  
Überwachen Sie alle AWS KMS wichtigen Vorgänge, CloudTrail um unbefugte oder versehentliche Schlüsselverwaltungsaktivitäten zu erkennen. Richten Sie Warnmeldungen für das Löschen oder Deaktivieren von Schlüsseln oder für Richtlinienänderungen ein.

Testen Sie die Verfahren zum Austausch von Schlüsseln  
Testen Sie Ihre wichtigsten Austauschverfahren regelmäßig in Umgebungen außerhalb der Produktionsumgebung, um sicherzustellen, dass Sie nach Ausfällen im Zusammenhang mit Schlüsseln schnell wieder einsatzbereit sind.

Pflegen Sie wichtige Backups  
Sie können zwar kein AWS KMS Schlüsselmaterial exportieren, führen jedoch detaillierte Aufzeichnungen über Schlüssel ARNs, Richtlinien und zugehörige AWS IoT Core Konfigurationen, um bei Bedarf einen schnellen Austausch von Schlüsseln zu ermöglichen.

Überwachen Sie den Zustand der Schlüssel  
Überwachen Sie die `CMK.Health` Metrik kontinuierlich und richten Sie automatische Benachrichtigungen für wichtige Änderungen des Gesundheitsstatus ein. Implementieren Sie automatisierte Antworten, um wichtige Probleme schnell zu lösen.

**Wichtig**  
Testen Sie wichtige Aktualisierungsverfahren immer in Entwicklungsumgebungen, bevor Sie sie in der Produktion implementieren. Halten Sie einen dokumentierten Rollback-Plan bereit und stellen Sie sicher, dass wichtige Ersatzverfahren in Notfällen schnell ausgeführt werden können.

### Schritt 6: Überwachung des Zustands wichtiger Schlüssel
<a name="health-status-monitoring"></a>

Im Rahmen der regelmäßigen AWS IoT Core Prüfläufe werden CloudWatch Messwerte und Protokolle ausgegeben, um den Status Ihrer vom Kunden verwalteten Schlüsselkonfiguration transparent zu machen

AWS IoT Core sendet die `CMK.Health` Metrik CloudWatch mindestens einmal pro Minute aus. Die Metrik liefert Informationen über den Zustand der vom Kunden verwalteten Schlüssel, die AWS IoT Core zum Verschlüsseln und Entschlüsseln Ihrer Daten verwendet werden.

Die `CMK.Health` Metrik kann die folgenden Werte haben:
+ Der Wert AWS IoT Core lautet`1`: kann die Verschlüsselungsschlüssel erfolgreich zum Verschlüsseln und Entschlüsseln Ihrer Daten verwenden.
+ Der Wert AWS IoT Core ist`0`: kann die Verschlüsselungsschlüssel nicht zum Verschlüsseln und Entschlüsseln Ihrer Daten verwenden.

AWS IoT Core gibt auch AWS IoT V2-Protokolle aus, wenn sich der Integritätsstatus der Verschlüsselungsschlüssel ändert. Diese Protokolle enthalten zusätzliche Informationen zur Aktualisierung des Gesundheitsstatus. Um diese Protokolle anzeigen zu können, müssen Sie AWS IoT V2-Protokolle aktivieren. Die `HEALTHY` Protokolle werden auf `INFO` Ebene ausgegeben, und die `UNHEALTHY` Protokolle werden auf `ERROR` Ebene 2 ausgegeben. Weitere Informationen zu den Protokollebenen finden Sie unter [Protokollebenen](https://docs.aws.amazon.com/iot/latest/developerguide/configure-logging.html#log-level).

Bei den folgenden Beispielen handelt es CloudWatch sich um Protokolleinträge, die von ausgegeben wurden AWS IoT Core , um auf die Aktualisierung des Integritätsstatus der vom Kunden verwalteten Schlüssel hinzuweisen.

Um wichtige Änderungen des Gesundheitsstatus effektiv zu überwachen und darauf zu reagieren:

1. **Richten Sie CloudWatch Alarme** für die `CMK.Health` Metrik ein:

   ```
   aws cloudwatch put-metric-alarm --region us-west-2 \
     --alarm-name "IoTCore-CMK-Health-Alert" \
     --alarm-description "Alert when IoT Core CMK health is unhealthy" \
     --metric-name "CMK.Health" \
     --namespace "AWS/IoT" \
     --statistic "Minimum" \
     --period 300 \
     --evaluation-periods 1 \
     --threshold 1 \
     --comparison-operator "LessThanThreshold" \
     --alarm-actions "arn:aws:sns:us-west-2:111122223333:iot-alerts"
   ```

1. **Aktivieren Sie die AWS IoT V2-Protokollierung**, um detaillierte Ereignisse mit Änderungen des Gesundheitsstatus mit Fehlercodes und Meldungen zu erfassen.

1. **Überprüfen Sie den Konfigurationsstatus** zur Fehlerbehebung:

   ```
   aws iot describe-encryption-configuration --region us-west-2
   ```

1. **Untersuchen Sie den Status UNGESUND**, indem Sie das `errorCode` Feld untersuchen:
   + `KMS_KEY_VALIDATION_ERROR`— Problem mit dem AWS KMS Schlüssel (deaktiviert, gelöscht oder Richtlinienprobleme)
   + `ROLE_VALIDATION_ERROR`— Problem mit der IAM-Rolle (gelöscht, Richtlinienprobleme oder Vertrauensprobleme)

#### Von UNGESUND zu GESUND
<a name="unhealthy-to-healthy"></a>

Wenn der Status der Verschlüsselungsschlüssel von `UNHEALTHY` bis aktualisiert wird`HEALTHY`, AWS IoT Core wird eine AWS IoT V2-Protokollmeldung im folgenden Format ausgegeben.

```
{
    "timestamp": "2017-08-10 15:37:23.476",
    "logLevel": "INFO",
    "traceId": "8421693b-f4f0-4e4a-9235-0cff8bab897d",
    "accountId": "111122223333",
    "status": "SUCCESS",
    "cmkStatus": "HEALTHY",
    "kmsKeyArn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
    "kmsAccessRoleArn": "arn:aws:iam::111122223333:role/myrole",
    "eventType": "CmkHealthCheck"
}
```

#### Von GESUND zu UNGESUND
<a name="healthy-to-unhealthy"></a>

Wenn der Status der Verschlüsselungsschlüssel von `HEALTHY` bis aktualisiert wird`UNHEALTHY`, AWS IoT Core wird eine AWS IoT V2-Protokollmeldung im folgenden Format ausgegeben.

```
{
    "timestamp": "2017-08-10 15:37:23.476",
    "logLevel": "ERROR",
    "traceId": "8421693b-f4f0-4e4a-9235-0cff8bab897d",
    "accountId": "111122223333",
    "status": "FAILURE",
    "cmkStatus": "UNHEALTHY",
    "errorCode": "KMS_KEY_VALIDATION_ERROR / ROLE_VALIDATION_ERROR",
    "errorMessage": "Error message on why there was a failure",
    "kmsKeyArn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
    "kmsAccessRoleArn": "arn:aws:iam::111122223333:role/myrole",
    "eventType": "CmkHealthCheck"
}
```

**Warnung**  
Wenn der Zustand des Schlüssels erreicht ist`UNHEALTHY`, schlagen die AWS IoT Core Operationen sofort fehl. Überprüfen Sie in diesem Fall Ihre Schlüsselkonfigurationen, IAM-Rollenberechtigungen und Richtlinien. Überwachen Sie die `CMK.Health` Metrik auf Statusänderungen. Wenn der Betrieb nach der Überprüfung Ihrer Konfigurationen weiterhin fehlschlägt, wenden Sie sich an Ihren Account Manager oder das [AWS Support Center](https://console.aws.amazon.com/support/home#/), um weitere Unterstützung zu erhalten.

#### AWS CloudTrail Ereignisse
<a name="aws-cloudtrail-events"></a>

Sie können auch die Verwendung AWS IoT Core des KMS-Schlüssels für Verschlüsselungs- und Entschlüsselungsvorgänge überwachen. AWS IoT Core führt`DescribeKey`, `Decrypt``ReEncrypt`, und `GenerateDataKeyWithoutPlaintext` -Operationen mit Ihrem KMS-Schlüssel durch, um Daten zu verschlüsseln und zu entschlüsseln, die zu Ihrem AWS Konto gehören und im Ruhezustand gespeichert sind.

Es gibt CloudTrail Ereignisse für`DescribeKey`, `Decrypt``ReEncrypt`, und. `GenerateDataKeyWithoutPlaintext` Diese Ereignisse überwachen AWS KMS Vorgänge, die von aufgerufen werden AWS IoT Core , um auf Daten zuzugreifen, die mit Ihrem vom Kunden verwalteten Schlüssel verschlüsselt wurden.

##### `Decrypt`Beispiel für
<a name="decrypt"></a>

```
{
    "eventVersion": "1.09",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01",
        "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01",
        "accountId": "111122223333",
        "accessKeyId": "*********************",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01",
                "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01",
                "accountId": "111122223333",
                "userName": "*****"
            },
            "attributes": {
                "creationDate": "2024-09-16T20:23:39Z",
                "mfaAuthenticated": "false"
            }
        },
        "invokedBy": "iot.amazonaws.com"
    },
    "eventTime": "2024-09-16T20:32:48Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "Decrypt",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "iot.amazonaws.com",
    "userAgent": "iot.amazonaws.com",
    "requestParameters": {
        "encryptionContext": {
            "kms-arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
            "aws-crypto-ec:vendor": "iot.amazonaws.com",
            "branch-key-id": "111122223333",
            "type": "branch:ACTIVE"
        },
        "encryptionAlgorithm": "SYMMETRIC_DEFAULT",
        "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
    },
    "responseElements": null,
    "requestID": "1afb6d98-8388-455d-8b48-e62c9e0cf7f4",
    "eventID": "b59a5f16-0d98-46d8-a590-0e040a48b39b",
    "readOnly": true,
    "resources": [
        {
            "accountId": "111122223333",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management"
}
```