Konfigurieren der spaltenbasierten Verschlüsselung mit dem DAC-Paket
Gilt für:SQL ServerAzure SQL-Datenbank
Ein DAC-Paket (data-tier application, Datenschichtanwendung), auch bekannt als DACPAC, ist eine portable Einheit der SQL Server-Datenbankbereitstellung, die alle SQL Server-Objekte einschließlich Tabellen und Spalten in den Tabellen definiert. Wenn Sie eine DACPAC-Datei in einer Datenbank veröffentlichen (wenn Sie eine Datenbank mithilfe einer DACPAC-Datei aktualisieren), wird das Schema der Zieldatenbank aktualisiert, sodass es dem Schema in der DACPAC-Datei entspricht. Sie können eine DACPAC-Datei mithilfe des Assistenten zum Aktualisieren von Datenebenenanwendungen in SQL Server Management Studio, PowerShell oder sqlpackage veröffentlichen.
In diesem Artikel werden spezielle Überlegungen zum Aktualisieren einer Datenbank behandelt, wenn die DACPAC-Datei oder/und die Zieldatenbank mit Always Encrypted geschützte Spalten enthält. Wenn das Verschlüsselungsschema für eine Spalte in der DACPAC-Datei vom Verschlüsselungsschema für eine vorhandene Spalte in der Zieldatenbank abweicht, führt die Veröffentlichung der DACPAC-Datei dazu, dass die in der Spalte gespeicherte Daten verschlüsselt, entschlüsselt oder erneut verschlüsselt werden. Ausführlichere Informationen finden Sie in der folgenden Tabelle.
Bedingung | Aktion |
---|---|
Die Spalte wird in der DACPAC-Datei verschlüsselt, nicht in der Datenbank. | Die Daten in der Spalte werden verschlüsselt. |
Die Spalte wird in der DACPAC-Datei verschlüsselt, nicht in der Datenbank. | Die Daten in der Spalte werden entschlüsselt (die Verschlüsselung wird für die Spalte entfernt). |
Die Spalte wird sowohl in der DACPAC-Datei als auch in der Datenbank verschlüsselt. Allerdings verwendet die Spalte in der DACPAC-Datei einen anderen Verschlüsselungstyp und/oder einen Spaltenverschlüsselungsschlüssel als die entsprechende Spalte in der Datenbank. | Die Daten in der Spalte werden entschlüsselt und anschließend neu verschlüsselt, damit sie der Verschlüsselungskonfiguration in DACPAC-Datei entsprechen. |
Das Bereitstellen eines DAC-Pakets kann auch dazu führen, dass Metadatenobjekte für Spaltenhauptschlüssel oder Spaltenverschlüsselungsschlüssel für Always Encrypted erstellt oder entfernt werden.
Hinweis
Wenn Sie SQL Server 2019 (15.x) oder höher oder Azure SQL-Datenbank verwenden und Ihre SQL Server-Instanz oder -Datenbank mit einer sicheren Enklave konfiguriert ist, können Sie kryptografische Vorgänge direkt ausführen, ohne Daten aus der Datenbank zu verschieben. Informationen hierzu finden Sie unter Konfigurieren einer direkten Spaltenverschlüsselung mithilfe von Always Encrypted mit Secure Enclaves. Um die direkte Verschlüsselung mit einem DAC-Paket auszulösen, muss der Benutzer die Eigenschaften EnclaveAttestationProtocol und EnclaveAttestationUrl angeben.
Berechtigungen zum Veröffentlichen eines DAC-Pakets, wenn Always Encrypted mit sicheren Enklaven eingerichtet ist
Zum Veröffentlichen des DAC-Pakets, wenn Immer verschlüsselt mit sicheren Enklaven in der DACPAC- oder/und Zieldatenbank eingerichtet ist, benötigen Sie möglicherweise einige oder alle der folgenden Berechtigungen, je nachdem, welche Unterschiede zwischen dem Schema im DACPAC und dem Zieldatenbankschema bestehen.
ALTER ANY COLUMN MASTER KEY, ALTER ANY COLUMN ENCRYPTION KEY, VIEW ANY COLUMN MASTER KEY DEFINITION, VIEW ANY COLUMN ENCRYPTION KEY DEFINITION
Wenn der Upgradevorgang einen Datenverschlüsselungsvorgang auslöst, benötigen Sie auch Schlüsselspeicherberechtigungen, um auf Ihren Spaltenhauptschlüssel zuzugreifen und diesen zu verwenden. Ausführliche Informationen zu Schlüsselspeicherberechtigungen finden Sie unter "Bereitstellen von enklavenfähigen Schlüsseln ", und suchen Sie einen Abschnitt, der für Ihren Schlüsselspeicher relevant ist.
Nächste Schritte
- Entwickeln von Anwendungen mithilfe von Always Encrypted mit Secure Enclaves
- Ausführen von Transact-SQL-Anweisungen mit Secure Enclaves
Siehe auch
- Always Encrypted mit Secure Enclaves
- Verwalten von Schlüsseln für Always Encrypted mit Secure Enclaves
- Direkte Konfiguration der Spaltenverschlüsselung mit Transact-SQL
- Konfigurieren der direkten Spaltenverschlüsselung mit PowerShell
- Konfigurieren der Spaltenverschlüsselung an Ort und Stelle mit dem Assistenten "Immer verschlüsselt" in SSMS
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Tickets als Feedbackmechanismus für Inhalte auslaufen lassen und es durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unter:Einreichen und Feedback anzeigen für