SQL Server 2025 のセキュリティについての新機能 で触れましたが、SQL Server 2025 では、マネージド ID がサポートされるようになりました。
Azure Storage へのバックアップを例として、この新機能を確認してみたいと思います。
従来の Azure Arc のマネージド ID のサポート状況
SQL Server 2025 のマネージド ID サポートですが、前提として Azure Arc 対応サーバー で Azure に接続をしている必要があり、Azure Arc 対応 SQL Server を有効にしている場合に使用することができます。
Azure Arc 対応サーバー + Azure Arc 対応 SQL Server の組み合わせは、SQL Server 2022 でも使用することができたのですが、この組み合わせでのマネージド ID の使用は、Azure Arc 対応サーバーでの Azure リソースに対して認証を行う の方法となっていました。
IMDS にアクセスしてアクセストークンを取得し、それを REST API で利用するというような利用方法が一般的な内容だったのかと。
Arc で接続された環境上で実行したユーザーコードから使用することはできました。
しかし、SQL Server からは使用することは想定されておらず、Azure と連携するような次の機能については、マネージド ID ではなくアクセスキーを使用してアクセスするようになっていました。
- Azure Key Vault を使用した SQL Server TDE 拡張キー管理を設定する
- Microsoft Azure Blob Storage 用 URL への SQL Server バックアップ
SQL Server 2025 のマネージド ID のサポート
SQL Server 2025 では、Azure Arc 対応 SQL Server で接続している環境ではマネージド ID を使用することができるようになりました。
SQL Server 2025 の環境については、Arc で接続をすると「Microsoft Entra ID と Purview」で「プライマリ マネージド ID を使用してください」を有効化することができるようになります。
「システム割り当てマネージド ID」のみがサポートされているようで、「ユーザー割り当てマネージド ID」を使用することはでき内容です。(Azure Arc がユーザー割り当てマネージド ID をサポートしていないようですが)
有効化時には SQL Server のサービスの再起動が発生し、「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQLServer\FederatedAuthentication」に情報が登録されます。(これは SQL Server 2022 の Entra ID 認証と同じです)
追加の設定として、マネージド ID に ID にアプリケーションのアクセス許可を付与する の設定を行い、適切なアクセス許可の付与を行います。
この設定を有効にすることで、次のような Azure リソースのアクセスが可能となります。
- Azure Key Vault を使用した拡張キー管理のマネージド ID のサポート
- 管理対象 ID を使用して URL にバックアップする (プレビュー) ? Azure Arc で有効化された SQL Server
- マネージド ID を使用して Azure OpenAI で EXTERNAL MODEL を作成する
本投稿の主題であるバックアップであれば、次のようなクエリでマネージド ID を使用したバックアップを実行することが可能です。
CREATE CREDENTIAL [https://xxxx.blob.core.windows.net/backup]
WITH IDENTITY = 'Managed Identity'
GO
BACKUP DATABASE [master]
TO URL = 'https://xxxx.blob.core.windows.net/backup/master.bak'
GO
従来までは、CREDENTIAL に SAS やアクセスキーを指定していましたが、マネージド ID の場合はこれらの情報を指定することなくバックアップを取得することができます。
SQL Server 2025 を使用する場合、マネージド ID を活用することで、 Azure リソースへのアクセスを、従来よりシンプルな設定でセキュリティレベルを上げて対応することができるのではないでしょうか。