SQSAmazon-Schlüsselverwaltung - Amazon Simple Queue Service

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.

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

  1. Erstellen Sie einen vom Kunden verwalteten SchlüsselKMS. Weitere Informationen finden Sie unter Erstellen von Schlüsseln im AWS Key Management Service -Entwicklerhandbuch.

  2. Damit die Quelle des AWS Dienstereignisses die kms:GenerateDataKey API Methoden kms: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
  3. Konfigurieren Sie eine bestehende SSE Warteschlange mithilfe ARN Ihres KMS Schlüssels.

  4. 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 oder SendMessageBatch in der Regel einen Aufruf der AWS KMS GenerateDataKey Methode zum Abrufen eines neuen Datenschlüssels aus. Außerdem lösen die nächsten Aufrufe jeweils einen Aufruf von aus, AWS KMS Decrypt 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).

Pist die Anzahl der produzierenden Auftraggeber, die an die SQS Amazon-Warteschlange senden.

Cist 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.