Поделиться через


Поддержка управляемых учетных данных для расширяемого управления ключами с использованием Azure Key Vault

Применимо к: SQL Server 2025 (17.x)

В этой статье показано, как использовать управляемые удостоверения для расширяемого управления ключами (EKM) с Azure Key Vault (AKV) на SQL Server с поддержкой Azure Arc.

Обзор

Начиная с версии SQL Server 2025 (17.x), управляемые удостоверения поддерживаются для EKM с помощью AKV и управляемых аппаратных модулей безопасности (HSM) на SQL Server, включенном через Azure Arc. Управляемые удостоверения рекомендуются в качестве метода аутентификации, позволяющего различным службам Azure аутентифицировать сервер SQL, включенный через Azure Arc, без использования паролей или секретов. Дополнительные сведения об управляемых удостоверениях см. в Типы управляемых удостоверений.

Предпосылки

Шаг 1. Добавьте ключ реестра для провайдера EKM

Прежде чем создавать учетные данные с помощью управляемого удостоверения, необходимо добавить раздел реестра, чтобы поставщик EKM мог использовать управляемые удостоверения. Этот шаг должен выполняться администратором компьютера. Подробные инструкции см. в разделе и шаге 4: Добавление раздела реестра для поддержки поставщика EKM.

Шаг 2. Настройка master базы данных

  1. Откройте SQL Server Management Studio.

  2. Настройте SQL Server для использования EKM, выполнив следующий скрипт Transact-SQL:

    -- 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.

    Создайте криптографического провайдера с помощью соединителя SQL Server, который служит провайдером EKM для Azure Key Vault. В этом примере имя поставщика — 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. Создание учетных данных сервера с помощью управляемого удостоверения

В следующем примере показано, как создать учетные данные для управляемого удостоверения, используемого в Azure Key Vault:

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

Вы можете проверить имя AKV, сделав запрос sys.credentials.

SELECT name, credential_identity
FROM sys.credentials;

Для WITH IDENTITY = 'Managed Identity' пункта требуется основное управляемое удостоверение, назначенное SQL Server, который активирован Azure Arc.

Дополнительные сведения о настройке EKM с помощью AKV см. в статье Настройка расширенного управления ключами SQL Server TDE с помощьюAzure Key Vault.

Создание учетных данных для использования с управляемыми аппаратными модулями безопасности (HSM)

Чтобы создать учетные данные для использования с управляемыми аппаратными модулями безопасности Azure Key Vault (HSM), используйте следующий синтаксис:

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

Дополнительные сведения о настройке EKM с помощью AKV см. в статье Настройка расширенного управления ключами SQL Server TDE с помощьюAzure Key Vault.

Команды T-SQL для обновления существующей конфигурации EKM для использования управляемых удостоверений

Если ваша текущая конфигурация использует EKM с AKV с секретом, необходимо удалить существующие учетные данные доступа и создать новые с помощью управляемого удостоверения. В следующих командах T-SQL показано, как обновить существующую конфигурацию EKM для использования управляемых удостоверений:

  1. Создайте учетные данные с помощью управляемого удостоверения:

    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>');

Дополнительные сведения о настройке EKM с помощью AKV см. в статье Настройка расширенного управления ключами SQL Server TDE с помощьюAzure Key Vault.

Сообщения об ошибках

флаг трассировки 4675 можно использовать для проверки учетных данных, созданных с помощью управляемой идентичности. Если инструкция CREATE CREDENTIAL выполнялась без включения флага трассировки 4675, сообщение об ошибке не отображается, если основное управляемое удостоверение не установлено для сервера. Чтобы устранить эту проблему, учетные данные необходимо удалить и создать заново после включения флага трассировки.

Ограничения

  • Управляемое удостоверение для уровня сервера поддерживается только для SQL Server 2025, под управлением Azure Arc, и не для SQL Server, размещенного локально. Управляемая идентификация уровня сервера не поддерживается для Linux.
  • Для поддержки управляемых удостоверений для EKM с AKV требуется последняя предварительная версия соединителя SQL Server.