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_id
inspection_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 deminspector_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üsselteinspector_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
undLastName
-Feldern durchführen möchten, können Sie ein virtuellesNameTag
Feld erstellen, das aus dem ersten Buchstaben des Felds, gefolgt von demFirstName
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
oderLastName
könnte verschlüsselt werden, oder beide könnten verschlüsselt sein. Alle Klartext-Quellfelder müssenSIGN_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_id
inspection_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 dieunit
Felderinspector_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ürinspector_id_last4
und abfragen möchteninspector_id_last4.unit
, erstellen Sie zunächst unterschiedliche Standardbeacons für dieunit
Felderinspector_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_id
inspection_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 dasinspector_id_last4
Feld. Dasinspector_id_last4
Feld istENCRYPT_AND_SIGN
in den kryptografischen Aktionen markiert. Alle verschlüsselten Teile benötigen einen eigenen Standard-Beacon. Dasinspection_date
Feld ist markiertSIGN_ONLY
und benötigt keinen Standard-Beacon. Erstellen Sie als Nächstes ein Verbundsignal aus deminspection_date
Feld und deminspector_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 bestimmteninspection_date
eingeschränkten Wert voninspector_id_last4
oder durchgeführt wurdeninspector_id_last4.unit
, erstellen Sie zunächst separate Standard-Beacons für die Felderinspector_id_last4
undunit
. Erstellen Sie dann einen Verbundbeacon aus deminspection_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.