Bagikan melalui


Dukungan Identitas Terkelola untuk Extensible Key Management dengan Azure Key Vault

Berlaku untuk: SQL Server 2025 (17.x)

Artikel ini memperlihatkan kepada Anda cara menggunakan identitas terkelola untuk Extensible Key Management (EKM) dengan Azure Key Vault (AKV) di SQL Server yang diaktifkan oleh Azure Arc.

Gambaran Umum

Dimulai dengan SQL Server 2025 (17.x), identitas terkelola didukung untuk EKM dengan AKV dan Modul Keamanan Perangkat Keras Terkelola (HSM) di SQL Server yang diaktifkan oleh Azure Arc. Identitas terkelola adalah metode autentikasi yang direkomendasikan untuk memungkinkan layanan Azure yang berbeda mengautentikasi SQL Server yang diaktifkan oleh sumber daya Azure Arc tanpa menggunakan kata sandi atau rahasia. Untuk informasi selengkapnya tentang identitas terkelola, lihat jenis identitas terkelola .

Prasyarat

Langkah 1: Tambahkan kunci registri untuk penyedia EKM

Sebelum Anda dapat membuat kredensial menggunakan identitas terkelola, Anda perlu menambahkan kunci registri untuk memungkinkan penyedia EKM menggunakan identitas terkelola. Langkah ini perlu dilakukan oleh administrator komputer. Untuk langkah-langkah mendetail, lihat Langkah 4: Menambahkan kunci registri untuk mendukung penyedia EKM.

Langkah 2: Mengonfigurasi master database

  1. Buka SQL Server Management Studio.

  2. Konfigurasikan SQL Server untuk menggunakan EKM dengan menjalankan skrip Transact-SQL berikut:

    -- 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. Daftarkan Konektor SQL Server sebagai penyedia EKM pada SQL Server.

    Buat penyedia kriptografi dengan menggunakan Konektor SQL Server, yang merupakan penyedia EKM untuk Azure Key Vault. Dalam contoh ini, nama penyedia adalah 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
    

    Nota

    Panjang jalur file tidak boleh melebihi 256 karakter.

Langkah 3: Membuat kredensial server menggunakan identitas terkelola

Contoh berikut menunjukkan cara membuat kredensial untuk identitas terkelola yang akan digunakan dengan Azure Key Vault:

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

Anda dapat memeriksa nama AKV dengan mengkueri sys.credentials:

SELECT name, credential_identity
FROM sys.credentials;

Klausa WITH IDENTITY = 'Managed Identity' memerlukan identitas terkelola utama yang ditetapkan ke SQL Server yang diaktifkan oleh Azure Arc.

Untuk informasi selengkapnya tentang menyiapkan EKM dengan AKV, lihat Menyiapkan SQL Server TDE Extensible Key Management dengan menggunakan Azure Key Vault.

Membuat kredensial untuk digunakan dengan Modul Keamanan Perangkat Keras Terkelola (HSM)

Untuk membuat kredensial yang akan digunakan dengan Modul Keamanan Perangkat Keras Terkelola (HSM) Azure Key Vault, gunakan sintaks berikut:

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

Untuk informasi selengkapnya tentang menyiapkan EKM dengan AKV, lihat Menyiapkan SQL Server TDE Extensible Key Management dengan menggunakan Azure Key Vault.

Perintah T-SQL untuk meningkatkan konfigurasi EKM yang ada untuk menggunakan identitas terkelola

Jika konfigurasi Anda saat ini menggunakan EKM dengan AKV menggunakan rahasia, Anda harus menghilangkan kredensial yang ada dan membuat kredensial baru menggunakan identitas terkelola. Perintah T-SQL berikut menunjukkan cara meningkatkan konfigurasi EKM yang ada untuk menggunakan identitas terkelola:

  1. Buat kredensial menggunakan identitas terkelola:

    CREATE CREDENTIAL [<akv-name>.vault.azure.net]
        WITH IDENTITY = 'Managed Identity'
        FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM;
    
  2. Jika ada kredensial menggunakan rahasia yang terkait dengan login domain administrasi SQL Server, hilangkan kredensial yang ada:

    ALTER LOGIN [<domain>\<login>]
    DROP CREDENTIAL [<existing-credential-name>];
    
  3. Kaitkan kredensial baru dengan login domain administrasi SQL Server:

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

Anda bisa memeriksa tampilan database terenkripsi untuk memverifikasi enkripsi database menggunakan kueri berikut:

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

Untuk informasi selengkapnya tentang menyiapkan EKM dengan AKV, lihat Menyiapkan SQL Server TDE Extensible Key Management dengan menggunakan Azure Key Vault.

Pesan kesalahan

Tanda jejak 4675 dapat digunakan untuk memeriksa kredensial yang dibuat dengan identitas terkelola. Jika pernyataan CREATE CREDENTIAL dijalankan tanpa bendera pelacakan 4675 diaktifkan, tidak ada pesan kesalahan yang dikeluarkan jika identitas terkelola utama tidak diatur untuk server. Untuk memecahkan masalah skenario ini, kredensial harus dihapus dan dibuat ulang lagi setelah bendera pelacakan diaktifkan.

Keterbatasan

  • Identitas terkelola tingkat server hanya didukung untuk SQL Server 2025 yang diaktifkan oleh Azure Arc, dan bukan di SQL Server lokal. Identitas terkelola tingkat server tidak didukung untuk Linux.
  • Dukungan identitas terkelola untuk EKM dengan AKV memerlukan versi pratinjau Konektor SQL Server terbaru.