次の方法で共有


Azure Key Vault を使用した拡張キー管理のマネージド ID のサポート

適用対象: SQL Server 2025 (17.x) プレビュー

この記事では、 Azure Arc によって有効になっている SQL Server 上の Azure Key Vault (AKV) で拡張キー管理 (EKM) のマネージド ID を使用する方法について説明します。

概要

SQL Server 2025 (17.x) プレビュー以降では、Azure Arc で有効になっている SQL Server 上の AKV とマネージド ハードウェア セキュリティ モジュール (HSM) を使用して、EKM のマネージド ID がサポートされます。マネージド ID は、パスワードやシークレットを使用せずに、異なる Azure サービスで Azure Arc リソースによって有効になっている SQL Server を認証できるようにするための推奨される認証方法です。 マネージド ID の詳細については、「 マネージド ID の種類」を参照してください。

[前提条件]

手順 1: EKM プロバイダーのレジストリ キーを追加する

マネージド ID を使用して資格情報を作成する前に、レジストリ キーを追加して、EKM プロバイダーがマネージド ID を使用できるようにする必要があります。 この手順は、コンピューター管理者が実行する必要があります。 詳細な手順については、「 手順 4: EKM プロバイダーをサポートするためのレジストリ キーを追加する」を参照してください。

手順 2: master データベースを構成する

  1. SQL Server Management Studio を開きます。

  2. 次の Transact-SQL スクリプトを実行して、EKM を使用するように SQL Server を構成します。

    -- Enable advanced options.
    USE master;
    GO
    
    EXECUTE sp_configure 'show advanced options', 1;
    GO
    
    RECONFIGURE;
    GO
    
    -- Enable EKM provider
    EXECUTE sp_configure 'EKM provider enabled', 1;
    GO
    
    RECONFIGURE;
    GO
    
  3. SQL Server に EKM プロバイダーとして SQL Server コネクタを登録します。

    Azure Key Vault の EKM プロバイダーである SQL Server コネクタを使用して暗号化サービス プロバイダーを作成します。 この例では、プロバイダー名は AzureKeyVault_EKM です。

    CREATE CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM
    FROM FILE = 'C:\Program Files\SQL Server Connector for Microsoft Azure Key Vault\Microsoft.AzureKeyVaultService.EKM.dll';
    GO
    

    ファイル パスは 256 文字以内で指定してください。

手順 3: マネージド ID を使用してサーバー資格情報を作成する

次の例は、Azure Key Vault で使用するマネージド ID の資格情報を作成する方法を示しています。

CREATE CREDENTIAL [<akv-name>.vault.azure.net]
    WITH IDENTITY = 'Managed Identity'
    FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM;

sys.credentialsクエリを実行して、AKV 名を確認できます。

SELECT name, credential_identity
FROM sys.credentials;

WITH IDENTITY = 'Managed Identity'句には、Azure Arc によって有効になっている SQL Server に割り当てられたプライマリ マネージド ID が必要です。

AKV を使用した EKM の設定の詳細については、「 Azure Key Vault を使用した SQL Server TDE 拡張キー管理の設定」を参照してください。

マネージド ハードウェア セキュリティ モジュール (HSM) で使用する資格情報を作成する

Azure Key Vault マネージド ハードウェア セキュリティ モジュール (HSM) で使用する資格情報を作成するには、次の構文を使用します。

CREATE CREDENTIAL [<akv-name>.managedhsm.azure.net]
    WITH IDENTITY = 'Managed Identity'
    FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM;

AKV を使用した EKM の設定の詳細については、「 Azure Key Vault を使用した SQL Server TDE 拡張キー管理の設定」を参照してください。

マネージド ID を使用するように既存の EKM 構成をアップグレードする T-SQL コマンド

現在の構成でシークレットを使用して AKV で EKM を使用している場合は、既存の資格情報を削除し、マネージド ID を使用して新しい資格情報を作成する必要があります。 次の T-SQL コマンドは、マネージド ID を使用するように既存の EKM 構成をアップグレードする方法を示しています。

  1. マネージド ID を使用して資格情報を作成します。

    CREATE CREDENTIAL [<akv-name>.vault.azure.net]
        WITH IDENTITY = 'Managed Identity'
        FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM;
    
  2. SQL Server 管理ドメイン ログインに関連付けられているシークレットを使用する資格情報がある場合は、既存の資格情報を削除します。

    ALTER LOGIN [<___domain>\<login>]
    DROP CREDENTIAL [<existing-credential-name>];
    
  3. 新しい資格情報を SQL Server 管理ドメイン ログインに関連付けます。

    ALTER LOGIN [<___domain>\<login>]
    ADD CREDENTIAL [<akv-name>.vault.azure.net];
    

次のクエリを使用して、暗号化されたデータベース ビューを確認してデータベースの暗号化を確認できます。

SELECT *
FROM sys.dm_database_encryption_keys
WHERE database_id = db_id('<your-database-name>');

AKV を使用した EKM の設定の詳細については、「 Azure Key Vault を使用した SQL Server TDE 拡張キー管理の設定」を参照してください。

エラー メッセージ

トレース フラグ 4675 を使用して、マネージド ID で作成された資格情報を確認できます。 トレース フラグ 4675 が有効になっていない状態で CREATE CREDENTIAL ステートメントが実行された場合、プライマリ マネージド ID がサーバーに設定されていない場合、エラー メッセージは発行されません。 このシナリオをトラブルシューティングするには、トレース フラグが有効になったら、資格情報を削除して再作成する必要があります。

制限事項

  • サーバー レベルのマネージド ID は、オンプレミスの SQL Server ではなく、Azure Arc によって有効になっている SQL Server 2025 でのみサポートされます。 Linux では、サーバー レベルのマネージド ID はサポートされていません。
  • AKV での EKM のマネージド ID のサポートには、最新の SQL Server Connector プレビュー バージョンが必要です。