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

クイックスタートガイド

DuoKey SQL EKM を実行し、最初のデータベースを暗号化する

適用対象:
SQL Server 2016+セットアップ時間 30〜45 分管理者アクセスが必要

概要

このクイックスタートガイドでは、DuoKey EKM を使用して最初の SQL Server データベースを暗号化する手順を説明します。完了すると、次のものが得られます:

DuoKey アプリ

DuoKey プラットフォームで構成された SQL EKM アプリ

EKM プロバイダー

SQL Server にインストールされた暗号化プロバイダー

資格情報

DuoKey 認証で構成された SQL Server

暗号化された DB

TDE で暗号化されたテストデータベース

前提条件

前提条件

  • SQL Server 2016 以降 (Enterprise、Standard、または Developer Edition)
  • Windows Server 2012 R2 以降または Windows 10/11
  • SQL Server マシンへの管理者アクセス
  • アプリ作成権限を持つ DuoKey プラットフォームアカウント
  • DuoKey へのネットワークアクセス (HTTPS ポート 443)
  • SQL Server Management Studio (SSMS) がインストールされていること
注意
SQL Server Express edition は Extensible Key Management をサポートしていません。続行する前に SQL Server のエディションを確認してください。

フェーズ 1: DuoKey プラットフォームのセットアップ

1

DuoKey プラットフォームのセットアップ

約 5 分
1

DuoKey プラットフォームにログインする

DuoKey クラウドプラットフォームに移動し、資格情報でサインインします。

2

SQL EKM アプリを作成する

Apps → Create New APP → DuoKey for SQL を選択 → Install Now をクリックします

3

アプリを構成する

  • アプリ名を入力します (例: "Production-SQL-EKM")
  • 説明を追加します (任意)
  • アクセス制御のためのロールを割り当てます
  • キー用の Vault を選択または作成します
4

資格情報を保存する

セットアップファイルをダウンロードし、次の情報を安全に記録します:

  • Client ID - アプリの一意の識別子
  • Client Secret - 認証用のシークレットキー
  • パスワード - アプリの追加パスワード
重要
資格情報は安全に保管してください。Client Secret とパスワードは、後で DuoKey プラットフォームから取得することはできません。SQL Server の構成に必要になります。

詳細ガイド: SQL EKM アプリを作成する

フェーズ 2: SQL Server のインストール

2

EKM プロバイダーをインストールする

約 10 分
1

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

ダウンロードしたセットアップ ZIP ファイルを一時的な場所に展開します。

2

インストーラーを実行する

setup.exe を右クリック → Run as Administrator

注記
Windows が保護ダイアログを表示する場合があります。「詳細情報」をクリックしてから「実行」をクリックします。
3

インストールウィザードを完了する

  • ライセンス契約に同意します
  • インストールフォルダーを選択します (既定を推奨)
  • ログレベルを選択します (初期セットアップでは Info を推奨)
  • 「Install」をクリックし、完了するまで待ちます
4

インストールを検証する

これらの DLL ファイルが C:\Windows\System32 に存在することを確認します:

  • DuoKeyCryptoProvider.dll
  • libcurl.dll
  • zlib1.dll
  • fmt.dll
検証クエリSQL
-- Verify DLL is accessible by SQL Server
EXEC xp_fileexist 'C:\Windows\System32\DuoKeyCryptoProvider.dll';
GO

詳細ガイド: EKM プロバイダーをインストールする

フェーズ 3: SQL Server の構成

3

SQL Server を構成する

約 10 分

SQL Server Management Studio (SSMS) を開き、インスタンスに接続して、次の構成スクリプトを実行します。すべてのプレースホルダーを実際の値に置き換えてください。

完全な構成スクリプト

T-SQLプレースホルダーを置き換える
-- =============================================
-- DuoKey SQL EKM Configuration Script
-- Replace <placeholders> with your values
-- =============================================

-- Step 1: Enable EKM
sp_configure 'show advanced', 1;
GO
RECONFIGURE;
GO
sp_configure 'EKM provider enabled', 1;
GO
RECONFIGURE;
GO

-- Step 2: Create Cryptographic Provider
CREATE CRYPTOGRAPHIC PROVIDER DuoKeyProvider
FROM FILE = 'C:\Windows\System32\DuoKeyCryptoProvider.dll';
GO

-- Step 3: Create Credentials
-- Format: client_secret<!COCKPITPW!>password<!COCKPITPW!>CockpitIntrospectPwd
CREATE CREDENTIAL DuoKeyCredential
WITH IDENTITY = '<your_client_id>',
SECRET = '<your_client_secret><!COCKPITPW!><your_password><!COCKPITPW!>CockpitIntrospectPwd'
FOR CRYPTOGRAPHIC PROVIDER DuoKeyProvider;
GO

-- Step 4: Map Credential to Login
ALTER LOGIN [sa]
ADD CREDENTIAL DuoKeyCredential;
GO

-- Step 5: Create Asymmetric Key
USE master;
GO
CREATE ASYMMETRIC KEY SQL_EKM_Key
FROM PROVIDER DuoKeyProvider
WITH ALGORITHM = RSA_2048,
PROVIDER_KEY_NAME = 'SQL_EKM_Key',
CREATION_DISPOSITION = CREATE_NEW;
GO

-- Step 6: Create Key Credentials
CREATE CREDENTIAL SQL_EKM_Key_Cred
WITH IDENTITY = '<your_client_id>',
SECRET = '<your_client_secret><!COCKPITPW!><your_password><!COCKPITPW!>CockpitIntrospectPwd'
FOR CRYPTOGRAPHIC PROVIDER DuoKeyProvider;
GO

-- Step 7: Create Key Login
CREATE LOGIN SQL_EKM_Key_Login
FROM ASYMMETRIC KEY SQL_EKM_Key;
GO

ALTER LOGIN SQL_EKM_Key_Login
ADD CREDENTIAL SQL_EKM_Key_Cred;
GO

PRINT 'Configuration complete. Enable Encrypt operation in DuoKey Cockpit.';
GO
Encrypt 操作を有効にする

フェーズ 4 に進む前に、DuoKey で Encrypt 操作を有効にする必要があります:

  1. DuoKey Cockpit にログインします
  2. Keys に移動し、SQL_EKM_Key を検索します
  3. Cryptographic Operations で Encrypt を有効にします
  4. 変更を保存します

詳細ガイド: SQL Server を構成する

フェーズ 4: データベースの暗号化

4

最初のデータベースを暗号化する

約 5 分

それでは、テストデータベースを作成し、DuoKey EKM を使用した TDE で暗号化しましょう。

データベース暗号化スクリプトSQL
-- Create test database
CREATE DATABASE TestEncryptedDB;
GO

-- Create Database Encryption Key
USE TestEncryptedDB;
GO
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_256
ENCRYPTION BY SERVER ASYMMETRIC KEY SQL_EKM_Key;
GO

-- Enable encryption
ALTER DATABASE TestEncryptedDB
SET ENCRYPTION ON;
GO

-- Verify encryption status
SELECT
    DB_NAME(database_id) AS [Database],
    CASE encryption_state
        WHEN 0 THEN 'No encryption key'
        WHEN 1 THEN 'Unencrypted'
        WHEN 2 THEN 'Encryption in progress'
        WHEN 3 THEN 'Encrypted'
        WHEN 4 THEN 'Key change in progress'
        WHEN 5 THEN 'Decryption in progress'
    END AS [Status],
    percent_complete AS [Progress %]
FROM sys.dm_database_encryption_keys
WHERE DB_NAME(database_id) = 'TestEncryptedDB';
GO
ヒント
暗号化状態 3 は、データベースが完全に暗号化されていることを意味します。状態 2 は暗号化がまだ進行中であることを意味します。続行する前に完了するまで待ってください。

詳細ガイド: データベースの暗号化

検証

これらのクエリを実行して、セットアップ全体が正しく機能していることを確認します:

検証クエリSQL
-- 1. EKM Provider Status
SELECT name, guid, version
FROM sys.cryptographic_providers;
GO

-- 2. Credentials Created
SELECT name, credential_identity, create_date
FROM sys.credentials
WHERE name LIKE '%DuoKey%' OR name LIKE '%EKM%';
GO

-- 3. Asymmetric Keys
SELECT name, algorithm_desc, key_length, thumbprint
FROM sys.asymmetric_keys;
GO

-- 4. Encrypted Databases
SELECT
    d.name AS DatabaseName,
    d.is_encrypted,
    dek.encryption_state
FROM sys.databases d
LEFT JOIN sys.dm_database_encryption_keys dek
    ON d.database_id = dek.database_id
WHERE d.is_encrypted = 1;
GO

検証チェックリスト

EKM ProviderDuoKeyProvider が sys.cryptographic_providers に表示される
資格情報DuoKeyCredential と SQL_EKM_Key_Cred が作成された
非対称キーRSA_2048 アルゴリズムの SQL_EKM_Key
データベースが暗号化されたencryption_state = 3 の TestEncryptedDB

トラブルシューティング クイックリファレンス

よくある問題と解決策

問題原因解決策
EKM が有効になっていないSQL Server のエディションまたは構成エディションを確認し、sp_configure コマンドを実行します
プロバイダーを作成できないDLL が見つからないSystem32 に DuoKeyCryptoProvider.dll があることを確認します
資格情報フォーマットエラーSECRET フォーマットが無効<!COCKPITPW!> 区切り文字を確認します
キーの作成に失敗するEncrypt が有効になっていないDuoKey Cockpit で Encrypt 操作を有効にします
接続タイムアウトネットワークの問題DuoKey プラットフォームへの HTTPS 443 アクセスを確認します

完全なトラブルシューティングガイド

次のステップ

おめでとうございます。DuoKey SQL EKM を正常にセットアップし、最初のデータベースを暗号化しました。次に確認する内容は次のとおりです: