Auswahl eines Beacon-Typs - AWS Datenbankverschlüsselung SDK

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.

Auswahl eines Beacon-Typs

Unsere clientseitige Verschlüsselungsbibliothek wurde in AWS Database Encryption SDK umbenannt. Dieses Entwicklerhandbuch enthält weiterhin Informationen zum DynamoDB Encryption Client.

Mit durchsuchbarer Verschlüsselung können Sie verschlüsselte Datensätze durchsuchen, indem Sie die Klartextwerte in einem verschlüsselten Feld einem Beacon zuordnen. Der Typ des Beacons, den Sie konfigurieren, bestimmt die Art der Abfragen, die Sie ausführen können.

Wir empfehlen dringend, die Arten von Abfragen, die Sie ausführen müssen, zu identifizieren und zu planen, bevor Sie Ihre Beacons konfigurieren. Nachdem Sie Ihre Beacons konfiguriert haben, müssen Sie für jedes Beacon einen sekundären Index konfigurieren, bevor Sie in den verschlüsselten Feldern suchen können. Weitere Informationen finden Sie unter Konfiguration sekundärer Indizes mit Beacons.

Beacons erstellen eine Zuordnung zwischen dem Klartextwert, der in ein Feld geschrieben wird, und dem verschlüsselten Wert, der tatsächlich in Ihrer Datenbank gespeichert ist. Sie können die Werte von zwei Standard-Beacons nicht vergleichen, selbst wenn sie denselben zugrunde liegenden Klartext enthalten. Die beiden Standard-Beacons erzeugen zwei verschiedene HMAC-Tags für dieselben Klartext-Werte. Daher können Standard-Beacons die folgenden Abfragen nicht ausführen.

  • beacon1 = beacon2

  • beacon1 IN (beacon2)

  • value IN (beacon1, beacon2, ...)

  • CONTAINS(beacon1, beacon2)

Sie können die obigen Abfragen nur durchführen, wenn Sie die signierten Teile von zusammengesetzten Beacons vergleichen, mit Ausnahme des CONTAINS Operators, den Sie mit zusammengesetzten Beacons verwenden können, um den gesamten Wert eines verschlüsselten oder signierten Felds zu identifizieren, das der zusammengestellte Beacon enthält. Wenn Sie signierte Teile vergleichen, können Sie optional das Präfix eines verschlüsselten Teils angeben, nicht jedoch den verschlüsselten Wert eines Felds. Weitere Informationen zu den Abfragetypen, die Standard- und Verbundbeacons ausführen können, finden Sie unter Abfragen von Beacons.

Ziehen Sie bei der Überprüfung Ihrer Datenbankzugriffsmuster die folgenden durchsuchbaren Verschlüsselungslösungen in Betracht. In den folgenden Beispielen wird definiert, welcher Beacon konfiguriert werden muss, um unterschiedliche Verschlüsselungs- und Abfrageanforderungen zu erfüllen.

Standard-Beacons

Standard-Beacons können nur Gleichheitssuchen durchführen. Sie können Standard-Beacons verwenden, um die folgenden Abfragen durchzuführen.

Fragen Sie ein einzelnes verschlüsseltes Feld ab

Wenn Sie Datensätze identifizieren möchten, die einen bestimmten Wert für ein verschlüsseltes Feld enthalten, erstellen Sie einen Standard-Beacon.

Stellen Sie sich für das folgende Beispiel eine Datenbank mit dem Namen vorUnitInspection, die Inspektionsdaten für eine Produktionsanlage verfolgt. Jeder Datensatz in der Datenbank enthält Felder mit den Namen work_idinspection_date,inspector_id_last4, undunit. Die vollständige Inspektor-ID ist eine Zahl zwischen 0 und 99.999.999. Um jedoch sicherzustellen, dass der Datensatz gleichmäßig verteilt ist, speichert The inspector_id_last4 nur die letzten vier Ziffern der Inspektor-ID. Jedes Feld in der Datenbank wird durch den Primärschlüssel work_id identifiziert. Die unit Felder inspector_id_last4 und sind ENCRYPT_AND_SIGN in den kryptografischen Aktionen markiert.

Das Folgende ist ein Beispiel für einen Klartext-Eintrag in der UnitInspection Datenbank.

{ "work_id": "1c7fcff3-6e74-41a8-b7f7-925dc039830b", "inspection_date": 2023-06-07, "inspector_id_last4": 8744, "unit": 229304973450 }
Fragen Sie ein einzelnes verschlüsseltes Feld in einem Datensatz ab

Wenn das inspector_id_last4 Feld verschlüsselt werden muss, Sie es aber trotzdem nach exakten Übereinstimmungen abfragen müssen, erstellen Sie aus dem inspector_id_last4 Feld ein Standard-Beacon. Verwenden Sie dann den Standard-Beacon, um einen sekundären Index zu erstellen. Sie können diesen sekundären Index verwenden, um das verschlüsselte inspector_id_last4 Feld abzufragen.

Hilfe zur Konfiguration von Standard-Beacons finden Sie unter Konfiguration von Standard-Beacons.

Fragen Sie ein virtuelles Feld ab

Ein virtuelles Feld ist ein konzeptionelles Feld, das aus einem oder mehreren Quellfeldern besteht. Wenn Sie Gleichheitssuchen für ein bestimmtes Segment eines verschlüsselten Felds oder Gleichheitssuchen für die Verkettung mehrerer Felder durchführen möchten, konstruieren Sie ein Standard-Beacon aus einem virtuellen Feld. Alle virtuellen Felder müssen mindestens ein verschlüsseltes Quellfeld enthalten.

In den folgenden Beispielen werden virtuelle Felder für die Employees Datenbank erstellt. Im Folgenden finden Sie ein Beispiel für einen Klartext-Datensatz in der Employees Datenbank.

{ "EmployeeID": 101, "SSN": 000-00-0000, "LastName": "Jones", "FirstName": "Mary", "Address": { "Street": "123 Main", "City": "Anytown", "State": "OH", "ZIPCode": 12345 } }
Fragen Sie ein Segment eines verschlüsselten Felds ab

In diesem Beispiel ist das SSN Feld verschlüsselt.

Wenn Sie das SSN Feld mit den letzten vier Ziffern einer Sozialversicherungsnummer abfragen möchten, erstellen Sie ein virtuelles Feld, das das Segment identifiziert, das Sie abfragen möchten.

Ein virtuelles Last4SSN Feld, das aus erstellt wurde, Suffix(4) ermöglicht es Ihnen, Abfragen durchzuführenLast4SSN=0000. Verwenden Sie dieses virtuelle Feld, um einen Standard-Beacon zu erstellen. Verwenden Sie dann den Standard-Beacon, um einen sekundären Index zu erstellen. Sie können diesen sekundären Index verwenden, um das virtuelle Feld abzufragen. Diese Abfrage gibt alle Datensätze zurück, SSN deren Wert mit den letzten vier von Ihnen angegebenen Ziffern endet.

Fragen Sie die Verkettung mehrerer Felder ab
Anmerkung

Das folgende Beispiel zeigt, welche Arten von Transformationen und Abfragen Sie mit einem virtuellen Feld ausführen können. In der Anwendung entsprechen die in diesem Beispiel verwendeten Beispielfelder möglicherweise nicht den Empfehlungen zur Verteilung und Korrelationseindeutigkeit für Beacons.

Wenn Sie Gleichheitssuchen für eine Verkettung von FirstName und LastName -Feldern durchführen möchten, können Sie ein virtuelles NameTag Feld erstellen, das aus dem ersten Buchstaben des Felds, gefolgt von dem FirstName Feld, gebildet wird, alles in Kleinbuchstaben. LastName Verwenden Sie dieses virtuelle Feld, um einen Standard-Beacon zu erstellen. Verwenden Sie dann den Standard-Beacon, um einen sekundären Index zu erstellen. Sie können diesen sekundären Index verwenden, um das virtuelle Feld abzufragenNameTag=mjones.

Mindestens eines der Quellfelder muss verschlüsselt sein. Entweder FirstName oder LastName könnte verschlüsselt werden, oder beide könnten verschlüsselt sein. Alle Klartext-Quellfelder müssen SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT in Ihren kryptografischen SIGN_ONLY Aktionen als oder gekennzeichnet sein.

Hilfe zur Konfiguration virtueller Felder und der Beacons, die sie verwenden, finden Sie unter Virtuelles Feld erstellen.

Zusammengesetzte Beacons

Zusammengesetzte Beacons erstellen einen Index aus wörtlichen Klartext-Zeichenketten und Standard-Beacons, um komplexe Datenbankoperationen durchzuführen. Sie können zusammengesetzte Beacons verwenden, um die folgenden Abfragen durchzuführen.

Fragen Sie eine Kombination verschlüsselter Felder in einem einzelnen Index ab

Wenn Sie eine Kombination von verschlüsselten Feldern in einem einzelnen Index abfragen müssen, erstellen Sie einen Verbundbeacon, der die einzelnen Standard-Beacons, die für jedes verschlüsselte Feld erstellt wurden, zu einem einzigen Index kombiniert.

Nachdem Sie den Compound Beacon konfiguriert haben, können Sie einen sekundären Index erstellen, der den Compound Beacon als Partitionsschlüssel für Abfragen mit exakter Übereinstimmung oder mit einem Sortierschlüssel für komplexere Abfragen angibt. Sekundäre Indizes, die den Compound Beacon als Sortierschlüssel angeben, können Abfragen mit exakter Übereinstimmung und individuellere komplexe Abfragen ausführen.

Stellen Sie sich für die folgenden Beispiele eine Datenbank mit dem Namen vorUnitInspection, die Inspektionsdaten für eine Produktionsanlage verfolgt. Jeder Datensatz in der Datenbank enthält Felder mit den Namen work_idinspection_date,inspector_id_last4, undunit. Die vollständige Inspektor-ID ist eine Zahl zwischen 0 und 99.999.999. Um jedoch sicherzustellen, dass der Datensatz gleichmäßig verteilt ist, speichert The inspector_id_last4 nur die letzten vier Ziffern der Inspektor-ID. Jedes Feld in der Datenbank wird durch den Primärschlüssel work_id identifiziert. Die unit Felder inspector_id_last4 und sind ENCRYPT_AND_SIGN in den kryptografischen Aktionen markiert.

Das Folgende ist ein Beispiel für einen Klartext-Eintrag in der UnitInspection Datenbank.

{ "work_id": "1c7fcff3-6e74-41a8-b7f7-925dc039830b", "inspection_date": 2023-06-07, "inspector_id_last4": 8744, "unit": 229304973450 }
Führen Sie Gleichheitssuchen in einer Kombination von verschlüsselten Feldern durch

Wenn Sie die UnitInspection Datenbank nach exakten Übereinstimmungen abfragen möchteninspector_id_last4.unit, erstellen Sie zunächst unterschiedliche Standard-Beacons für die unit Felder inspector_id_last4 und. Erstellen Sie dann ein zusammengesetztes Beacon aus den beiden Standard-Beacons.

Nachdem Sie den Compound Beacon konfiguriert haben, erstellen Sie einen sekundären Index, der den Compound Beacon als Partitionsschlüssel angibt. Verwenden Sie diesen sekundären Index, um nach exakten Übereinstimmungen zu suchen. inspector_id_last4.unit Sie könnten diesen Beacon beispielsweise abfragen, um eine Liste von Inspektionen zu finden, die ein Inspektor für eine bestimmte Einheit durchgeführt hat.

Führen Sie komplexe Abfragen für eine Kombination von verschlüsselten Feldern durch

Wenn Sie die UnitInspection Datenbank für inspector_id_last4 und abfragen möchteninspector_id_last4.unit, erstellen Sie zunächst unterschiedliche Standardbeacons für die unit Felder inspector_id_last4 und. Erstellen Sie dann ein zusammengesetztes Beacon aus den beiden Standard-Beacons.

Nachdem Sie den zusammengesetzten Beacon konfiguriert haben, erstellen Sie einen sekundären Index, der den zusammengesetzten Beacon als Sortierschlüssel angibt. Verwenden Sie diesen sekundären Index, um die UnitInspection Datenbank nach Einträgen abzufragen, die mit einem bestimmten Inspektor beginnen, oder fragen Sie die Datenbank nach einer Liste aller Einheiten innerhalb eines bestimmten Einheiten-ID-Bereichs ab, die von einem bestimmten Inspektor geprüft wurden. Sie können auch nach exakten Übereinstimmungen suchen fürinspector_id_last4.unit.

Hilfe zur Konfiguration von zusammengesetzten Beacons finden Sie unter Konfiguration von zusammengesetzten Beacons.

Fragen Sie eine Kombination aus verschlüsselten Feldern und Klartextfeldern in einem einzigen Index ab

Wenn Sie eine Kombination aus verschlüsselten Feldern und Klartextfeldern in einem einzigen Index abfragen müssen, erstellen Sie einen zusammengesetzten Beacon, der einzelne Standard-Beacons und Klartextfelder zu einem einzigen Index kombiniert. Die Klartextfelder, die zur Erstellung des Verbund-Beacons verwendet werden, müssen markiert SIGN_ONLY oder in Ihren kryptografischen Aktionen enthalten sein. SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT

Nachdem Sie den Compound Beacon konfiguriert haben, können Sie einen sekundären Index erstellen, der den Compound Beacon als Partitionsschlüssel für exakt passende Abfragen oder mit einem Sortierschlüssel für komplexere Abfragen angibt. Sekundäre Indizes, die den Compound Beacon als Sortierschlüssel angeben, können Abfragen mit exakter Übereinstimmung und individuellere komplexe Abfragen ausführen.

Stellen Sie sich für die folgenden Beispiele eine Datenbank mit dem Namen vorUnitInspection, die Inspektionsdaten für eine Produktionsanlage verfolgt. Jeder Datensatz in der Datenbank enthält Felder mit den Namen work_idinspection_date,inspector_id_last4, undunit. Die vollständige Inspektor-ID ist eine Zahl zwischen 0 und 99.999.999. Um jedoch sicherzustellen, dass der Datensatz gleichmäßig verteilt ist, speichert The inspector_id_last4 nur die letzten vier Ziffern der Inspektor-ID. Jedes Feld in der Datenbank wird durch den Primärschlüssel work_id identifiziert. Die unit Felder inspector_id_last4 und sind ENCRYPT_AND_SIGN in den kryptografischen Aktionen markiert.

Das Folgende ist ein Beispiel für einen Klartext-Eintrag in der UnitInspection Datenbank.

{ "work_id": "1c7fcff3-6e74-41a8-b7f7-925dc039830b", "inspection_date": 2023-06-07, "inspector_id_last4": 8744, "unit": 229304973450 }
Führen Sie Gleichheitssuchen in einer Kombination von Feldern durch

Wenn Sie die UnitInspection Datenbank nach Inspektionen abfragen möchten, die von einem bestimmten Inspektor an einem bestimmten Datum durchgeführt wurden, erstellen Sie zunächst einen Standard-Beacon für das inspector_id_last4 Feld. Das inspector_id_last4 Feld ist ENCRYPT_AND_SIGN in den kryptografischen Aktionen markiert. Alle verschlüsselten Teile benötigen einen eigenen Standard-Beacon. Das inspection_date Feld ist markiert SIGN_ONLY und benötigt keinen Standard-Beacon. Erstellen Sie als Nächstes ein Verbundsignal aus dem inspection_date Feld und dem inspector_id_last4 Standardbeacon.

Nachdem Sie den Compound Beacon konfiguriert haben, erstellen Sie einen sekundären Index, der den Compound Beacon als Partitionsschlüssel angibt. Verwenden Sie diesen sekundären Index, um die Datenbanken nach Datensätzen abzufragen, die exakt mit einem bestimmten Inspektor und einem bestimmten Inspektionsdatum übereinstimmen. Beispielsweise können Sie die Datenbank nach einer Liste aller Inspektionen abfragen, die der Inspektor, dessen ID auf endet, an einem bestimmten Datum 8744 durchgeführt hat.

Führen Sie komplexe Abfragen für eine Kombination von Feldern durch

Wenn Sie die Datenbank nach Inspektionen abfragen möchten, die innerhalb eines bestimmten inspection_date Bereichs durchgeführt wurden, oder die Datenbank nach Inspektionen abfragen möchten, die für einen bestimmten inspection_date eingeschränkten Wert von inspector_id_last4 oder durchgeführt wurdeninspector_id_last4.unit, erstellen Sie zunächst separate Standard-Beacons für die Felder inspector_id_last4 undunit. Erstellen Sie dann einen Verbundbeacon aus dem inspection_date Klartextfeld und den beiden Standard-Beacons.

Nachdem Sie den zusammengesetzten Beacon konfiguriert haben, erstellen Sie einen sekundären Index, der den zusammengesetzten Beacon als Sortierschlüssel angibt. Verwenden Sie diesen sekundären Index, um Abfragen für Inspektionen durchzuführen, die an bestimmten Terminen von einem bestimmten Inspektor durchgeführt wurden. Sie können beispielsweise die Datenbank nach einer Liste aller am selben Tag inspizierten Einheiten abfragen. Oder Sie können die Datenbank nach einer Liste aller Inspektionen abfragen, die an einer bestimmten Einheit zwischen einem bestimmten Zeitraum von Inspektionsterminen durchgeführt wurden.

Hilfe zur Konfiguration von zusammengesetzten Beacons finden Sie unter Konfiguration von zusammengesetzten Beacons.