Подобрение: управлявана от Microsoft Entra поддръжка на самоличност за операции с архивиране и възстановяване на бази данни и за EKM с AKV в SQL Server на виртуални машини на Azure

Симптоми

Екземплярът на SQL Server може да спре да отговаря, ако изпълните операция за архивиране или възстановяване на база данни за Azure място за съхранение или използвате Extensible Key Management (EKM) с Azure Хранилище за ключове (AKV), като използвате идентификационни данни на сървърно ниво с управлявани самоличности. Въпреки че тази операция не се поддържа за SQL Server 2022, текущият синтаксис на T-SQL я позволява.

Решение

Този проблем е решен в следната кумулативна актуализация за виртуални машини (VM) на SQL Server на Azure:

Кумулативна актуализация 17 за SQL Server 2022

В SQL Server 2022 CU17 и по-новите версии, управляваното от Microsoft Entra удостоверяване на самоличността с SQL Server на виртуални машини само за Windows на Azure Windows поддържа идентификационните данни на сървърно ниво за операции по архивиране и възстановяване на базата данни в Azure Storage и за EKM с AKV.

За да разрешите поддръжката на управлявана самоличност за операции на база данни за архивиране или възстановяване за SQL Server на виртуални машини с Windows на Azure, са необходими следните стъпки:

  1. Присвояване на основната управлявана самоличност за SQL Server на виртуални машини с Windows на Azure.
  2. Създайте или използвайте хранилище на Azure с контейнер за големи двоични обекти.
  3. Задайте роли за управление на достъпа, базирано на роли (RBAC), за основната управлявана самоличност за достъп до мястото за съхранение на Azure.
  4. Изпълнете командата CREATE CREDENTIAL T-SQL с клаузата, WITH IDENTITY = 'Managed Identity' която използва URL адреса на хранилището в Azure като име на идентификационни данни.
  5. Изпълнете командата BACKUP DATABASE T-SQL или RESTORE DATABASE използвайте URL адреса на мястото за съхранение в Azure.
-- Create credential with managed identity and credential name set to
-- URL= https://<storageaccountname>.blob.core.windows.net/<container>   
CREATE CREDENTIAL [https://<storageaccountname>.blob.core.windows.net/<container>]  
 WITH IDENTITY = 'Managed Identity'  
-- Backup the database mydb to URL 
BACKUP DATABASE mydb 
 TO URL = 'https://<storageaccount>.blob.core.windows.net/<container>/mydb.bak'  
-- Restore the database mydb1 from URL
RESTORE DATABASE mydb1  
 FROM URL ='https://<storageaccount>.blob.core.windows.net/<container>/mydb.bak'  

За повече информация вижте "Архивиране и възстановяване на URL адрес с помощта на управлявани самоличности".

За да разрешите поддръжката на управлявана самоличност за EKM с AKV за SQL Server на виртуални машини с Windows в Azure, са необходими следните стъпки:

  1. Присвояване на основната управлявана самоличност за SQL Server на виртуални машини с Windows на Azure.
  2. Създайте или използвайте хранилище за ключове.
  3. Задайте роли за управление на достъпа, базиран на роли (RBAC), за основната управлявана самоличност за достъп до AKV.
  4. Изтеглете най-новия SQL Server Connector за Microsoft Azure Хранилище за ключове (1.0.5.0 (ноември 2024 г.) или по-нови версии). За поддържане на управляваната самоличност се изисква най-новата версия на конектора на SQL Server.
  5. Изпълнете командата CREATE CREDENTIAL T-SQL с клаузата WITH IDENTITY = 'Managed Identity' , която използва пътя на AKV като име на идентификационни данни.
-- Create credential with managed identity and the credential name for the AKV called 'contoso'
-- with the AKV path = 'contoso.vault.azure.net'  
CREATE CREDENTIAL [contoso.vault.azure.net]  
 WITH IDENTITY = 'Managed Identity'  
 FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM_Prov 
  1. Изпълнете останалата част от T-SQL настройката на EKM с AKV.

За повече информация вижте "Поддръжка на управлявана самоличност" за разширено управление на ключове с Azure Хранилище за ключове.

Забележка

  • Проследяване на флаг 4675, забранен по подразбиране, позволява отстраняване на неизправности с идентификационните данни на сървърно ниво и може да се използва за потвърждаване на основната управлявана самоличност, която е присвоена на екземпляра на SQL Server.
  • Поддръжката на управлявана самоличност не въвежда никакви промени в синтаксиса на T-SQL или в изгледа на системата, тъй като тази функционалност вече съществува за управляван екземпляр на Azure SQL.
  • Управляваните самоличности не се поддържат за идентификационните данни на сървърно ниво на локалния SQL Server. При случайно използване с архивиране или възстановяване в Azure Storage или EKM с AKV, виждате съобщението за грешка "Основната управлявана самоличност не е зададена за сървъра..." и се отнасят до публичната документация.

За кумулативните актуализации за SQL Server

Всяка нова кумулативна актуализация за SQL Server съдържа всички актуални поправки и корекции на защитата, които са били в предишната компилация. Препоръчваме ви да инсталирате най-новата компилация за вашата версия на SQL Server:

Най-нова кумулативна актуализация за SQL Server 2022

Състояние

Microsoft потвърждава, че това е проблем в продуктите на Microsoft, които са изброени в раздела „Важи за“.

Справки