Verschlüsselung in Amazon OpenSearch Serverless - OpenSearch Amazon-Dienst

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.

Verschlüsselung in Amazon OpenSearch Serverless

Verschlüsselung im Ruhezustand

Jede Amazon OpenSearch Serverless-Sammlung, die Sie erstellen, ist durch Verschlüsselung ruhender Daten geschützt. Diese Sicherheitsfunktion verhindert unbefugten Zugriff auf Ihre Daten. Encryption at Rest verwendet AWS Key Management Service (AWS KMS), um Ihre Verschlüsselungsschlüssel zu speichern und zu verwalten. Es verwendet den Advanced-Encryption-Standard-Algorithmus mit 256-Bit-Schlüsseln (AES-256) zur Durchführung der Verschlüsselung.

Verschlüsselungsrichtlinien

Mit Verschlüsselungsrichtlinien können Sie viele Sammlungen in großem Umfang verwalten. Dazu weisen Sie neu erstellten Sammlungen, die einem bestimmten Namen oder Muster entsprechen, automatisch einen Verschlüsselungsschlüssel zu.

Wenn Sie eine Verschlüsselungsrichtlinie erstellen, können Sie entweder ein Präfix angeben, bei dem es sich um eine auf Platzhaltern basierende Abgleichregel wie MyCollection* handelt, oder einen einzelnen Sammlungsnamen eingeben. Wenn Sie dann eine Sammlung erstellen, die mit diesem Namen oder Präfixmuster übereinstimmt, werden ihr automatisch die Richtlinie und der entsprechende KMS-Schlüssel zugewiesen.

Encryption policy creation process with rules and collection matching to KMS key.

Verschlüsselungsrichtlinien unterstützen die folgenden Elemente:

  • Rules – eine oder mehrere Regeln für den Sammlungsabgleich, jeweils mit den folgenden Unterelementen:

    • ResourceType – Derzeit ist die einzige Option „Sammlung“. Verschlüsselungsrichtlinien gelten nur für Sammlungsressourcen.

    • Resource – Ein oder mehrere Sammlungsnamen oder Muster, auf die die Richtlinie angewendet wird, im Format collection/<collection name|pattern>.

  • AWSOwnedKey – Ob ein AWS-eigener Schlüssel verwendet werden soll.

  • KmsARN – Wenn Sie AWSOwnedKey auf „falsch“ festlegen, geben Sie den Amazon-Ressourcennamen (ARN) des KMS-Schlüssels an, mit dem die zugehörigen Sammlungen verschlüsselt werden sollen. Wenn Sie diesen Parameter angeben, ignoriert OpenSearch Serverless den AWSOwnedKey Parameter.

Die folgende Beispielrichtlinie weist jeder zukünftigen Sammlung mit dem Namen autopartsinventory sowie Sammlungen, die mit dem Begriff „Vertrieb“ beginnen, einen vom Kunden verwalteten Schlüssel zu:

{ "Rules":[ { "ResourceType":"collection", "Resource":[ "collection/autopartsinventory", "collection/sales*" ] } ], "AWSOwnedKey":false, "KmsARN":"arn:aws:encryption:us-east-1:123456789012:key/93fd6da4-a317-4c17-bfe9-382b5d988b36" }

Selbst wenn eine Richtlinie mit einem Sammlungsnamen übereinstimmt, können Sie diese automatische Zuweisung während der Sammlungserstellung außer Kraft setzen, wenn das Ressourcenmuster einen Platzhalter (*) enthält. Wenn Sie sich dafür entscheiden, die automatische Schlüsselzuweisung außer Kraft zu setzen, erstellt OpenSearch Serverless für Sie eine Verschlüsselungsrichtlinie mit dem Namen auto-< collection-name > und hängt sie der Sammlung an. Die Richtlinie gilt zunächst nur für eine einzelne Sammlung, Sie können sie jedoch ändern, um weitere Sammlungen einzubeziehen.

Wenn Sie Richtlinienregeln so ändern, dass sie nicht mehr mit einer Sammlung übereinstimmen, wird die Zuweisung des zugeordneten KMS-Schlüssels zu dieser Sammlung nicht aufgehoben. Die Sammlung bleibt immer mit ihrem ursprünglichen Verschlüsselungsschlüssel verschlüsselt. Wenn Sie den Verschlüsselungsschlüssel für eine Sammlung ändern möchten, müssen Sie die Sammlung neu erstellen.

Wenn Regeln aus mehreren Richtlinien mit einer Sammlung übereinstimmen, wird die spezifischere Regel verwendet. Wenn beispielsweise eine Richtlinie eine Regel für collection/log* und eine andere für collection/logSpecial enthält, wird der Verschlüsselungsschlüssel für die zweite Richtlinie verwendet, da dieser spezifischer ist.

Sie können in einer Richtlinie keinen Namen oder ein Präfix verwenden, wenn es bereits in einer anderen Richtlinie vorhanden ist. OpenSearch Serverless zeigt einen Fehler an, wenn Sie versuchen, identische Ressourcenmuster in verschiedenen Verschlüsselungsrichtlinien zu konfigurieren.

Überlegungen

Berücksichtigen Sie Folgendes, wenn Sie die Verschlüsselung für Ihre Sammlungen konfigurieren:

  • Die Verschlüsselung im Ruhezustand ist für alle Serverless-Sammlungen erforderlich.

  • Sie haben die Möglichkeit, einen vom Kunden verwalteten Schlüssel oder ein AWS-eigener Schlüssel zu verwenden. Wenn Sie sich für einen vom Kunden verwalteten Schlüssel entscheiden, empfehlen wir Ihnen, die automatische Schlüsselrotation zu aktivieren.

  • Sie können den Verschlüsselungsschlüssel für eine Sammlung nicht ändern, nachdem die Sammlung erstellt wurde. Wählen Sie sorgfältig aus, welche Sie verwenden AWS KMS möchten, wenn Sie zum ersten Mal eine Sammlung einrichten.

  • Eine Sammlung kann nur mit einer einzigen Verschlüsselungsrichtlinie übereinstimmen.

  • Sammlungen mit eindeutigen KMS-Schlüsseln können OpenSearch Recheneinheiten (OCUs) nicht mit anderen Sammlungen gemeinsam nutzen. Jede Sammlung mit einem eindeutigen Schlüssel erfordert ihre eigenen 4 OCUs.

  • Wenn Sie den KMS-Schlüssel in einer Verschlüsselungsrichtlinie aktualisieren, hat die Änderung keine Auswirkungen auf bestehende übereinstimmende Sammlungen mit bereits zugewiesenen KMS-Schlüsseln.

  • OpenSearch Serverless überprüft die Benutzerberechtigungen für vom Kunden verwaltete Schlüssel nicht explizit. Wenn ein Benutzer über die Berechtigung verfügt, über eine Datenzugriffsrichtlinie auf eine Sammlung zuzugreifen, kann er die mit dem zugehörigen Schlüssel verschlüsselten Daten aufnehmen und abfragen.

Erforderliche Berechtigungen

Die Verschlüsselung im Ruhezustand für OpenSearch Serverless verwendet die folgenden AWS Identity and Access Management (IAM-) Berechtigungen. Sie können IAM-Bedingungen festlegen, um Benutzer auf bestimmte Sammlungen zu beschränken.

  • aoss:CreateSecurityPolicy – Erstellt eine Verschlüsselungsrichtlinie.

  • aoss:ListSecurityPolicies – Listet alle Verschlüsselungsrichtlinien und Sammlungen auf, denen diese angefügt sind.

  • aoss:GetSecurityPolicy – Zeigt Details zu einer bestimmten Verschlüsselungsrichtlinie an.

  • aoss:UpdateSecurityPolicy – Erstellt eine Verschlüsselungsrichtlinie.

  • aoss:DeleteSecurityPolicy – Löscht eine Verschlüsselungsrichtlinie.

Das folgende Beispiel für eine identitätsbasierte Zugriffsrichtlinie stellt die Mindestberechtigungen bereit, die ein Benutzer zum Verwalten von Verschlüsselungsrichtlinien mit dem Ressourcenmuster collection/application-logs benötigt.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "aoss:CreateSecurityPolicy", "aoss:UpdateSecurityPolicy", "aoss:DeleteSecurityPolicy", "aoss:GetSecurityPolicy" ], "Resource":"*", "Condition":{ "StringEquals":{ "aoss:collection":"application-logs" } } }, { "Effect":"Allow", "Action":[ "aoss:ListSecurityPolicies" ], "Resource":"*" } ] }

Schlüsselrichtlinie für einen kundenverwalteten Schlüssel

Wenn Sie einen vom Kunden verwalteten Schlüssel zum Schutz einer Sammlung auswählen, erhält OpenSearch Serverless die Erlaubnis, den KMS-Schlüssel im Namen des Prinzipals zu verwenden, der die Auswahl trifft. Dieser Prinzipal, ein Benutzer oder eine Rolle, muss über die für OpenSearch Serverless erforderlichen Berechtigungen für den KMS-Schlüssel verfügen. Sie können diese Berechtigungen in einer Schlüsselrichtlinie oder einer IAM-Richtlinie bereitstellen.

OpenSearch Serverless benötigt mindestens die folgenden Berechtigungen für einen vom Kunden verwalteten Schlüssel:

Beispielsweise:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "aoss.us-east-1.amazonaws.com" }, "Bool": { "kms:GrantIsForAWSResource": "true" } } } ] }

OpenSearch Serverless erstellt einen Grant mit den Berechtigungen kms: GenerateDataKey und kms:Decrypt.

Weitere Informationen finden Sie unter Verwenden von Schlüsselrichtlinien in AWS KMS im Entwicklerhandbuch für AWS Key Management Service .

So verwendet Serverless Grants in OpenSearch AWS KMS

OpenSearch Für Serverless ist ein Zuschuss erforderlich, um einen vom Kunden verwalteten Schlüssel verwenden zu können.

Wenn Sie in Ihrem Konto eine Verschlüsselungsrichtlinie mit einem neuen Schlüssel erstellen, erstellt OpenSearch Serverless in Ihrem Namen einen Zuschuss, indem es eine CreateGrantAnfrage an sendet. AWS KMS Grants in AWS KMS werden verwendet, um OpenSearch serverlosen Zugriff auf einen KMS-Schlüssel in einem Kundenkonto zu gewähren.

OpenSearch Serverless setzt voraus, dass der Zuschuss Ihren vom Kunden verwalteten Schlüssel für die folgenden internen Operationen verwenden kann:

  • Senden Sie DescribeKeyAnfragen an, AWS KMS um zu überprüfen, ob die angegebene symmetrische, vom Kunden verwaltete Schlüssel-ID gültig ist.

  • Senden Sie GenerateDataKeyAnfragen an den KMS-Schlüssel, um Datenschlüssel zu erstellen, mit denen Objekte verschlüsselt werden können.

  • Senden Sie Entschlüsselungsanforderungen an AWS KMS , um die verschlüsselten Datenschlüssel zu entschlüsseln, sodass sie zum Verschlüsseln Ihrer Daten verwendet werden können.

Sie können den Zugriff auf die Genehmigung jederzeit widerrufen oder den Zugriff des Services auf den vom Kunden verwalteten Schlüssel entfernen. Wenn Sie dies tun, kann OpenSearch Serverless auf keine der mit dem vom Kunden verwalteten Schlüssel verschlüsselten Daten zugreifen. Dies wirkt sich auf alle Vorgänge aus, die von diesen Daten abhängig sind, was zu AccessDeniedException Fehlern und Ausfällen in den asynchronen Workflows führt.

OpenSearch Serverless zieht Zuschüsse in einem asynchronen Workflow zurück, wenn ein bestimmter vom Kunden verwalteter Schlüssel keinen Sicherheitsrichtlinien oder Sammlungen zugeordnet ist.

Erstellen von Verschlüsselungsrichtlinien (Konsole)

In einer Verschlüsselungsrichtlinie geben Sie einen KMS-Schlüssel und eine Reihe von Erfassungsmustern an, auf die die Richtlinie angewendet wird. Allen neuen Sammlungen, die mit einem der in der Richtlinie definierten Muster übereinstimmen, wird beim Erstellen der Sammlung der entsprechende KMS-Schlüssel zugewiesen. Wir empfehlen Ihnen, Verschlüsselungsrichtlinien zu erstellen, bevor Sie mit dem Erstellen von Sammlungen beginnen.

Um eine Richtlinie für serverlose Verschlüsselung zu erstellen OpenSearch
  1. Öffnen Sie die Amazon OpenSearch Service-Konsole unter https://console.aws.amazon.com/aos/home.

  2. Erweitern Sie im linken Navigationsbereich Serverless und wählen Sie Encryption policies (Verschlüsselungsrichtlinien) aus.

  3. Wählen Sie Create encryption policy (Verschlüsselungsrichtlinie erstellen).

  4. Geben Sie einen Namen und eine Beschreibung für die Richtlinie an.

  5. Geben Sie unter Resources (Ressourcen) ein oder mehrere Ressourcenmuster für diese Verschlüsselungsrichtlinie ein. Alle neu erstellten Sammlungen im aktuellen AWS-Konto und in der aktuellen Region, die mit einem der Muster übereinstimmen, werden dieser Richtlinie automatisch zugewiesen. Wenn Sie beispielsweise ApplicationLogs (ohne Platzhalter) eingeben und später eine Sammlung mit diesem Namen erstellen, werden die Richtlinie und der entsprechende KMS-Schlüssel dieser Sammlung zugewiesen.

    Sie können auch ein Präfix wie Logs* angeben, das die Richtlinie allen neuen Sammlungen zuweist, deren Namen mit Logs beginnen. Durch die Verwendung von Platzhaltern können Sie die Verschlüsselungseinstellungen für mehrere Sammlungen in großem Umfang verwalten.

  6. Wählen Sie unter Encryption (Verschlüsselung) einen zu verwendenden KMS-Schlüssel aus.

  7. Wählen Sie Erstellen.

Nächster Schritt: Erstellen von Sammlungen

Nachdem Sie eine oder mehrere Verschlüsselungsrichtlinien konfiguriert haben, können Sie mit der Erstellung von Sammlungen beginnen, die den in diesen Richtlinien definierten Regeln entsprechen. Anweisungen finden Sie unter Erstellen von Sammlungen.

Im Schritt Verschlüsselungen bei der Erstellung der Sammlung informiert Sie OpenSearch Serverless darüber, dass der von Ihnen eingegebene Name dem in einer Verschlüsselungsrichtlinie definierten Muster entspricht, und weist der Sammlung automatisch den entsprechenden KMS-Schlüssel zu. Wenn das Ressourcenmuster einen Platzhalter (*) enthält, können Sie die Übereinstimmung überschreiben und Ihren eigenen Schlüssel auswählen.

Erstellen von Verschlüsselungsrichtlinien (AWS CLI)

Um mithilfe der OpenSearch serverlosen API-Operationen eine Verschlüsselungsrichtlinie zu erstellen, geben Sie Ressourcenmuster und einen Verschlüsselungsschlüssel im JSON-Format an. Die CreateSecurityPolicyAnfrage akzeptiert sowohl Inline-Richtlinien als auch JSON-Dateien.

Verschlüsselungsrichtlinien haben folgendes Format. Diese Beispieldatei my-policy.json stimmt mit jeder zukünftigen Sammlung mit dem Namen autopartsinventory überein, ebenso wie mit allen Sammlungen, deren Namen mit sales beginnen.

{ "Rules":[ { "ResourceType":"collection", "Resource":[ "collection/autopartsinventory", "collection/sales*" ] } ], "AWSOwnedKey":false, "KmsARN":"arn:aws:encryption:us-east-1:123456789012:key/93fd6da4-a317-4c17-bfe9-382b5d988b36" }

Um einen Service-eigenen Schlüssel zu verwenden, legen Sie AWSOwnedKey auf true fest:

{ "Rules":[ { "ResourceType":"collection", "Resource":[ "collection/autopartsinventory", "collection/sales*" ] } ], "AWSOwnedKey":true }

Die folgende Anfrage erstellt die Verschlüsselungsrichtlinie:

aws opensearchserverless create-security-policy \ --name sales-inventory \ --type encryption \ --policy file://my-policy.json

Verwenden Sie dann den CreateCollectionAPI-Vorgang, um eine oder mehrere Sammlungen zu erstellen, die einem der Ressourcenmuster entsprechen.

Anzeigen von Verschlüsselungsrichtlinien

Bevor Sie eine Sammlung erstellen, möchten Sie möglicherweise eine Vorschau der vorhandenen Verschlüsselungsrichtlinien in Ihrem Konto anzeigen, um zu sehen, welche ein Ressourcenmuster hat, das mit dem Namen Ihrer Sammlung übereinstimmt. In der folgenden ListSecurityPoliciesAnfrage werden alle Verschlüsselungsrichtlinien in Ihrem Konto aufgeführt:

aws opensearchserverless list-security-policies --type encryption

Die Anfrage gibt Informationen über alle konfigurierten Verschlüsselungsrichtlinien zurück. Verwenden Sie den Inhalt des policy-Elements, um die Musterregeln anzuzeigen, die in der Richtlinie definiert sind:

{ "securityPolicyDetails": [ { "createdDate": 1663693217826, "description": "Sample encryption policy", "lastModifiedDate": 1663693217826, "name": "my-policy", "policy": "{\"Rules\":[{\"ResourceType\":\"collection\",\"Resource\":[\"collection/autopartsinventory\",\"collection/sales*\"]}],\"AWSOwnedKey\":true}", "policyVersion": "MTY2MzY5MzIxNzgyNl8x", "type": "encryption" } ] }

Verwenden Sie den GetSecurityPolicyBefehl, um detaillierte Informationen zu einer bestimmten Richtlinie, einschließlich des KMS-Schlüssels, anzuzeigen.

Aktualisieren von Verschlüsselungsrichtlinien

Wenn Sie den KMS-Schlüssel in einer Verschlüsselungsrichtlinie aktualisieren, gilt die Änderung nur für neu erstellte Sammlungen, die mit dem konfigurierten Namen oder Muster übereinstimmen. Bestehende Sammlungen, denen bereits KMS-Schlüssel zugewiesen sind, sind davon nicht betroffen.

Dasselbe gilt für Regeln zum Richtlinienabgleich. Wenn Sie eine Regel hinzufügen, ändern oder löschen, gilt die Änderung nur für neu erstellte Sammlungen. Vorhandene Sammlungen verlieren ihren zugewiesenen KMS-Schlüssel nicht, wenn Sie die Regeln einer Richtlinie so ändern, dass sie nicht mehr mit dem Namen einer Sammlung übereinstimmen.

Um eine Verschlüsselungsrichtlinie in der OpenSearch Serverless-Konsole zu aktualisieren, wählen Sie Verschlüsselungsrichtlinien, wählen Sie die zu ändernde Richtlinie aus und klicken Sie auf Bearbeiten. Nehmen Sie Ihre Änderungen vor und wählen Sie Save (Speichern).

Verwenden Sie den Vorgang, um eine Verschlüsselungsrichtlinie mithilfe der OpenSearch Serverless API zu aktualisieren. UpdateSecurityPolicy Die folgende Anfrage aktualisiert eine Verschlüsselungsrichtlinie mit einem neuen Richtlinien-JSON-Dokument:

aws opensearchserverless update-security-policy \ --name sales-inventory \ --type encryption \ --policy-version 2 \ --policy file://my-new-policy.json

Aktualisieren von Verschlüsselungsrichtlinien

Wenn Sie eine Verschlüsselungsrichtlinie löschen, sind alle Sammlungen, die derzeit den in der Richtlinie definierten KMS-Schlüssel verwenden, nicht betroffen. Um eine Richtlinie in der OpenSearch Serverless-Konsole zu löschen, wählen Sie die Richtlinie aus und klicken Sie auf Löschen.

Sie können auch den DeleteSecurityPolicyVorgang verwenden:

aws opensearchserverless delete-security-policy --name my-policy --type encryption

Verschlüsselung während der Übertragung

In OpenSearch Serverless werden alle Pfade in einer Sammlung während der Übertragung mithilfe von Transport Layer Security 1.2 (TLS) mit einer dem Industriestandard entsprechenden AES-256-Verschlüsselung verschlüsselt. Der Zugriff auf alle APIs und Dashboards für Opensearch erfolgt ebenfalls über TLS 1.2. TLS ist eine Reihe von branchenüblichen kryptografischen Protokollen, die zur Verschlüsselung von Informationen verwendet werden, die über das Netzwerk ausgetauscht werden.