Microsoft Entra ID と Kerberos を使用して Azure SQL Managed Instance の Windows 認証を設定する方法

この記事では、インフラストラクチャとマネージド インスタンスを設定して、Microsoft Entra ID (旧 Azure Active Directory) で Azure SQL Managed Instance 上のプリンシパル向けに Windows 認証を実装する方法の概要を説明します。

Microsoft Entra ID と Kerberos を使用して Azure SQL Managed Instance の Windows 認証を設定するには、2 段階の手順があります。 

  • 1 回限りののインフラストラクチャのセットアップ。
    • Active Directory (AD) と Microsoft Entra ID をまだ同期していない場合は、同期します。
    • 使用可能な場合は、最新の対話型認証フローを有効にします。 最新の対話型フローは、Windows 10 20H1/Windows Server 2022 以上を実行している、Microsoft Entra参加またはハイブリッド参加クライアントを持つ組織に推奨されます。
    • 受信信頼ベースの認証フローを設定します。 これは、最新の対話型フローを使用できないが、AD に参加しているクライアントが Windows 10 または Windows Server 2012 以上を実行している顧客に推奨されます。
  • Azure SQL Managed Instance の構成
    • システム割り当てのサービス プリンシパルをマネージド インスタンスに対して有効にするには:

Note

Microsoft Entra ID の、旧称は Azure Active Directory(Azure AD)です。

1 回のインフラストラクチャのセットアップ

インフラストラクチャのセットアップにおける最初の手順として、AD と Microsoft Entra ID をまだ同期していない場合には同期してください。

その後、システム管理者が認証フローを構成します。 Azure SQL Managed Instance で Microsoft Entra プリンシパルに対して Windows 認証を実装するには、2 つの認証フローを使用できます。受信信頼ベースのフローでは、Windows サーバー 2012 以上を実行する AD 参加クライアントがサポートされ、最新の対話型フローでは、Windows 10 21H1 以上を実行しているMicrosoft Entra 参加クライアントがサポートされます。

AD を Microsoft Entra ID と同期する

まず最初に、Microsoft Entra Connect を使用して、オンプレミスのディレクトリを Microsoft Entra ID に統合してください。

実装する認証フローを選択する

次の図は、最新の対話型フローと受信信頼ベースのフローの適格性とコア機能を示しています。

A decision tree showing criteria to select authentication flows.

"最新の対話型フローが Windows 10 20H1 または Windows Server 2022 以上を実行しているクライアント (Microsoft Entra 参加クライアントもしくは Microsoft Entra ハイブリッド参加クライアントの場合) に適していることを示すデシジョン ツリー。 いっぽう受信信頼ベースのフローは、Windows 10 または Windows Server 2012 以上を実行しているクライアント (AD参加クライアントの場合) に適しています。"

最新の対話型フローは、Windows 10 21H1 以降を実行している Microsoft Entra 参加または Microsoft Entra ハイブリッド参加クライアントで動作します。 最新の対話型フローでは、ユーザーはドメイン コントローラー (PC) SQL Managed Instance を必要とせずに Azure SQL Managed Instance にアクセスできます。 顧客の AD に信頼オブジェクトを作成する必要はありません。 最新の対話型フローを有効にするには、管理者はログイン中に使用される Kerberos 認証チケット (TGT) のグループ ポリシーを設定します。

受信信頼ベースのフローは、Windows 10 または Windows Server 2012 以上を実行しているクライアントで動作します。 このフローでは、クライアントが AD に参加し、オンプレミスから AD への通信経路を持っている必要があります。 受信信頼ベースのフローでは、顧客の AD に信頼オブジェクトが作成され、Microsoft Entra ID に登録されます。 受信信頼ベースのフローを有効にするには、管理者は Microsoft Entra ID との受信信頼を設定し、グループ ポリシーを使用して Kerberos プロキシを設定します。

最新の対話型認証フロー

最新の対話型認証フローを実装するには、次の前提条件が必要です。

前提条件 説明
クライアントは、Windows 10 20H1、Windows Server 2022、またはそれ以上のバージョンの Windows を実行している必要があります。
クライアントは、‭‬Microsoft Entra 加‭‬または ‭‬Microsoft Entra ハイブリッド 参加‭クライアントである必要があります。 この前提条件が満たされるかどうかを判断するには、dsregcmd コマンドを実行することで判断できます。dsregcmd.exe /status
アプリケーションは、対話型セッションを介してマネージド インスタンスに接続する必要があります。 これは、SQL Server Management Studio (SSMS) や Web アプリケーションなどのアプリケーションをサポートしますが、サービスとして実行されるアプリケーションでは機能しません。
Microsoft Entra テナント.
認証に使用する予定の同じ Microsoft Entra テナントにある Azure サブスクリプション。
Microsoft Entra Connect がインストールされていること。 Microsoft Entra ID と AD の両方に ID が存在するハイブリッド環境。

この認証フローを有効にする手順については、「最新の対話型フローで Microsoft Entra ID の Windows 認証を設定する方法」を参照してください。

受信信頼ベースの認証フロー

最新の対話型認証フローを実装するには、次の前提条件が必要です。

前提条件 説明
クライアントは、Windows 10、Windows Server 2012、またはそれ以降のバージョンの Windows を実行している必要があります。
クライアントは AD に参加している必要があります。 ドメインの機能レベルは Windows Server 2012 以上である必要があります。 dsregcmd コマンドを実行して、クライアントが AD に参加しているかどうかを確認できます。dsregcmd.exe /status
Azure AD ハイブリッド認証管理モジュール。 この PowerShell モジュールは、オンプレミスのセットアップのための管理機能を提供します。
Microsoft Entra テナント.
認証に使用する予定の同じ Microsoft Entra テナントにある Azure サブスクリプション。
Microsoft Entra Connect がインストールされていること。 Microsoft Entra ID と AD の両方に ID が存在するハイブリッド環境。

この認証フローを有効にする方法については、「受信信頼ベースフローで Microsoft Entra ID の Windows 認証を設定する方法」を参照してください。

Azure SQL Managed Instance を構成する

Azure SQL Managed Instance を設定する手順は、受信信頼ベースの認証フローと最新の対話型認証フローの両方で同じです。

マネージド インスタンスを構成するための前提条件

Microsoft Entra プリンシパルの Windows 認証用にマネージド インスタンスを構成するには、次の前提条件が必要です。

前提条件 説明
Az.Sql PowerShell モジュール この PowerShell モジュールには、Azure SQL リソースの管理コマンドレットが用意されています。 次の PowerShell コマンドを実行して、このモジュールをインストールします。 Install-Module -Name Az.Sql
Microsoft Graph PowerShell モジュールをインストールします。 このモジュールでは、ユーザーおよびサービス プリンシパル管理などの Microsoft Entra ID 管理タスク用の管理コマンドレットを提供します。 次の PowerShell コマンドを実行して、このモジュールをインストールします。 Install-Module –Name Microsoft.Graph
マネージド インスタンス 新しいマネージド インスタンスを作成することも、既存のマネージド インスタンスを使用することもできます。

各マネージド インスタンスを構成する

各マネージド インスタンスを設定する手順については、Microsoft Entra ID の Windows 認証用に Azure SQL Managed Instance を構成するを参照してください。

制限事項

次の制限事項は、Azure SQL Managed Instance での Microsoft Entra プリンシパルの Windows 認証に適用されます。

Linux クライアントでは利用できない

Microsoft Entra プリンシパルに対する Windows 認証は、現在、Windows を実行しているクライアント コンピュータに対してのみサポートされています。

Microsoft Entra ID のキャッシュされたログオン

Windows は Microsoft Entra ID に接続する頻度を自己制限します。そのため、クライアント コンピュータのアップグレードまたは新規デプロイから 4 時間以内に、ユーザー アカウントに更新された Kerberos チケット付与チケット (TGT) が届かない可能性があります。 更新された TGT を持たないユーザー アカウントは、Microsoft Entra ID からのチケット要求に失敗します。

管理者は、クライアント コンピューターで次のコマンドを実行し、ユーザー セッションをロックおよびロック解除して更新された TGT を取得することで、アップグレード シナリオを処理するためにオンライン ログオンをすぐにトリガーできます。

dsregcmd.exe /RefreshPrt

次のステップ

Azure SQL Managed Instance で Microsoft Entra プリンシパルの Windows 認証を実装する方法の詳細については、次を参照してください。