メインコンテンツまでスキップ

EKM プロバイダーのインストール

適用対象:
Windows Server 2012 R2+SQL Server 2016+管理者権限が必要

概要​

このガイドでは、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 以上
EKM はエディションで制限されます

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\EKMconfig.toml(接続設定)、keystore.json(キーマッピング、プロバイダーが作成)、および dke-ekm.log(ローカルログ)。
なぜ System32 ではないのか

プロバイダーは、CREATE CRYPTOGRAPHIC PROVIDER で登録したパスを通じて SQL Server により読み込まれるため、システムディレクトリに配置する必要はありません。専用のアプリケーションフォルダーに保管することで、アップグレードや監査がより簡単になります。

インストール手順​

1

セットアップファイルを展開する

  1. DuoKey プラットフォームからダウンロードしたセットアップファイルを見つけます
  2. アーカイブを一時的な場所に展開します
  3. プロバイダーライブラリ dke_ekm_provider.dll と config.toml テンプレートが含まれていることを確認します
2

プロバイダーライブラリを配置する

プロバイダーフォルダーを作成し、署名済みライブラリをそこにコピーします。

プロバイダーライブラリの場所TEXT
C:\Program Files\DKE\EKM\dke_ekm_provider.dll
ヒント

SQL Server サービスアカウントが読み取れる限り、どのフォルダーでも機能します。ユーザープロファイルパスやネットワーク共有は避けてください。

3

構成ファイルを配置する

ProgramData フォルダーを作成し、セットアップファイルの config.toml テンプレートをそこにコピーします。

構成ファイルの場所TEXT
C:\ProgramData\DKE\EKM\config.toml

接続値は次のガイドで入力します。プロバイダーは実行時に同じフォルダーへ keystore.json と dke-ekm.log も書き込むため、このフォルダーは SQL Server サービスアカウントが書き込み可能である必要があります。

4

署名が信頼されていることを確認する

プロバイダーライブラリは Authenticode 署名されています。SQL Server は、署名チェーンがマシン上で信頼されていない暗号プロバイダーの読み込みを拒否するため、プロバイダーを登録する前に確認してください。

Authenticode 署名を検証するPOWERSHELL
Get-AuthenticodeSignature "C:\Program Files\DKE\EKM\dke_ekm_provider.dll" |
Format-List Status, SignerCertificate, StatusMessage

Status は Valid でなければなりません。そうでない場合は、DuoKey 署名証明書チェーンをマシンの 信頼されたルート証明機関 および 信頼された発行元 ストアにインストールしてから、確認を再実行してください。

信頼は必須です

署名が欠落している、破損している、または信頼されていないチェーンによって発行されている場合、CREATE CRYPTOGRAPHIC PROVIDER は失敗し、SQL Server はライブラリを読み込みません。

5

サービスアカウントに読み取りアクセスを付与する

SQL Server サービスを実行するアカウントが、プロバイダーフォルダーを読み取り、ProgramData フォルダーを読み書きできることを確認します。まずサービスアカウントを特定します。

SQL Server サービスアカウントを見つけるPOWERSHELL
Get-CimInstance Win32_Service -Filter "Name='MSSQLSERVER'" |
Select-Object Name, StartName
サービスアカウントにアクセスを付与するPOWERSHELL
# 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 つのファイルが存在し、署名が信頼されていることを確認します。

検証するファイル

dke_ekm_provider.dllC:\Program Files\DKE\EKM\ — 署名が Valid
config.tomlC:\ProgramData\DKE\EKM\ — サービスアカウントが読み取り可能
オプションのレジストリキー

配置にレジストリの変更は必要ありません。詳細設定用にオプションの HKLM\SOFTWARE\DKE\EKM キーが存在する場合がありますが、標準インストールには不要です。

トラブルシューティング​

次のステップ​