

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.

# Verwaltung von Amazon SNS SNS-Verschlüsselungsschlüsseln und Kosten
<a name="sns-key-management"></a>

Die folgenden Abschnitte enthalten Informationen zum Arbeiten mit Schlüsseln, die in AWS Key Management Service (AWS KMS) verwaltet werden.

**Anmerkung**  
Amazon SNS unterstützt nur KMS-Schlüssel mit symmetrischer Verschlüsselung. Sie können keinen anderen KMS-Schlüsseltyp für die Verschlüsselung Ihre Service-Ressourcen verwenden. Wie Sie feststellen, ob ein KMS-Schlüssel ein symmetrisch Verschlüsselungsschlüssel ist, erfahren Sie unter [Erkennen asymmetrischer Schlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/find-symm-asymm.html).

## Schätzung der Kosten AWS KMS
<a name="sse-estimate-kms-usage-costs"></a>

Um Kosten vorherzusagen und Ihre AWS Rechnung besser zu verstehen, möchten Sie vielleicht wissen, wie oft Amazon SNS Ihre AWS KMS key verwendet.

**Anmerkung**  
Mit der nachstehenden Formel erhalten Sie eine gute Vorstellung davon, welche Kosten auf Sie zukommen. Allerdings können die tatsächlichen Kosten aufgrund der verteilten Struktur von Amazon SNS höher liegen.

Zur Berechnung der Anzahl der API-Anfragen (`R`) *pro Thema* verwenden Sie folgende Formel:

```
R = B / D * (2 * P)
```

`B` ist der Abrechnungszeitraum (in Sekunden).

`D` ist die Wiederverwendungszeit des Datenschlüssels (in Sekunden—Amazon SNS verwendet einen Datenschlüssel bis zu 5 Minuten lang).

`P` ist die Anzahl der Veröffentlichungen der [Prinzipale](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Principal), die Nachrichten an das Amazon-SNS-Thema senden.

Es folgen Beispielberechnungen: Preisinformationen finden Sie unter [AWS Key Management Service -Preise](https://aws.amazon.com/kms/pricing/).

### Beispiel 1: Berechnung der Anzahl der AWS KMS API-Aufrufe für einen Herausgeber und ein Thema
<a name="example-1-topic-1-publisher"></a>

In diesem Beispiel wird Folgendes angenommen:
+ Der Abrechnungszeitraum ist 1. bis 31. Januar (2 678 400 Sekunden).
+ Der Wiederverwendungszeitraum für den Datenschlüssel ist 5 Minuten (300 Sekunden).
+ Es gibt 1 Thema.
+ Es gibt 1 Veröffentlichungsprinzipal.

```
2,678,400 / 300 * (2 * 1) = 17,856
```

### Beispiel 2: Berechnung der Anzahl der AWS KMS API-Aufrufe für mehrere Herausgeber und zwei Themen
<a name="example-2-topics-multiple-publishers"></a>

In diesem Beispiel wird Folgendes angenommen:
+ Der Abrechnungszeitraum ist 1. bis 28. Februar (2 419 200 Sekunden).
+ Der Wiederverwendungszeitraum für den Datenschlüssel ist 5 Minuten (300 Sekunden).
+ Es gibt 2 Themen.
+ Das erste Thema hat 3 Veröffentlichungsprinzipale.
+ Das zweite Thema hat 5 Veröffentlichungsprinzipale.

```
(2,419,200 / 300 * (2 * 3)) + (2,419,200 / 300 * (2 * 5)) = 129,024
```

## Berechtigungen konfigurieren AWS KMS
<a name="sns-what-permissions-for-sse"></a>

Bevor Sie SSE verwenden können, müssen Sie AWS KMS key Richtlinien konfigurieren, die die Verschlüsselung von Themen sowie die Verschlüsselung und Entschlüsselung von Nachrichten ermöglichen. Weitere Informationen zu Berechtigungen für AWS KMS -Aktionen finden Sie unter [AWS KMS Glue-API-Berechtigungen: Referenz für Aktionen und Ressourcen](https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html) im *AWS Key Management Service Entwicklerhandbuch*. Einzelheiten zur Einrichtung eines Amazon-SNS-Themas mit serverseitiger Verschlüsselung finden Sie unter [Zusätzliche Informationen](sns-enable-encryption-for-topic.md#set-up-topic-with-sse).

**Anmerkung**  
Sie können Berechtigungen für symmetrische KMS-Verschlüsselungsschlüssel auch mit IAM-Richtlinien verwalten. Weitere Informationen finden Sie unter [Verwenden von IAM-Richtlinien](https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html) mit. AWS KMS  
Sie können zwar globale Berechtigungen für das Senden an und Empfangen von Amazon SNS konfigurieren, AWS KMS erfordert jedoch die ausdrückliche Benennung des KMSs vollständigen ARN bestimmter Regionen im `Resource` Abschnitt einer IAM-Richtlinie.

Sie müssen außerdem sicherstellen, dass die wichtigsten Richtlinien von die erforderlichen AWS KMS key Berechtigungen zulassen. Geben Sie dazu die Namen der Prinzipale an, die verschlüsselte Nachrichten in Amazon SNS als Benutzer in der KMS-Schlüsselrichtlinie produzieren und verbrauchen. 

Alternativ können Sie die erforderlichen AWS KMS Aktionen und den KMS-ARN in einer IAM-Richtlinie angeben, die den Prinzipalen zugewiesen ist, die verschlüsselte Nachrichten in Amazon SNS veröffentlichen und abonnieren. Weitere Informationen finden Sie unter [Verwalten des Zugriffs auf AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/control-access-overview.html#managing-access) im *AWS Key Management Service -Entwicklerhandbuch*.

Wenn Sie einen vom Kunden verwalteten Schlüssel für Ihr Amazon-SNS-Thema auswählen und Sie Aliase verwenden, um den Zugriff auf KMS-Schlüssel mithilfe von IAM-Richtlinien oder KMS-Schlüsselrichtlinien mit dem Bedingungsschlüssel `kms:ResourceAliases` zu steuern, stellen Sie sicher, dass dem ausgewählten vom Kunden verwalteten Schlüssel auch ein Alias zugeordnet ist. Weitere Informationen zur Verwendung von Aliasen zur Steuerung des Zugriffs auf KMS-Schlüssel finden Sie unter [Verwenden von Aliasen zur Steuerung des Zugriffs auf KMS-Schlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/alias-authorization.html) im *Entwicklerhandbuch zu AWS Key Management Service *.

### Einem Benutzer erlauben, Nachrichten an ein bestimmtes Thema mit SSE zu senden
<a name="send-to-encrypted-topic"></a>

Der Publisher muss die Berechtigungen `kms:GenerateDataKey*` und `kms:Decrypt` für den AWS KMS key besitzen.

```
{
  "Statement": [{
    "Effect": "Allow",
    "Action": [
      "kms:GenerateDataKey*",
      "kms:Decrypt"
    ],
    "Resource": "arn:aws:kms:us-east-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab"
  }, {
    "Effect": "Allow",
    "Action": [
      "sns:Publish"
    ],
    "Resource": "arn:aws:sns:*:123456789012:MyTopic"
  }]
}
```

### Aktivieren Sie die Kompatibilität zwischen Ereignisquellen aus AWS Diensten und verschlüsselten Themen
<a name="compatibility-with-aws-services"></a>

Verschiedene AWS Dienste veröffentlichen Veranstaltungen zu Amazon SNS SNS-Themen. Damit diese Ereignisquellen mit verschlüsselten Themen arbeiten können, müssen Sie die folgenden Schritte ausführen:

1. Verwenden Sie einen vom Kunden verwalteten Schlüssel. Weitere Informationen finden Sie unter [Erstellen von Schlüsseln](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) im *AWS Key Management Service -Entwicklerhandbuch*.

1. Damit der AWS Service über die `kms:Decrypt` Berechtigungen `kms:GenerateDataKey*` und verfügt, fügen Sie der KMS-Richtlinie die folgende Erklärung hinzu.

   ```
   {
     "Statement": [{
       "Effect": "Allow",
       "Principal": {
         "Service": "service.amazonaws.com"
       },
       "Action": [
         "kms:GenerateDataKey*",
         "kms:Decrypt"
       ],
       "Resource": "*"
     }]
   }
   ```    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sns/latest/dg/sns-key-management.html)
**Anmerkung**  
Bei einigen Amazon SNS SNS-Ereignisquellen müssen Sie in der Richtlinie eine IAM-Rolle (und nicht den Service Principal) angeben: AWS KMS key   
[Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ASGettingNotifications.html)
[Amazon Elastic Transcoder](https://docs.aws.amazon.com/elastictranscoder/latest/developerguide/notifications.html)
[AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/approvals.html#approvals-configuration-options)
[AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/notifications-for-AWS-Config.html)
[AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.managing.sns.html)
[AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/iot-sns-rule.html)
[EC2 Image Builder](https://docs.aws.amazon.com/imagebuilder/latest/userguide/ibhow-integrations.html#integ-sns-encrypted)

1. Fügen Sie die `aws:SourceAccount`- und `aws:SourceArn`-Bedingungsschlüssel der KMS-Ressourcenrichtlinie hinzu, um den KMS-Schlüssel vor [Confused-Deputy](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html)-Angriffen zu schützen. Genaue Einzelheiten zu jedem Fall finden Sie in der jeweiligen Liste der servicespezifischen Dokumentation (oben).
**Wichtig**  
Das Hinzufügen von `aws:SourceAccount``aws:SourceArn`, und `aws:SourceOrgID` zu einer AWS KMS Richtlinie wird für EventBridge-to-encrypted Themen nicht unterstützt.

   ```
   {
     "Effect": "Allow",
     "Principal": {
       "Service": "service.amazonaws.com"
     },
     "Action": [
       "kms:GenerateDataKey*",
       "kms:Decrypt"
     ],
     "Resource": "*",
     "Condition": {
       "StringEquals": {
         "aws:SourceAccount": "customer-account-id"
       },
       "ArnLike": {
         "aws:SourceArn": "arn:aws:service:region:customer-account-id:resource-type:customer-resource-id"
       }
     }
   }
   ```

1. [Aktivieren Sie SSE für Ihr Thema](sns-enable-encryption-for-topic.md) mithilfe Ihres KMS.

1. Stellen Sie der Ereignisquelle den ARN des verschlüsselten Themas zur Verfügung.

## AWS KMS Fehler
<a name="sse-troubleshooting-errors"></a>

Wenn Sie mit Amazon SNS und arbeiten AWS KMS, können Fehler auftreten. Die folgende Liste beschreibt die Fehler und möglichen Lösungen.

**KMSAccessDeniedException**  
Der Verschlüsselungstext verweist auf einen Schlüssel, der nicht vorhanden ist oder auf den Sie keinen Zugriff haben.  
HTTP-Statuscode: 400

**KMSDisabledAusnahme**  
Die Anforderung wurde abgelehnt, da der angegebene KMS nicht aktiviert ist.  
HTTP-Statuscode: 400

**KMSInvalidStateException**  
Die Anforderung wurde abgelehnt, da der Status der angegebenen Ressource für diese Anforderung ungültig ist. Weitere Informationen finden Sie unter [Schlüsselstatus von AWS KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) im *AWS Key Management Service -Entwicklerhandbuch*.  
HTTP-Statuscode: 400

**KMSNotFoundException**  
Die Anforderung wurde abgelehnt, da die angegebene Entity oder Ressource nicht gefunden wurde.  
HTTP-Statuscode: 400

**KMSOptInRequired**  
Für die AWS Zugriffsschlüssel-ID ist ein Abonnement für den Dienst erforderlich.  
HTTP-Statuscode: 403

**KMSThrottlingAusnahme**  
Die Anforderung wurde aufgrund der Drosselung von Anforderungen abgelehnt. Weitere Informationen zur Drosselung finden Sie unter [Kontingente](https://docs.aws.amazon.com/kms/latest/developerguide/limits.html#requests-per-second) im *AWS Key Management Service -Entwicklerhandbuch*.  
HTTP-Statuscode: 400