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.
SQSAmazon-Schlüsselverwaltung
Amazon SQS integriert die AWS Key Management Service (KMS) zur Verwaltung von KMSSchlüsseln für die serverseitige Verschlüsselung (SSE). SSEInformationen und Definitionen der Schlüsselverwaltung finden Sie unterVerschlüsselung im Ruhezustand in Amazon SQS. Amazon SQS verwendet KMS Schlüssel, um die Datenschlüssel zu validieren und zu sichern, mit denen die Nachrichten ver- und entschlüsselt werden. Die folgenden Abschnitte enthalten Informationen zur Arbeit mit KMS Schlüsseln und Datenschlüsseln im SQS Amazon-Service.
Themen
Konfigurieren von AWS KMS -Berechtigungen
Jeder KMS Schlüssel muss über eine Schlüsselrichtlinie verfügen. Beachten Sie, dass Sie die Schlüsselrichtlinie eines AWS verwalteten KMS Schlüssels für Amazon nicht ändern könnenSQS. Die Richtlinie für diesen KMS Schlüssel beinhaltet die Berechtigungen für alle Principals im Konto (die autorisiert sind, Amazon zu verwendenSQS), verschlüsselte Warteschlangen zu verwenden.
Bei einem vom Kunden verwalteten KMS Schlüssel müssen Sie die Schlüsselrichtlinie so konfigurieren, dass Berechtigungen für jeden Warteschlangenproduzenten und -verbraucher hinzugefügt werden. Dazu benennen Sie den Hersteller und den Verbraucher als Benutzer in der KMS Schlüsselrichtlinie. Weitere Informationen zu AWS KMS Berechtigungen finden Sie unter AWS KMS Ressourcen und Operationen oder in der Referenz zu AWS KMS API Berechtigungen im AWS Key Management Service Entwicklerhandbuch.
Alternativ können Sie die erforderlichen Berechtigungen in einer IAM Richtlinie angeben, die den Prinzipalen zugewiesen ist, die verschlüsselte Nachrichten erstellen und verarbeiten. Weitere Informationen finden Sie unter Using IAM Policies with AWS KMS im AWS Key Management Service Entwicklerhandbuch.
Anmerkung
Sie können zwar globale Berechtigungen für das Senden an und Empfangen von Amazon konfigurierenSQS, AWS KMS erfordert jedoch die ausdrückliche Benennung ARN aller KMS Schlüssel in bestimmten Regionen im Resource
Abschnitt einer IAM Richtlinie.
Konfigurieren Sie KMS Berechtigungen für AWS Dienste
Verschiedene AWS Dienste dienen als Ereignisquellen, die Ereignisse an SQS Amazon-Warteschlangen senden können. Damit diese Ereignisquellen mit verschlüsselten Warteschlangen arbeiten können, müssen Sie einen vom Kunden verwalteten KMS Schlüssel erstellen und der Schlüsselrichtlinie Berechtigungen hinzufügen, damit der Service die erforderlichen AWS KMS API Methoden verwenden kann. Führen Sie zum Konfigurieren der Berechtigungen die folgenden Schritte durch.
Warnung
Beachten Sie beim Ändern des KMS Schlüssels für die Verschlüsselung Ihrer SQS Amazon-Nachrichten, dass bestehende Nachrichten, die mit dem alten KMS Schlüssel verschlüsselt wurden, mit diesem Schlüssel verschlüsselt bleiben. Um diese Nachrichten zu entschlüsseln, müssen Sie den alten KMS Schlüssel behalten und sicherstellen, dass seine Schlüsselrichtlinie Amazon SQS die Berechtigungen für kms:Decrypt
und kms:GenerateDataKey
gewährt. Stellen Sie nach der Aktualisierung auf einen neuen KMS Schlüssel zur Verschlüsselung neuer Nachrichten sicher, dass alle vorhandenen Nachrichten, die mit dem alten KMS Schlüssel verschlüsselt wurden, verarbeitet und aus der Warteschlange entfernt werden, bevor Sie den alten Schlüssel löschen oder deaktivieren. KMS
-
Erstellen Sie einen vom Kunden verwalteten SchlüsselKMS. Weitere Informationen finden Sie unter Erstellen von Schlüsseln im AWS Key Management Service -Entwicklerhandbuch.
-
Damit die Quelle des AWS Dienstereignisses die
kms:GenerateDataKey
API Methodenkms:Decrypt
und verwenden kann, fügen Sie der KMS Schlüsselrichtlinie die folgende Anweisung hinzu.{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "Service": "
service
.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*" }] }Ersetzen Sie „service“ im obigen Beispiel durch den Servicenamen der Ereignisquelle. Zu den Ereignisquellen gehören die folgenden Services.
Ereignisquelle Service-Name CloudWatch Amazon-Veranstaltungen events.amazonaws.com
Amazon-S3-Ereignis-Benachrichtigungen s3.amazonaws.com
SNSAmazon-Themenabonnements sns.amazonaws.com
-
Konfigurieren Sie eine bestehende SSE Warteschlange mithilfe ARN Ihres KMS Schlüssels.
-
Geben Sie die ARN Adresse der verschlüsselten Warteschlange an die Ereignisquelle weiter.
Konfigurieren Sie AWS KMS die Berechtigungen für Produzenten
Wenn der Zeitraum für die Wiederverwendung des Datenschlüssels abgelaufen ist, löst der nächste Aufruf des Produzenten von SendMessage
oder SendMessageBatch
auch Aufrufe von kms:Decrypt
und kms:GenerateDataKey
aus. Der Aufruf von kms:Decrypt
dient dazu, die Integrität des neuen Datenschlüssels vor dessen Verwendung zu überprüfen. Daher muss der Hersteller über die kms:GenerateDataKey
Berechtigungen kms:Decrypt
und für den KMS Schlüssel verfügen.
Fügen Sie der IAM Richtlinie des Herstellers die folgende Aussage hinzu. Denken Sie daran, die richtigen ARN Werte für die Schlüsselressource und die Warteschlangenressource zu verwenden.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource":
"arn:aws:kms:us-east-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab"
}, { "Effect": "Allow", "Action": [ "sqs:SendMessage" ], "Resource":"arn:aws:sqs:*:123456789012:MyQueue"
}] }
Konfigurieren Sie AWS KMS Berechtigungen für Verbraucher
Wenn der Zeitraum für die Wiederverwendung des Datenschlüssels abläuft, löst der nächste Aufruf des Konsumenten von ReceiveMessage
ebenfalls einen Auruf von kms:Decrypt
aus, um die Integrität des neuen Datenschlüssels vor dessen Verwendung zu überprüfen. Daher muss der Verbraucher über die kms:Decrypt
Erlaubnis für jeden KMS Schlüssel verfügen, der zum Verschlüsseln der Nachrichten in der angegebenen Warteschlange verwendet wird. Wenn die Warteschlange als Warteschlange für unzustellbare Briefe fungiert, muss der Verbraucher auch über die kms:Decrypt Berechtigung für jeden KMS Schlüssel verfügen, der zum Verschlüsseln der Nachrichten in der Quellwarteschlange verwendet wird. Fügen Sie der IAM Richtlinie des Verbrauchers die folgende Erklärung hinzu. Denken Sie daran, die richtigen ARN Werte für die Schlüsselressource und die Warteschlangenressource zu verwenden.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource":
"arn:aws:kms:us-east-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab"
}, { "Effect": "Allow", "Action": [ "sqs:ReceiveMessage" ], "Resource":"arn:aws:sqs:*:123456789012:MyQueue"
}] }
Konfigurieren Sie AWS KMS Berechtigungen mit dem Schutz vor verwirrten Stellvertretern
Wenn der Prinzipal in einer Schlüsselrichtlinie ein AWS -Service-Prinzipal ist, können Sie die globalen Zustandsschlüssel aws:SourceArn
oder aws:SourceAccount
zum Schutz vor dem Confused Deputy Scenario verwenden. Um diese Bedingungsschlüssel zu verwenden, setzen Sie den Wert auf den Amazon-Ressourcennamen (ARN) der Ressource, die verschlüsselt wird. Wenn Sie den Wert ARN der Ressource nicht kennen, verwenden Sie aws:SourceAccount
stattdessen.
In dieser KMS wichtigen Richtlinie darf eine bestimmte Ressource eines Dienstes, der dem Konto 111122223333
gehört, Aktionen aufrufen KMS Decrypt
und GenerateDataKey
Aktionen ausführen, die während der SSE Nutzung von Amazon auftretenSQS.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "Service":
"<replaceable>service</replaceable>.amazonaws.com"
}, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "ArnEquals": { "aws:SourceArn": ["arn:aws:service::111122223333:resource"
] } } }] }
Wenn Sie SSE aktivierte SQS Amazon-Warteschlangen verwenden, unterstützen aws:SourceArn
die folgenden Dienste:
-
Amazon SNS
-
Amazon S3
-
CloudWatch Ereignisse
-
AWS Lambda
-
CodeBuild
-
Amazon Connect Customer Profiles
-
AWS Auto Scaling
-
Amazon Chime
Grundlegendes zum Wiederverwendungszeitraum für den Datenschlüssel
Der Zeitraum für die Wiederverwendung von Datenschlüsseln definiert die maximale Dauer, für SQS die Amazon denselben Datenschlüssel wiederverwenden kann. Wenn der Zeitraum für die Wiederverwendung von Datenschlüsseln endet, SQS generiert Amazon einen neuen Datenschlüssel. Beachten Sie die folgenden Richtlinien zum Wiederverwendungszeitraum.
-
Ein kürzerer Wiederverwendungszeitraum bietet mehr Sicherheit, führt jedoch zu mehr Anrufen AWS KMS, wodurch Gebühren anfallen können, die über das kostenlose Kontingent hinausgehen.
-
Obwohl der Datenschlüssel für die Verschlüsselung und Entschlüsselung separat zwischengespeichert wird, gilt der Wiederverwendungszeitraum für beide Kopien des Datenschlüssels.
-
Wenn der Zeitraum für die Wiederverwendung von Datenschlüsseln endet, löst der nächste Aufruf von
SendMessage
oderSendMessageBatch
in der Regel einen Aufruf der AWS KMSGenerateDataKey
Methode zum Abrufen eines neuen Datenschlüssels aus. Außerdem lösen die nächsten Aufrufe jeweils einen Aufruf von aus, AWS KMSDecrypt
um die Integrität des Datenschlüssels zu überprüfen, bevor er verwendet wird.SendMessage
ReceiveMessage
-
Prinzipale (AWS-Konten oder Benutzer) verwenden keine gemeinsamen Datenschlüssel (Nachrichten, die von eindeutigen Prinzipalen gesendet werden, erhalten immer eindeutige Datenschlüssel). Daher entspricht die Anzahl der Anrufe an AWS KMS ein Vielfaches der Anzahl der eindeutigen Prinzipale, die während der Wiederverwendung von Datenschlüsseln verwendet wurden.
Schätzung der Kosten AWS KMS
Um Kosten vorherzusagen und Ihre AWS Rechnung besser zu verstehen, möchten Sie vielleicht wissen, wie oft Amazon Ihren KMS Schlüssel SQS verwendet.
Anmerkung
Die folgende Formel kann Ihnen zwar eine sehr gute Vorstellung von den zu erwartenden Kosten geben, die tatsächlichen Kosten können jedoch aufgrund des Vertriebscharakters von Amazon höher seinSQS.
Verwenden Sie die folgende Formel, um die Anzahl der API Anfragen (R
) pro Warteschlange zu berechnen:
R = (B / D) * (2 * P + C)
B
ist der Abrechnungszeitraum (in Sekunden).
D
ist der Zeitraum für die Wiederverwendung des Datenschlüssels (in Sekunden).
P
ist die Anzahl der produzierenden Auftraggeber, die an die SQS Amazon-Warteschlange senden.
C
ist die Anzahl der verbrauchenden Principals, die aus der SQS Amazon-Warteschlange empfangen.
Wichtig
Für produzierende Prinzipale entstehen in der Regel doppelt so hohe Kosten wie für konsumierende Prinzipale. Weitere Informationen finden Sie unter Grundlegendes zum Wiederverwendungszeitraum für den Datenschlüssel.
Die Kosten erhöhen sich, wenn der Produzent und der Verbraucher unterschiedliche -Benutzer haben.
Es folgen Beispielberechnungen: Preisinformationen finden Sie unter AWS Key Management Service -Preise
Beispiel 1: Berechnung der Anzahl der AWS KMS API Anrufe für 2 Principals und 1 Warteschlange
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 auf 5 Minuten (300 Sekunden) eingestellt.
-
Es ist 1 Warteschlange vorhanden.
-
Es gibt 1 produzierenden und 1 konsumierenden Prinzipal.
(2,678,400 / 300) * (2 * 1 + 1) = 26,784
Beispiel 2: Berechnung der Anzahl der AWS KMS API Anrufe für mehrere Produzenten und Verbraucher sowie für 2 Warteschlangen
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 auf 24 Stunden (86 400 Sekunden) eingestellt.
-
Es gibt 2 Warteschlangen.
-
Die erste Warteschlange hat 3 produzierende Prinzipale und 1 konsumierenden Prinzipal.
-
Die zweite Warteschlange hat 5 produzierende und 2 konsumierende Prinzipale.
(2,419,200 / 86,400 * (2 * 3 + 1)) + (2,419,200 / 86,400 * (2 * 5 + 2)) = 532
AWS KMS Fehler
Wenn Sie mit Amazon SQS und arbeiten AWS KMS, können Fehler auftreten. In den folgenden Referenzen werden die Fehler und möglichen Lösungen zur Fehlerbehebung beschrieben.