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.
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.
Schätzung der Kosten AWS KMS
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, die Nachrichten an das Amazon-SNS-Thema senden.
Es folgen Beispielberechnungen: Preisinformationen finden Sie unter AWS Key Management Service -Preise
Beispiel 1: Berechnung der Anzahl der AWS KMS API-Aufrufe für einen Herausgeber und ein Thema
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 2 Themen
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
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 im AWS Key Management Service Entwicklerhandbuch. Einzelheiten zur Einrichtung eines Amazon-SNS-Themas mit serverseitiger Verschlüsselung finden Sie unter Zusätzliche Informationen.
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 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 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 im Entwicklerhandbuch zu AWS Key Management Service
.
Einem Benutzer erlauben, Nachrichten an ein bestimmtes Thema mit SSE zu senden
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
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:
-
Verwenden Sie einen vom Kunden verwalteten Schlüssel. Weitere Informationen finden Sie unter Erstellen von Schlüsseln im AWS Key Management Service -Entwicklerhandbuch.
-
Damit der AWS Service über die
kms:Decrypt
Berechtigungenkms: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": "*" }] }Ereignisquelle Dienstauftraggeber Amazon CloudWatch cloudwatch.amazonaws.com
CloudWatch Amazon-Veranstaltungen events.amazonaws.com
AWS CodeCommit codecommit.amazonaws.com
AWS Database Migration Service dms.amazonaws.com
AWS Directory Service ds.amazonaws.com
Amazon-DynamoDB dynamodb.amazonaws.com
Amazon Inspector inspector.amazonaws.com
Amazon Redshift redshift.amazonaws.com
Amazon RDS events.rds.amazonaws.com
Amazon S3 Glacier glacier.amazonaws.com
Amazon Simple Email Service ses.amazonaws.com
Amazon Simple Storage Service s3.amazonaws.com
AWS Snowball Edge importexport.amazonaws.com
AWS Systems Manager Incident Manager AWS Systems Manager Incident Manager besteht aus zwei Serviceprinzipien:
ssm-incidents.amazonaws.com
;ssm-contacts.amazonaws.com
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
-
Fügen Sie die
aws:SourceAccount
- undaws:SourceArn
-Bedingungsschlüssel der KMS-Ressourcenrichtlinie hinzu, um den KMS-Schlüssel vor Confused-Deputy-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
, undaws: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
" } } } -
Aktivieren Sie SSE für Ihr Thema mithilfe Ihres KMS.
-
Stellen Sie der Ereignisquelle den ARN des verschlüsselten Themas zur Verfügung.
AWS KMS Fehler
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 Status Code: 400
- KMSDisabledAusnahme
-
Die Anforderung wurde abgelehnt, da der angegebene KMS nicht aktiviert ist.
HTTP Status Code: 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 im AWS Key Management Service -Entwicklerhandbuch.
HTTP Status Code: 400
- KMSNotFoundException
-
Die Anforderung wurde abgelehnt, da die angegebene Entity oder Ressource nicht gefunden wurde.
HTTP Status Code: 400
- KMSOptInRequired
-
Für die AWS Zugriffsschlüssel-ID ist ein Abonnement für den Dienst erforderlich.
HTTP Status Code: 403
- KMSThrottlingAusnahme
-
Die Anforderung wurde aufgrund der Drosselung von Anforderungen abgelehnt. Weitere Informationen zur Drosselung finden Sie unter Kontingente im AWS Key Management Service -Entwicklerhandbuch.
HTTP Status Code: 400