Azure SQL 向け Microsoft Entra 認証
適用対象:Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics
この記事では、Azure SQL データベース、Azure SQL Managed Instance、Azure VM 上の SQL Server、Azure Synapse Analytics の Synapse SQL、SQL Server for Windows and Linux と Microsoft Entra 認証認証の使用に関する詳細な概要を記載しています。
Microsoft Entra 認証を構成する場合、次の内容を確認してください。
Note
Microsoft Entra ID の、旧称は Azure Active Directory(Azure AD)です。
概要
Microsoft Entra ID は、データ資産の人間とサービスの ID を一元的に管理できるようにします。 認証のために Microsoft Entra と Azure SQL を統合することにより、ID とアクセス許可の管理を簡素化しながら、データへのすべての接続に対する詳細な条件付きアクセスとガバナンスを有効にすることができます。
Microsoft Entra 認証の使用には、次の利点があります。
- ユーザー名とパスワードのような安全性の低い認証方法に取って代わります。
- サーバー全体でユーザー ID の急増を防止するか、阻止できるようにします。
- Microsoft Entra グループは、データベースのアクセス許可管理を個々のアカウントから離れて操作グループに統合できるようにします。
- 1 か所でのパスワードのローテーションを許可します。
- Microsoft Entra 専用の認証は SQL 認証認証の完全な代替手段になります。
- Azure リソース用マネージド ID は、データベースに接続するサービスのパスワードを格納する必要性、ならびにデータベースから他の Azure リソースへ接続する必要性を解消します。
- 通話、携帯ショートメール (SMS)、PIN を使用したスマート カード、モバイル アプリ通知など、各種の簡単な確認オプションによる強力な多要素認証を含む最新のセキュリティ管理を実現します。
- Microsoft Entra ID は、OpenID Connect、OAuth2.0、Kerberos の制約付き委任など、多くの先進認証プロトコルとの統合を実現します。
- データ ソースへの接続を一元的に監視できるようにします。
- 接続を成功させるために準拠しているデバイスや認証方法を要求するなど、条件付きアクセス管理を有効にします。
- Azure Policy で認証を一元的に管理と監視します。
Note
Microsoft Entra 認証は Microsoft Entra ID から由来するアクセス トークンのみに対応しており、サードパーティのアクセス トークンには対応していません。 また、Microsoft Entra ID では、Microsoft Entra ID クエリをサード パーティのエンドポイントにリダイレクトすることもサポートされていません。 これは、すべての SQL プラットフォームと、Microsoft Entra 認証に対応するすべてのオペレーティング システムに適用されます。
構成手順
Microsoft Entra 認証を構成する一般的な手順は次のとおりです。
- Microsoft Entra テナント を作成して設定します
- Azure で論理サーバーまたはインスタンスを作成します。
- Microsoft Entra 管理者をサーバーまたはインスタンスに割り当てます。
- Microsoft Entra の ID にマップされているデータベースに SQL プリンシパルを作成します。
- Azure ID ライブラリと認証方法を使用して接続するようにクライアント アプリケーションを構成します。
- Microsoft Entra ID を使用してデータベースに接続します。
サポートされている ID および認証方法
Azure SQL は、サーバーとデータベースのログインとユーザー (プリンシパル) として次の Microsoft Entra ID の使用をサポートしています。
- Microsoft Entra ユーザー: 内部ユーザー、外部ユーザー、ゲスト、メンバーを含め、Microsoft Entra テナント内にあるすべての種類のユーザー。 Microsoft Entra ID と フェデレーションされている Active Directory ドメインのメンバーもサポートされており、シームレスなシングル サインオン用に構成できます。
- アプリケーション: Azure に存在するアプリケーションは、サービス プリンシパルまたはマネージド ID を使用して、Azure SQL に直接認証できます。 認証はパスワードレスであり、開発者が管理する認証情報が不要になるため、マネージド ID を使用することが推奨されます。
- Microsoft Entra グループは、グループ メンバーシップに基づいてユーザーとアプリケーションのアクセスを管理することにより、組織全体のアクセス管理を簡略化できます。
ユーザー ID には、次の認証方法がサポートされています。
- Microsoft Entra Integrated (Windows 認証) は、Active Directory [フェデレーション] を使用した Microsoft Entra ハイブリッド ID によってサポートされています。
- Microsoft Entra MFA は多要素認証とも呼ばれており、ユーザーの知識を超えた追加のセキュリティ チェックが必要です。
- Microsoft Entra パスワード認証は、Microsoft Entra ID に格納と管理されているユーザー認証情報を使用します。
- Microsoft Entra デフォルト認証は、アプリケーションのコンピューターのさまざまな認証情報キャッシュをスキャンし、ユーザー トークンを使用して SQL に認証を行うことができます。
サービス ID またはワークロード ID については、次の認証方法がサポートされています。
- Azure リソース用マネージド ID は、ユーザー割り当てとシステム割り当ての両方。 マネージド ID 認証はトークンベースであり、ID の使用を認証するリソースに ID が割り当てられます。 Azure ID プラットフォームはその関係を検証し、パスワードレス認証を有効にします。
- Microsoft Entra サービス プリンシパル名とアプリケーション (クライアント) シークレット。 推測して漏洩する可能性のあるパスワードに関連したリスクがあるため、この認証方法は推奨されません。
- Microsoft Entra デフォルト 認証は、アプリケーションのコンピューター上のさまざまな認証情報キャッシュをスキャンし、アプリケーション トークンを使用して SQL に認証を行うことができます。
Microsoft Entra 管理者
Microsoft Entra 認証を有効にするには、Microsoft Entra 管理者を論理サーバーまたは Managed Instance に設定する必要があります。 この管理者は、SQL サーバー管理者 (SA) と共に存在します。 Microsoft Entra 管理者は、Microsoft Entra ユーザー、グループ、サービス プリンシパル、マネージド ID を含め、Azure テナント内の任意の 1 つのセキュリティ オブジェクトに指定することができます。 Microsoft Entra 管理者はリストではなく、単一のプロパティです。常に構成できる ID は 1 つのみです。 サーバーから Microsoft Entra 管理者を削除すると、データベースでアクセス許可を持つ既存の Microsoft Entra ユーザーであっても、すべての Microsoft Entra 認証ベースの接続が無効になります。
ヒント
Microsoft Entra グループは、複数の ID がサーバーで Microsoft Entra 管理者として機能できるようにします。 管理者がグループに設定されていると、すべてのグループ メンバーは Microsoft Entra の管理者ロールを継承します。 Microsoft Entra グループ管理者は、管理者管理をサーバー データ プレーン アクションから Microsoft Entra ID とグループ所有者の管轄に移行することにより、管理性を強化します。 グループは、SQL に接続するすべての Microsoft Entra ID に使用できます。これにより、サーバーとデータベースで 1 回限りのユーザーとアクセス許可を構成でき、すべてのユーザー管理をグループに任せることができます。
Microsoft Entra 管理者は特別な役割を果たします。他の Microsoft Entra ログイン (SQL Database でプレビュー段階) と集合的にプリンシパルと呼ばれるユーザーを作成できる最初のアカウントです。 管理者は、サーバーの master
データベースの包含データベース ユーザーです。 管理者アカウントは、すべてのユーザー データベースの db_owner ロールのメンバーであり、dbo ユーザーとして各ユーザー データベースに入ります。 管理者アカウントの詳細については、「データベースとログインの管理」を参照してください。
Microsoft Entra プリンシパル
Note
Microsoft Entra サーバー プリンシパル (ログイン) は、現在、Azure SQL データベースおよび Azure Synapse Analytics でパブリック プレビュー段階です。 Microsoft Entra ログインは、Azure SQL Managed Instance と SQL Server 2022 用に一般提供されています。
Microsoft Entra ID は、次の 3 つの方法で Azure SQL のプリンシパルとして作成できます。
- サーバー プリンシパルまたは ログイン (Azure SQL データベースのプレビュー段階) として
- ログイン ベースのユーザー (データベース プリンシパルの種類) として
- 包含データベース ユーザーとして
重要
Azure SQL の Microsoft Entra 認証は、Azure RBAC と統合しません。 Microsoft Entra ID を使用して Azure SQL 接続とクエリ実行を行うには、アクセスする必要があるデータベースに Microsoft Entra プリンシパルとしてその ID を作成する必要があります。 SQL Server Contributor
と SQL DB Contributor
の役割は、データベース接続アクセスではなく、管理関連の展開操作をセキュリティで保護するために使用されます。
ログイン (サーバー プリンシパル)
Microsoft Entra ID のサーバー プリンシパル (ログイン) は Azure SQL Managed Instance、SQL Server 2022、Azure VM 上の SQL Server で一般提供されています。 Microsoft Entra ログインは、Azure SQL Database 用にプレビュー段階です。
次の T-SQL は、Microsoft Entra ログインを作成する方法について示しています。
CREATE LOGIN [MSEntraUser] FROM EXTERNAL PROVIDER
Microsoft Entra ログインには、sys.server_principals に次のプロパティ値があります。
プロパティ | 値 |
---|---|
SID (セキュリティ識別子) | Microsoft Entra ID のオブジェクト ID のバイナリ表現 |
type | E = Microsoft Entra ID からの外部ログインまたはアプリケーション X = Microsoft Entra ID からの外部グループ |
type_desc | Microsoft Entra ログインまたはアプリの EXTERNAL_LOGIN Microsoft Entra グループの EXTERNAL_GROUP |
ログイン ベースのユーザー
ログイン ベースのユーザーは、Microsoft Entra ログインに割り当てられたサーバー レベルのロールとアクセス許可を継承します。 Microsoft Entra ログイン ベースのユーザーは、Azure SQL データベース用にプレビュー段階です。
次の T-SQL は、Microsoft Entra ID のログイン ベースのユーザーを作成する方法について示しています。
CREATE USER [MSEntraUser] FROM LOGIN [MSEntraUser]
次のテーブルでは、sys.database_principals の Microsoft Entra ログイン ベースのユーザー プロパティ値について詳しく説明します。
プロパティ | 値 |
---|---|
SID (セキュリティ識別子) | Microsoft Entra ID のオブジェクト ID のバイナリ表現に加え、「AADE」 |
type | E = Microsoft Entra ID からの外部ログインまたはアプリケーション X = Microsoft Entra ID からの外部グループ |
type_desc | Microsoft Entra ログインまたはアプリの EXTERNAL_LOGIN Microsoft Entra グループの EXTERNAL_GROUP |
包含データベース ユーザー
包含データベース ユーザーはデータベースと使用してポータブルです。 サーバーまたはインスタンスで定義されている ID への接続がないため、中断されることなくデータベースと共に 1 つのサーバーまたはインスタンスから別のサーバーまたはインスタンスへ簡単に移動できます。
次の T-SQL は、Microsoft Entra ID の包含データベース ユーザーを作成する方法を示しています。
CREATE USER [MSEntraUser] FROM EXTERNAL PROVIDER
Microsoft Entra データベース ベースのユーザーは、SID の構築方法に使用されるプロパティ値を除き、sys.database_principals のログイン ベースのユーザーと同じプロパティ値を持ちます。
プロパティ | 値 |
---|---|
SID (セキュリティ識別子) | Microsoft Entra ID のオブジェクト ID のバイナリ表現 |
type | E = Microsoft Entra ID からの外部ログインまたはアプリケーション X = Microsoft Entra ID からの外部グループ |
type_desc | Microsoft Entra ログインまたはアプリの EXTERNAL_LOGIN Microsoft Entra グループの EXTERNAL_GROUP |
SID が基になっている元の Microsoft Entra GUID を取得するには、次の T-SQL 変換を使用します。
SELECT CAST(sid AS UNIQUEIDENTIFIER) AS EntraID FROM sys.database_principals
注意事項
サーバーまたはインスタンス レベルで、Microsoft Entra ログインと同じ名前の包含 Microsoft Entra データベース ユーザーを意図せずに作成する可能性があります。 プリンシパルは相互に接続されていないため、データベース ユーザーはサーバー ログインからアクセス許可を継承せず、接続要求で ID が結合されて未定義の動作が発生する可能性があります。
次の T-SQL クエリを使用し、データベース ユーザーがログイン ベースのユーザーか包含データベース ユーザーかを特定します。
SELECT CASE
WHEN CONVERT(VARCHAR(100), sid, 2) LIKE '%AADE' AND len(sid) = 18 THEN 'login-based user'
ELSE 'contained database user'
END AS user_type,
*
FROM sys.database_principals WHERE TYPE = 'E' OR TYPE = 'X'
次の T-SQL クエリを使用し、データベース内のすべての Microsoft Entra プリンシパルを表示します。
SELECT
name,
CAST(sid AS UNIQUEIDENTIFIER) AS EntraID,
CASE WHEN TYPE = 'E' THEN 'App/User' ELSE 'Group' AS user_type,
sid
FROM sys.database_principals WHERE TYPE = 'E' OR TYPE = 'X'
Microsoft Entra 専用認証
Microsoft Entra 専用の認証を有効にすると、他のすべての認証方法は無効になり、サーバー、インスタンス、データベースへの接続には使用できません。これには、SA と Azure SQL 用の他のすべての SQL 認証ベース アカウントに加え、Azure SQL Managed Instance のWindows 認証が含まれます。
開始するには、「Microsoft Entra 専用の認証の構成」を確認してください。
多要素認証 (MFA)
Microsoft Entra の多要素認証は、Microsoft のクラウドベースの ID およびアクセス管理サービスによって提供されるセキュリティ機能です。 多要素認証を使用すると、1 つのパスワードからさらに進んだ追加の検証手順を提供するようにユーザーに要求することで、ユーザー サインインのセキュリティが強化されます。
Microsoft Entra 多要素認証は、シンプルなサインイン プロセスを好むユーザーの要求に応えながら、データとアプリケーションへのアクセスを保護するのに役立ちます。 MFA では、2 つ以上の認証要素を提供するようにユーザーに要求することで、ユーザーのサインインに追加のセキュリティ レイヤーが追加されます。 これらの要素には、通常、ユーザーが知っているもの (パスワード)、ユーザーが所有しているもの (スマートフォンやハードウェア トークン)、ユーザー自身のもの (生体認証データ) などがあります。 MFA は、複数の要素を組み合わせることで、認可されていないアクセスの可能性を大幅に減らします。
多要素認証は、Azure SQL Database、Azure SQL Managed Instance、Azure Synapse Analytics、および SQL Server 2022 (16.x) 以降のバージョンでサポートされている認証方法です。
開始するには、「Microsoft Entra 多要素認証の構成」を確認してください。
Microsoft Entra の B2B サポート
すべての SQL 製品の Microsoft Entra 多要素認証は、Microsoft Entra B2B コラボレーションもサポートしています。これにより、企業はゲスト ユーザーを招待して組織との共同作業を行うことができます。 ゲスト ユーザーは、個々のユーザーまたは Microsoft Entra グループのメンバーとしてデータベースに接続できます。 詳細については、「CREATE USER」を参照してください。
Active Directory への Microsoft Entra フェデレーションの信頼アーキテクチャ
Microsoft Entra ID は、Active Directory のような使い慣れた ID とアクセス管理ソリューションとも統合します。 オンプレミス AD をハイブリッド参加させると、Microsoft Entra ID を介してフェデレーションされた Windows ID がシングル サインオン認証情報を使用して Azure SQL に接続できるようになります。
フェデレーションの場合、Microsoft Entra ID ではパススルー認証とパスワード ハッシュ認証という 2 つの安全な認証方法が用意されています。 オンプレミスの Active Directory を Microsoft Entra ID にフェデレーションすることを検討している場合、「Microsoft Entra ハイブリッド ID ソリューションに適した認証方法の選択」を確認してください。
Microsoft Entra ハイブリッド ID のセットアップと同期の詳細については、次の記事を参照してください。
- Microsoft Entra の接続同期を使用してパスワード ハッシュ同期を実装
- Microsoft Entra パススルー認証
- Azure で Active Directory フェデレーション サービス (AD FS) の展開と Microsoft Entra の接続とフェデレーション
この図は、ADFS インフラストラクチャ (または Windows 認証情報のユーザーとパスワード) を使用したフェデレーション認証のサンプルを示しています。 矢印は通信経路を示します。
次の図は、クライアントがトークンの送信によってデータベースへの接続を許可される、フェデレーション、信頼、およびホスティングの関係を示しています。 Microsoft Entra ID はトークンを認証し、データベースはそれを信頼して発行者とその他の詳細を確認します。 顧客 1 は、ネイティブ ユーザーの Microsoft Entra ID またはフェデレーション ユーザーの Microsoft Entra ID を表します。 顧客 2 は、インポートされたユーザーなど、取りうるソリューションを表します。この例では、ADFS が Microsoft Entra ID と同期されているフェデレーション Microsoft Entra ID から取得しています。 重要なのは、Microsoft Entra 認証を使用してデータベースにアクセスするには、ホストしているサブスクリプションを Microsoft Entra ID に関連付ける必要があることを理解することです。 同じサブスクリプションを使用し、Azure SQL または Azure Synapse リソースを作成する必要があります。
アクセス許可
Microsoft Entra 管理者に割り当てられたアクセス許可は、Azure SQL でプリンシパルに割り当てられたアクセス許可とは異なります。 いくつかのシナリオでは、Azure SQL は Microsoft Entra 認証を使用するための Microsoft Graph アクセス許可も必要です。
管理者のアクセス許可
Microsoft Entra 管理者には、作成時に次のアクセス許可と役割が割り当てられます。
- サーバーまたはインスタンス上の各データベースの db_owner
Azure SQL のアクセス許可
プリンシパルには、ユーザーを作成するためにデータベースの ALTER ANY USER
権限が必要です。
既定では、ALTER ANY USER
は、サーバー管理者アカウント、CONTROL ON DATABASE
を持つデータベース ユーザー、db_owner
データベース ロールのメンバーに与えられます。
Azure SQL で Microsoft Entra プリンシパルを作成するには、要求元 ID はプリンシパルの詳細について Microsoft Graph にクエリを実行する必要があります。 初期展開では、MS Graph に対してクエリを実行できる可能性がある ID は Microsoft Entra 管理者のみです。そのため、管理者は他の Microsoft Entra プリンシパルを作成する最初の ID である必要があります。 その後、他のプリンシパルに ALTER ANY USER
を割り当て、他の Microsoft Entra プリンシパルも作成できるようにします。
Microsoft Entra 認証を使用したゼロタッチ展開
Microsoft Entra 管理者は、データベースに接続して他の Microsoft Entra ユーザーを作成する最初の ID である必要があるため、展開インフラストラクチャの ID を管理者として追加すると便利です。 他の Microsoft Entra プリンシパルを作成してアクセス許可を割り当てるなど、展開は初期セットアップを行うことができます。 展開は PowerShell ARM テンプレートなどのツールを使用し、自動化されたプリンシパル作成のスクリプト化を行えます。 現在、Azure SQL は、ユーザーの作成とアクセス許可の管理を構成するためのネイティブ API をサポートしていません。これらの操作は、SQL インスタンスへの直接接続でのみ実行できます。
Microsoft Graph に対するアクセス許可
Microsoft Entra プリンシパルとその他のシナリオをいくつか作成するには、Azure SQL は Microsoft Graph の呼び出しを行って、Microsoft Entra ID の ID に関する情報を取得し、存在を検証する必要があります。 これを行うため、SQL プロセスは顧客テナント内の MS Graph 読み取りアクセス許可の所持、取得、アクセスする必要があります。これはいくつかの方法で実現できます。
- コマンドを実行する SQL プリンシパルがユーザー ID の場合、MS グラフのクエリに SQL インスタンスのアクセス許可は必要ありません。
- コマンドを実行する SQL プリンシパルがサービス プリンシパルやマネージド ID などのサービス ID である場合、Azure SQL インスタンスは MS Graph にクエリを実行するための独自のアクセス許可が必要です。
- アプリケーションのアクセス許可は、論理サーバーまたは Managed Instance のプライマリ サーバー ID (マネージド ID) に割り当てることができます。 SQL プロセスは、プライマリ サーバー ID を使用し、MS Graph などのテナントの他の Azure サービスに認証を行うことができます。 次のテーブルは、コマンドを正常に実行するために必要なさまざまなシナリオと MS Graph のアクセス許可について説明します。
シナリオ | 最小限のアクセス許可 |
---|---|
Microsoft Entra サービス プリンシパルまたはマネージド ID の CREATE USER または CREATE LOGIN | Application.Read.All |
Microsoft Entra ユーザーの CREATE USER または CREATE LOGIN | User.Read.All |
Microsoft Entra グループの CREATE USER または CREATE LOGIN | ゴルーグメンバー・全部を読む |
Azure SQL Managed Instance を備えた Microsoft Entra 認証 | Managed Instance ID に割り当てられたディレクトリ閲覧者の役割 |
ヒント
ディレクトリ閲覧者の役割は、Azure SQL が必要なすべてのアクセス許可をカバーする ID に割り当てることができる最小スコープの役割です。 ロールを使用すると、Microsoft Entra セキュリティ グループに割り当てられることができ、個々のエンティティから概念グループに管理を離す利点があります。
ツールのサポート
多要素認証を含め、SQL Server Management Studio (SSMS) は多数の Microsoft Entra 認証接続オプションをサポートしています。
SQL Server Data Tools (SSDT) for Visual Studio は 2015 年以降、Microsoft Entra ID を使用したパスワード、統合、対話型認証をサポートしています。 詳細については、「Microsoft SQL Server Data Tools (SSDT) での Microsoft Entra ID サポート材」を参照してください。
- 現在、Microsoft Entra ユーザーは SSDT オブジェクト エクスプローラーには表示されません。 回避策として、ユーザーを sys.database_principals で表示してください。
最小バージョン
Azure SQL で Microsoft Entra 認証を使用するには、これらのツールを使用するときに次の最小バージョンが必要です。
- SQL Server Management Studio (SSMS) 18.6 以降。
- Visual Studio 2015 用 SQL Server Data Tools、バージョン 14.0.60311.1 (2016 年 4 月) 以降
- SqlServer 用 .NET Framework データ プロバイダーの最小バージョンは .NET Framework 4.6
- バージョン 15.0.1 以降では、sqlcmd ユーティリティと bcp ユーティリティは Multi-Factor Authentication を使用した Active Directory 対話型認証をサポートしています。
- Microsoft JDBC Driver 6.0 for SQL Server は、Microsoft Entra 認証をサポートしています。 「 接続プロパティの設定」もご覧ください。
Microsoft Entra を使用して Azure SQL リソースに接続する
Azure SQL リソースに Microsoft Entra 認証が構成されたら、SQL Server Management Studio、SQL Server Data Tools、クライアント アプリケーションを使用して接続できます。
制限事項
Azure SQL で Microsoft Entra 認証を使用するとき、次の制限事項を考慮してください。
2048 以上の Microsoft Entra セキュリティ グループのメンバーである Microsoft Entra ユーザーとサービス プリンシパル (Microsoft Entra アプリケーション) は、サポートされなくてデータベースにログインできません。
Microsoft Entra プリンシパルによって実行された場合、次のシステム機能はサポートされなくて NULL 値を返します。
SUSER_ID()
SUSER_NAME(<ID>)
SUSER_SNAME(<SID>)
SUSER_ID(<name>)
SUSER_SID(<name>)
接続のタイムアウトを 30 秒に設定することをお勧めします。
Azure SQL Database と Azure Synapse Analytics
Azure SQL Database と Azure Synapse Analytics で Microsoft Entra 認証を使用すると、次の制限事項を考慮してください。
db_owner
データベース ロールのメンバーであるグループに含まれている Microsoft Entra ユーザーは、Azure SQL データベースと Azure Synapse に対して CREATE DATABASE SCOPED CREDENTIAL の構文の使用を試みたら、次のエラーが表示される場合があります。SQL Error [2760] [S0001]: The specified schema name 'user@mydomain.com' either doesn't exist or you do not have permission to use it.
CREATE DATABASE SCOPED CREDENTIAL の問題を軽減するには、
db_owner
の役割に Microsoft Entra ユーザーの ID を直接追加します。Azure SQL データベースと Azure Synapse Analytics は、Microsoft Entra グループ メンバーシップの一部としてログインしているユーザーに暗黙的なユーザーを作成しません。 このため、Microsoft Entra グループがそれらのアクセス許可を持つ役割にメンバーとして追加されている場合でも、所有権の割り当てが必要なさまざまな操作が失敗する可能性があります。
たとえば、db_ddladmin の役割を持つ Microsoft Entra グループを介しデータベースにログインしたユーザーは、スキーマに明示的に定義せずに (テーブル、ビュー、種類など)、CREATE SCHEMA、ALTER SCHEMA、その他のオブジェクト作成ステートメントを実行することができません。 これを解決するには、そのユーザーのために Microsoft Entra ユーザーを作成するか、Microsoft Entra グループを変更して dbo などの DEFAULT_SCHEMA を割り当てる必要があります。
geo レプリケーションとフェールオーバー グループを使用すると、Microsoft Entra 管理者をプライマリ サーバー用とセカンダリ サーバー用の両方に構成する必要があります。 サーバーに Microsoft Entra 管理者がいない場合、Microsoft Entra のログインとユーザーは
Cannot connect
エラー を受信します。サーバーの Microsoft Entra 管理者を削除すると、サーバーに Microsoft Entra 認証の接続ができなくなります。 必要に応じて、SQL データベース管理者は不要な Microsoft Entra ユーザーを手動で削除できます。
Azure SQL Managed Instance
Azure SQL Managed Instance で Microsoft Entra 認証認証を使用すると、次の制限事項を配慮してください。
Microsoft Entra のサーバー プリンシパル (ログイン) とユーザーは、SQL Managed Instance でサポートされています。
Microsoft Entra グループのログインをデータベースの所有者として設定することは、SQL Managed Instance でサポートされていません。
- この拡張機能により、グループが
dbcreator
サーバー ロールの一部として追加されたときに、このグループのユーザーが SQL Managed Instance に接続して新しいデータベースを作成できますが、データベースにアクセスすることはできません。 これは、新しいデータベース所有者が SA であり、Microsoft Entra ユーザーではないためです。 この問題は、dbcreator
サーバー ロールに個々のユーザーが追加された場合は発生しません。
- この拡張機能により、グループが
SQL Managed Instance 用の Microsoft Entra サーバー プリンシパル (ログイン) は、
sysadmin
の役割に追加できる複数のログイン を作成する可能性を実現します。SQL エージェントの管理とジョブの実行は、Microsoft Entra ログインでサポートされています。
データベースのバックアップと復元操作は、Microsoft Entra サーバー プリンシパル (ログイン) で実行できます。
Microsoft Entra サーバー プリンシパル (ログイン) と認証イベントに関連するすべてのステートメントの監査がサポートされています。
sysadmin サーバー ロールのメンバーである Microsoft Entra サーバー プリンシパル (ログイン) の専用管理者接続がサポートされています。
- sqlcmd ユーティリティおよび SQL Server Management Studio 経由でサポートされています。
Microsoft Entra サーバー プリンシパル (ログイン) によるログオン イベントでは、ログオン トリガーがサポートされています。
Service Broker とデータベース メールは、Microsoft Entra サーバー プリンシパル (ログイン) を使用して設定できます。
フェールオーバー グループを使用すると、Microsoft Entra 管理者はプライマリとセカンダリのインスタンスの両方に構成する必要があります。 インスタンスに Microsoft Entra 管理者がいない場合、Microsoft Entra のログインとユーザーは
Cannot connect
エラーを受信します。PolyBase は Microsoft Entra 認証を使用して認証できません。
インスタンスの Microsoft Entra 管理者を削除すると、インスタンスに Microsoft Entra 認証の接続ができなくなります。 必要に応じて、SQL Managed Instance 管理者は不要な Microsoft Entra ユーザーを手動で削除できます。
関連するコンテンツ
- Azure SQL による Microsoft Entra 認証の構成と管理
- チュートリアル: Microsoft Entra ログインを使用してセキュリティ保護 - Azure SQL Managed Instance
- SQL Database、SQL Managed Instance、Azure Synapse Analytics へのデータベース アクセスを承認する
- データベース プリンシパル
- データベース ロール
- SQL Managed Instance の Microsoft Entra サーバー プリンシパル (ログイン) の CREATE LOGIN 構文の作成
- Azure SQL Database と Azure Synapse の IP ファイアウォール規則