Zum Hauptinhalt springen

EKM-Provider installieren

Gilt für:
Windows Server 2012 R2+SQL Server 2016+Administrator erforderlich

Überblick​

Dieser Leitfaden erklärt, wie Sie den DuoKey SQL EKM-Provider auf Microsoft SQL Server bereitstellen. Der Provider ist eine einzelne signierte Bibliothek, die es SQL Server ermöglicht, die Schlüsseloperationen der Transparent Data Encryption (TDE) an den DuoKey-Cloud-Schlüsselverwaltungsdienst zu delegieren.

Die Bereitstellung ist ein dateibasierter Vorgang: Sie legen eine codesignierte Provider-Bibliothek und eine Konfigurationsdatei auf dem SQL Server-Host ab, bestätigen, dass die Signatur vertrauenswürdig ist, und stellen sicher, dass das SQL Server-Dienstkonto sie lesen kann. Es gibt keinen Setup-Assistenten, kein MSI und es werden keine Dateien nach C:\Windows\System32 kopiert.

Voraussetzungen

  • SQL EKM-App in der DuoKey-Plattform erstellt
  • Setup-Datei aus der DuoKey-Plattform heruntergeladen (Provider-Bibliothek + Konfigurationsvorlage)
  • Microsoft SQL Server 2016 oder neuer installiert
  • Administratorrechte auf dem SQL Server-Rechner
  • Netzwerkverbindung zur DuoKey-Cloud-Plattform (HTTPS-Port 443)

Systemanforderungen​

SQL Server

  • SQL Server 2016 oder neuer
  • Empfohlen: SQL Server 2019+
  • Enterprise- oder Developer-Edition

Betriebssystem

  • Windows Server 2012 R2 oder neuer
  • Windows 10/11 (Entwicklung/Test)
  • 64-Bit-Architektur

Speicherplatz

  • Mindestens 100 MB frei
  • Provider-Ordner für die Bibliothek
  • Konfiguration & Keystore unter ProgramData

Netzwerk

  • HTTPS (Port 443) ausgehend
  • Zugriff auf die DuoKey-Plattform
  • TLS 1.2 oder höher
EKM ist editionsgebunden

Extensible Key Management ist nur in den Editionen Enterprise und Developer von SQL Server unter Windows verfügbar. In den Editionen Standard, Web oder Express ist es nicht verfügbar.

Bereitstellungslayout​

Der Provider verwendet zwei Speicherorte auf dem SQL Server-Host:

PfadInhalt
C:\Program Files\DKE\EKMDie signierte Provider-Bibliothek dke_ekm_provider.dll (ein beliebiger Ordner, den das SQL Server-Dienstkonto lesen kann).
C:\ProgramData\DKE\EKMconfig.toml (Verbindungseinstellungen), keystore.json (Schlüsselzuordnung, vom Provider erstellt) und dke-ekm.log (lokales Protokoll).
Warum nicht System32

Der Provider wird von SQL Server über den Pfad geladen, den Sie mit CREATE CRYPTOGRAPHIC PROVIDER registrieren, sodass er nicht in einem Systemverzeichnis liegen muss. Ihn in einem dedizierten Anwendungsordner zu belassen, vereinfacht Upgrades und Audits.

Installationsschritte​

1

Setup-Datei extrahieren

  1. Suchen Sie die aus der DuoKey-Plattform heruntergeladene Setup-Datei
  2. Extrahieren Sie das Archiv an einen temporären Ort
  3. Stellen Sie sicher, dass es die Provider-Bibliothek dke_ekm_provider.dll und eine config.toml-Vorlage enthält
2

Provider-Bibliothek ablegen

Erstellen Sie den Provider-Ordner und kopieren Sie die signierte Bibliothek hinein.

Speicherort der Provider-BibliothekTEXT
C:\Program Files\DKE\EKM\dke_ekm_provider.dll
Tipp

Jeder Ordner funktioniert, solange das SQL Server-Dienstkonto ihn lesen kann. Vermeiden Sie benutzerprofilbezogene Pfade und Netzwerkfreigaben.

3

Konfigurationsdatei bereitstellen

Erstellen Sie den ProgramData-Ordner und kopieren Sie die config.toml-Vorlage aus der Setup-Datei hinein.

Speicherort der KonfigurationsdateiTEXT
C:\ProgramData\DKE\EKM\config.toml

Die Verbindungswerte tragen Sie im nächsten Leitfaden ein. Der Provider schreibt zur Laufzeit außerdem keystore.json und dke-ekm.log in denselben Ordner, daher muss dieser für das SQL Server-Dienstkonto beschreibbar sein.

4

Vertrauenswürdigkeit der Signatur bestätigen

Die Provider-Bibliothek ist Authenticode-signiert. SQL Server verweigert das Laden eines kryptografischen Providers, dessen Signaturkette auf dem Rechner nicht als vertrauenswürdig eingestuft wird. Überprüfen Sie dies daher vor der Registrierung des Providers.

Authenticode-Signatur überprüfenPOWERSHELL
Get-AuthenticodeSignature "C:\Program Files\DKE\EKM\dke_ekm_provider.dll" |
Format-List Status, SignerCertificate, StatusMessage

Der Status muss Valid sein. Ist dies nicht der Fall, installieren Sie die DuoKey-Signaturzertifikatkette in die Rechnerspeicher Vertrauenswürdige Stammzertifizierungsstellen und Vertrauenswürdige Herausgeber und führen Sie die Prüfung erneut aus.

Vertrauen ist zwingend erforderlich

Wenn die Signatur fehlt, beschädigt ist oder von einer nicht vertrauenswürdigen Kette ausgestellt wurde, schlägt CREATE CRYPTOGRAPHIC PROVIDER fehl und SQL Server lädt die Bibliothek nicht.

5

Dem Dienstkonto Lesezugriff gewähren

Stellen Sie sicher, dass das Konto, unter dem der SQL Server-Dienst läuft, den Provider-Ordner lesen und den ProgramData-Ordner lesen/schreiben kann. Ermitteln Sie zunächst das Dienstkonto.

SQL Server-Dienstkonto ermittelnPOWERSHELL
Get-CimInstance Win32_Service -Filter "Name='MSSQLSERVER'" |
Select-Object Name, StartName
Dem Dienstkonto Zugriff gewährenPOWERSHELL
# Read + execute on the provider folder
icacls "C:\Program Files\DKE\EKM" /grant "NT SERVICE\MSSQLSERVER:(OI)(CI)RX"

# Read + write on the ProgramData folder (config, keystore, log)
icacls "C:\ProgramData\DKE\EKM" /grant "NT SERVICE\MSSQLSERVER:(OI)(CI)M"
Benannte Instanzen

Bei einer benannten Instanz lautet das Dienstkonto typischerweise NT SERVICE\MSSQL$InstanceName. Läuft der Dienst unter einem Domänenkonto, gewähren Sie diesem Konto stattdessen dieselben Rechte.

Überprüfung nach der Installation​

Stellen Sie sicher, dass die beiden Dateien vorhanden sind und die Signatur vertrauenswürdig ist, bevor Sie mit der Konfiguration fortfahren.

Zu überprüfende Dateien

dke_ekm_provider.dllC:\Program Files\DKE\EKM\ — Signatur Valid
config.tomlC:\ProgramData\DKE\EKM\ — vom Dienstkonto lesbar
Optionaler Registrierungsschlüssel

Die Bereitstellung erfordert keine Änderungen an der Registrierung. Ein optionaler Schlüssel HKLM\SOFTWARE\DKE\EKM kann für erweiterte Einstellungen vorhanden sein, ist für eine Standardinstallation jedoch nicht erforderlich.

Fehlerbehebung​

Nächste Schritte​