適用対象:Azure SQL データベース
Azure SQL Managed Instance
Microsoft Entra 専用認証は、サービスで Microsoft Entra 認証のみをサポートできるようにする Azure SQL 内の機能であり、Azure SQL Database および Azure SQL Managed Instance でサポートされています。
注
Microsoft Entra ID の、旧称は Azure Active Directory(Azure AD)です。
Microsoft Entraのみの認証を有効にすると、Azure SQL環境内のSQL認証(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のみの認証を有効にしたサーバー作成を強制することもできます。 詳細については、「Azure SQL を使用した Microsoft Entra 専用の認証の Azure Policy」を参照してください。
また、サービスはプロビジョニング中にサーバー管理者名を生成し、SQL認証が無効になっていてもAzureポータルに表示されることがあります。 詳細は「 システム生成サーバー管理者アカウント」をご覧ください。
アクセス許可
Microsoft Entra のみの認証は、高い特権を持 つ Microsoft Entra 組み込みロール ( Azure サブスクリプション所有者 や 共同作成者など) のメンバーである Microsoft Entra ユーザーが有効または無効にすることができます。 また、SQL セキュリティ管理者ロールも、Microsoft Entra 専用認証機能を有効または無効にできます。
SQL Server ContributorおよびSQL Managed Instance Contributorの役割は、Microsoft Entraのみの認証機能を有効または無効する権限を持ちません。 この制限は、Azure SQLサーバーを作成したり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 Database
詳細については、「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 専用の認証の確認
IsExternalAuthenticationOnlyでSERVERPROPERTY関数を使って、サーバーや管理インスタンスでMicrosoft Entraのみ認証が有効かどうかをチェックしてください。
1は機能が有効であることを示し、0は無効であることを示します。
SELECT SERVERPROPERTY('IsExternalAuthenticationOnly')
システム生成サーバー管理者アカウント
Azure SQL Databaseの論理サーバーやMicrosoft Entraのみ認証を有効にしたAzure SQL Managed Instanceを作成すると、サービスはサーバー管理者名とランダムなパスワードを生成します。 生成された名前はCloudSAで始まり、その後ランダムな文字列が続き、Azureポータルにサーバー管理者ログインとして表示されます。
このアカウントはプロビジョニングを満たすために存在しており、接続手段を提供するためではありません。 いずれのリソースの種類をプロビジョニングする場合でも、引き続き SQL 認証管理者の設定値が必要です。 Microsoft Entra専用の認証は、プロビジョニング後にどの認証方法が接続を確立できるかを変更しますが、そのプロビジョニング要件は削除されず、サービスがそれを満たすために必要な値を生成します。
生成された名前が見えるからといってSQL認証が有効になっているわけではありません。 Microsoft Entraのみの認証が有効になっている場合:
- システム生成の管理者を含め、どのSQL認証アカウントも接続できません。
- 生成されたアカウントは、共有アカウントでも、フォールバックでも、緊急時アクセス経路でもありません。
- アプリケーションや管理者は接続するためにMicrosoft Entra認証を使用する必要があります。
- Microsoft Entra管理者およびその他の認可されたMicrosoft Entraプリンシパルは引き続きサポートされた管理パスとして利用されています。
- サービスはプロビジョニング後に制御プレーンからパスワードを永久に削除します。
解説
- 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] メニューに [アクティビティ ログ] エントリが表示されます。
- 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 内のエラスティック ジョブ
- SQL データ同期
- 変更データキャプチャ(CDC) - Microsoft EntraユーザーとしてAzure SQL Databaseにデータベースを作成し、変更データキャプチャを有効にすると、SQLユーザーはCDCの成果物を無効化したり変更したりすることはできません。 しかし、別のMicrosoft Entraユーザーは同じデータベース上でCDCを有効または無効にすることができます。 同様に、SQLユーザーとしてAzure SQL Databaseを作成する場合、Microsoft EntraユーザーとしてCDCを有効化・無効化しても機能しません
- Azure SQL Managed Instance を使用したトランザクション レプリケーション - レプリケーション参加者間の接続には SQL 認証が必要であるため、Microsoft Entra のみの認証が有効になっている場合、トランザクション レプリケーションを使用して Azure SQL Managed Instance、オンプレミス SQL Server、または Azure VM SQL Server インスタンスで行われた変更を Azure SQL Database のデータベースにプッシュするシナリオでは、トランザクション レプリケーションはサポートされません。
- SQL Insights (プレビュー)
- Microsoft Entra グループ メンバー アカウントの
EXEC ASステートメント
Azure SQL Managed Instance の Microsoft Entra 専用の認証における制限事項
SQL Managed Instance に対して Microsoft Entra 専用の認証が有効になっているとき、次の機能はサポートされません。
- Azure SQL Managed Instance でのトランザクション レプリケーション
- Azure SQL Managed Instance で SQL Agent ジョブを使用して管理タスクの自動化は、Microsoft Entra 専用の認証をサポートします。 ただし、マネージド インスタンスにアクセスできる Microsoft Entra グループのメンバーである Microsoft Entra ユーザーは、SQL エージェント ジョブを所有できません。
- SQL Insights (プレビュー)
- Microsoft Entra グループ メンバー アカウントの
EXEC ASステートメント
詳しくは、「SQL Server と Azure SQL Managed Instance での T-SQL の相違点」を参照してください。
Microsoft Entra-only authentication with Azure Synapse Analytics
Azure Synapse Analyticsの専用SQLプールについては、Microsoft Entra 専用認証を参照してください。