Azure SQL を使用した Microsoft Entra 専用認証

適用対象:Azure SQL データベースAzure SQL Managed InstanceAzure Synapse Analytics (サーバーレス SQL プールのみ)

Microsoft Entra 専用認証は、サービスで Microsoft Entra 認証のみをサポートできるようにする Azure SQL 内の機能であり、Azure SQL Database および Azure SQL Managed Instance でサポートされています。

Note

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

Microsoft Entra 専用認証は、スタンドアロンサーバーの専用 SQL プール (元 SQL DW) でも使用できます。 Microsoft Entra 専用認証は、Azure Synapse ワークスペースに対して有効にすることができます。 詳細については、「Azure Synapse ワークスペースでの Microsoft Entra 専用認証」を参照してください。

Azure SQL 環境で Microsoft Entra 専用認証を有効にすると、SQL Server 管理者、ログイン、ユーザーからの接続を含め、SQL 認証は無効になります。 Microsoft Entra 認証を使用しているユーザーのみが、サーバーまたはデータベースへの接続を許可されます。

Microsoft Entra 専用認証は、Azure portal、Azure CLI、PowerShell、または REST API を使用して有効または無効にすることができます。 また、Microsoft Entra 専用認証は、サーバーの作成時に Azure Resource Manager (ARM) テンプレートを使用して構成することもできます。

Azure SQL 認証の詳細については、「認証と承認」を参照してください。

機能の説明

Microsoft Entra 専用認証を有効にすると、SQL 認証はサーバーまたはマネージド インスタンス レベルで無効になり、SQL 認証資格情報に基づく認証はすべて禁止されます。 SQL 認証ユーザーは、Azure SQL Database またはマネージド インスタンスの論理サーバー (すべてのデータベースを含む) に接続できなくなります。 SQL 認証は無効になっていますが、適切なアクセス許可を持つ Microsoft Entra アカウントを使用して、新しい SQL 認証ログインおよびユーザーを作成できます。 新しく作成された SQL 認証アカウントは、サーバーへの接続を許可されません。 Microsoft Entra 専用認証を有効にしても、既存の SQL 認証ログインおよびユーザー アカウントは削除されません。 この機能により、これらのアカウントはサーバーと、このサーバー用に作成されたデータベースに単に接続できなくなります。

Azure Policy を使用して Microsoft Entra 専用認証が有効になっているサーバーを強制的に作成することもできます。 詳細については、Microsoft Entra 専用認証のための Azure Policy を参照してください。

アクセス許可

Microsoft Entra 専用認証を有効または無効にできるのは、Azure サブスクリプションのオーナー共同作成者グローバル管理者など、高い特権を持つ Microsoft Entra 組み込みのロールのメンバーである Microsoft Entra ユーザーです。 また、SQL セキュリティ管理者ロールも、Microsoft Entra 専用認証機能を有効または無効にできます。

SQL Server 共同作成者SQL Managed Instance 共同作成者ロールには、Microsoft Entra 専用認証機能を有効または無効にするためのアクセス許可がありません。 これは、職務の分離アプローチ (Azure SQL Server を作成したり Microsoft Entra 管理者を作成したりできるユーザーは、セキュリティ機能を有効または無効にすることができない) と一致します。

必要な操作

SQL セキュリティ管理者ロールには、Microsoft Entra 専用認証機能を管理できるように、次のアクションが追加されています。

  • Microsoft.Sql/servers/azureADOnlyAuthentications/*
  • Microsoft.Sql/servers/administrators/read - Azure portal の [Microsoft Entra ID] メニューにアクセスするユーザーにのみ必要
  • Microsoft.Sql/managedInstances/azureADOnlyAuthentications/*
  • Microsoft.Sql/managedInstances/read

上記のアクションは、Microsoft Entra 専用認証を管理するためにカスタム ロールに追加することもできます。 詳細については、「Microsoft Entra ID でカスタム ロールを作成して割り当てる」を参照してください。

API を使用した Microsoft Entra 専用認証の管理

重要

Microsoft Entra のみの認証を有効にする前に、Microsoft Entra 管理者を設定する必要があります。

Azure CLI バージョン 2.14.2 以上が必要です。

name は、サーバー名またはインスタンス名のプレフィックス (myserver など) に対応し、resource-group は、サーバーが属するリソース (myresource など) に対応します。

Azure SQL データベース

詳細については、「az sql server ad-only-auth」を参照してください。

SQL Database で有効または無効にする

[有効化]

az sql server ad-only-auth enable --resource-group myresource --name myserver

Disable

az sql server ad-only-auth disable --resource-group myresource --name myserver

SQL Database で状態を確認する

az sql server ad-only-auth get --resource-group myresource --name myserver

Azure SQL Managed Instance

詳細については、「az sql mi ad-only-auth」を参照してください。

[有効化]

az sql mi ad-only-auth enable --resource-group myresource --name myserver

Disable

az sql mi ad-only-auth disable --resource-group myresource --name myserver

SQL Managed Instance で状態を確認する

az sql mi ad-only-auth get --resource-group myresource --name myserver

T-SQL を使用した Microsoft Entra 専用認証の確認

サーバーまたはマネージド インスタンスで Microsoft Entra 専用認証が有効になっているかどうかを確認するために、SERVERPROPERTYIsExternalAuthenticationOnly が追加されています。 1 は、この機能が有効になっていることを示し、0 は、この機能が無効になっていることを示します。

SELECT SERVERPROPERTY('IsExternalAuthenticationOnly') 

解説

  • SQL Server Contributorは、Microsoft Entra 管理者を設定または削除できますが、Microsoft Entra 認証のみの設定を行うことはできません。 SQL Sercurity Managerは、Microsoft Entra 管理者を設定または削除できますが、Microsoft Entra 認証のみの設定を行うことはできません。 両方のアクセス許可を含む上位の Azure RBAC ロールまたはカスタム ロールを持つアカウントだけが、Microsoft Entra 管理者を設定または削除でき、かつ [Microsoft Entra authentication only](Microsoft Entra 専用認証) を設定できます。 そのようなロールの 1 つは共同作成者ロールです。
  • Azure portal で [Microsoft Entra 専用認証] を有効または無効にすると、[SQL Server] メニューに [アクティビティ ログ] エントリが表示されます。 Activity log entry in the Azure portal
  • Azure Active Directory 認証専用の設定は、Microsoft Entra 管理者が指定されている場合に、適切なアクセス許可を持つユーザーだけが有効または無効にできます。 Microsoft Entra 管理者が設定されていない場合、Microsoft Entra 認証のみの設定は非アクティブのままとなり、有効または無効にすることはできません。 Microsoft Entra 管理者が設定されていない場合、API を使用して Microsoft Entra のみの認証を有効にしても失敗します。
  • Microsoft Entra 専用認証が有効になっている場合に Microsoft Entra 管理者を変更する操作は、適切なアクセス許可を持つユーザーに対してサポートされています。
  • Microsoft Entra 管理者を変更し、Microsoft Entra 専用認証を有効または無効にする操作は、適切なアクセス許可を持つユーザーに対して Azure portal で許可されます。 どちらの操作も、Azure portal で [保存] を 1 回使用して実行できます。 Microsoft Entra のみの認証を有効にするには、Microsoft Entra 管理者を設定する必要があります。
  • Microsoft Entra 専用認証機能が有効になっている場合の Microsoft Entra 管理者の削除はサポートされていません。 Microsoft Entra のみの認証が有効になっている場合、API を使用して Microsoft Entra 管理者を削除すると失敗します。
    • [Microsoft Entra 認証のみ] 設定が有効になっている場合、Azure portal の [管理者の削除] ボタンは非アクティブになっています。
  • Microsoft Entra 管理者を削除し、[Microsoft Entra 専用認証] 設定を無効にする操作は許可されますが、操作を完了するには適切なユーザー アクセス許可が必要です。 どちらの操作も、Azure portal で [保存] を 1 回使用して実行できます。
  • 適切なアクセス許可を持つ Microsoft Entra ユーザーは、既存の SQL ユーザーの権限を借用できます。
    • Microsoft Entra 専用認証機能が有効になっている場合でも、権限借用は SQL 認証ユーザー間で引き続き機能します。

SQL Database での Microsoft Entra 専用認証に関する制限事項

SQL Database に対して Microsoft Entra 専用認証が有効になっている場合、次の機能はサポートされていません。

  • Azure SQL Database サーバーのロールは、Microsoft Entra サーバー プリンシパル向けにサポートされていますが、Microsoft Entra ログインがグループの場合はサポートされていません。
  • エラスティック ジョブ
  • SQL データ同期
  • 変更データ キャプチャ (CDC) - Microsoft Entra ユーザーとして Azure SQL Database でデータベースを作成し、その上で変更データ キャプチャを有効にした場合、SQL ユーザーは CDC 成果物を無効にしたり、変更したりすることはできません。 ただし、別の Microsoft Entra ユーザーは、同じデータベースで CDC を有効または無効にできます。 同様に、SQL ユーザーとして Azure SQL Database を作成する場合、Microsoft Entra ユーザーとして CDC を有効または無効にすることはできません。
  • トランザクション レプリケーション - レプリケーションの参加者間の接続には SQL 認証が必要なため、Microsoft Entra 専用認証を有効にすると、以下のシナリオの SQL Database では、トランザクション レプリケーションはサポートされません。Azure SQL Managed Instance、オンプレミスの SQL Server、または Azure VM SQL Server インスタンスに加えられた変更を Azure SQL Database 内のデータベースにプッシュするためにトランザクションレプリケーションが使用される場合。
  • SQL Insights (プレビュー)
  • Microsoft Entra グループ メンバー アカウントの EXEC AS ステートメント

Managed Instance での Microsoft Entra 専用認証に関する制限事項

Managed Instance に対して Microsoft Entra 専用認証が有効になっている場合、次の機能はサポートされません。

詳しくは、「SQL Server と Azure SQL Managed Instance での T-SQL の相違点」を参照してください。

次のステップ