EKM プロバイダーのインストール
EKM プロバイダーのインストール
DuoKey 暗号プロバイダーを SQL Server に配置する
概要
このガイドでは、DuoKey SQL EKM プロバイダーを Microsoft SQL Server に配置する方法を説明します。プロバイダーは、SQL Server が Transparent Data Encryption(TDE)のキー操作を DuoKey クラウドキー管理サービスに委任できるようにする、単一の署名済みライブラリです。
配置はファイルベースの操作です。1 つのコード署名済みプロバイダーライブラリと 1 つの構成ファイルを SQL Server ホストに配置し、署名が信頼されていることを確認し、SQL Server サービスアカウントがそれらを読み取れるようにします。セットアップウィザードも MSI もなく、C:\Windows\System32 にファイルがコピーされることもありません。
前提条件
- DuoKey プラットフォームで SQL EKM アプリが作成されていること
- DuoKey プラットフォームからセットアップファイルがダウンロードされていること(プロバイダーライブラリ + config テンプレート)
- Microsoft SQL Server 2016 以降がインストールされていること
- SQL Server マシンの管理者権限
- DuoKey クラウドプラットフォームへのネットワーク接続(HTTPS ポート 443)
システム要件
SQL Server
- SQL Server 2016 以降
- 推奨: SQL Server 2019+
- Enterprise または Developer エディション
オペレーティングシステム
- Windows Server 2012 R2 以降
- Windows 10/11(開発/テスト)
- 64 ビットアーキテクチャ
ディスク容量
- 最低 100 MB の空き容量
- ライブラリ用のプロバイダーフォルダー
- ProgramData 配下の config & keystore
ネットワーク
- HTTPS(ポート 443)アウトバウンド
- DuoKey プラットフォームへのアクセス
- TLS 1.2 以上
Extensible Key Management は、Windows 上の SQL Server の Enterprise および Developer エディションでのみ利用できます。Standard、Web、または Express エディションでは利用できません。
配置レイアウト
プロバイダーは、SQL Server ホスト上で 2 つの場所を使用します。
| パス | 内容 |
|---|---|
C:\Program Files\DKE\EKM | 署名済みプロバイダーライブラリ dke_ekm_provider.dll(SQL Server サービスアカウントが読み取れる任意のフォルダー)。 |
C:\ProgramData\DKE\EKM | config.toml(接続設定)、keystore.json(キーマッピング、プロバイダーが作成)、および dke-ekm.log(ローカルログ)。 |
プロバイダーは、CREATE CRYPTOGRAPHIC PROVIDER で登録したパスを通じて SQL Server により読み込まれるため、システムディレクトリに配置する必要はありません。専用のアプリケーションフォルダーに保管することで、アップグレードや監査がより簡単になります。
インストール手順
セットアップファイルを展開する
- DuoKey プラットフォームからダウンロードしたセットアップファイルを見つけます
- アーカイブを一時的な場所に展開します
- プロバイダーライブラリ
dke_ekm_provider.dllとconfig.tomlテンプレートが含まれていることを確認します
プロバイダーライブラリを配置する
プロバイダーフォルダーを作成し、署名済みライブラリをそこにコピーします。
C:\Program Files\DKE\EKM\dke_ekm_provider.dllSQL Server サービスアカウントが読み取れる限り、どのフォルダーでも機能します。ユーザープロファイルパスやネットワーク共有は避けてください。
構成ファイルを配置する
ProgramData フォルダーを作成し、セットアップファイルの config.toml テンプレートをそこにコピーします。
C:\ProgramData\DKE\EKM\config.toml接続値は次のガイドで入力します。プロバイダーは実行時に同じフォルダーへ keystore.json と dke-ekm.log も書き込むため、このフォルダーは SQL Server サービスアカウントが書き込み可能である必要があります。
署名が信頼されていることを確認する
プロバイダーライブラリは Authenticode 署名されています。SQL Server は、署名チェーンがマシン上で信頼されていない暗号プロバイダーの読み込みを拒否するため、プロバイダーを登録する前に確認してください。
Get-AuthenticodeSignature "C:\Program Files\DKE\EKM\dke_ekm_provider.dll" |
Format-List Status, SignerCertificate, StatusMessageStatus は Valid でなければなりません。そうでない場合は、DuoKey 署名証明書チェーンをマシンの 信頼されたルート証明機関 および 信頼された発行元 ストアにインストールしてから、確認を再実行してください。
署名が欠落している、破損している、または信頼されていないチェーンによって発行されている場合、CREATE CRYPTOGRAPHIC PROVIDER は失敗し、SQL Server はライブラリを読み込みません。
サービスアカウントに読み取りアクセスを付与する
SQL Server サービスを実行するアカウントが、プロバイダーフォルダーを読み取り、ProgramData フォルダーを読み書きできることを確認します。まずサービスアカウントを特定します。
Get-CimInstance Win32_Service -Filter "Name='MSSQLSERVER'" |
Select-Object Name, StartName# 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"名前付きインスタンスの場合、サービスアカウントは通常 NT SERVICE\MSSQL$InstanceName です。サービスがドメインアカウントで実行されている場合は、代わりにそのアカウントに同じ権限を付与してください。
インストール後の検証
構成に進む前に、2 つのファイルが存在し、署名が信頼されていることを確認します。
検証するファイル
配置にレジストリの変更は必要ありません。詳細設定用にオプションの HKLM\SOFTWARE\DKE\EKM キーが存在する場合がありますが、標準インストールには不要です。