適用対象:Azure SQL データベース
Azure SQL Managed Instance
この記事では、Azure SQL Database、Azure SQL Managed Instance、SQL Server on Azure VMs、SQL Server for Windows and LinuxでのMicrosoft Entra認証の活用について詳しく解説します。
Microsoft Entra 認証を構成する場合、次の内容を確認してください。
注記
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 で認証を一元的に管理と監視します。
注記
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ログインとユーザーを作成できる最初のアカウントであり、総称してプリンシパルと呼ばれます。 管理者は、サーバーの master データベースの包含データベース ユーザーです。 管理者アカウントは、すべてのユーザー データベースの db_owner ロールのメンバーであり、dbo ユーザーとして各ユーザー データベースに入ります。 管理者アカウントの詳細については、「データベースとログインの管理」を参照してください。
Microsoft Entra プリンシパル
注記
Microsoft Entraサーバープリンシパル(ログイン)は、Azure SQL Database、Azure SQL Managed Instance、SQL Server 2022以降のバージョンで一般提供されています。
Microsoft Entra ID は、次の 3 つの方法で 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 VM のAzure SQL Database、Azure SQL Managed Instance、SQL Server 2022 以降、およびSQL Serverで一般提供されています。
次の T-SQL は、Microsoft Entra ログインを作成する方法について示しています。
CREATE LOGIN [MSEntraUser] FROM EXTERNAL PROVIDER
Microsoft Entra ログインには、sys.server_principals に次のプロパティ値があります。
| プロパティ | 値 |
|---|---|
SID (セキュリティ識別子) |
Microsoft Entra ID のオブジェクト ID のバイナリ表現 |
| 型 | E = Microsoft Entra ID からの外部ログインまたはアプリケーション X = Microsoft Entra ID からの外部グループ |
| type_desc | Microsoft Entra のログインまたはアプリ用 EXTERNAL_LOGIN Microsoft Entra グループの EXTERNAL_GROUP |
ログイン ベースのユーザー
ログイン ベースのユーザーは、Microsoft Entra ログインに割り当てられたサーバー レベルのロールとアクセス許可を継承します。
次の T-SQL は、Microsoft Entra ID のログイン ベースのユーザーを作成する方法について示しています。
CREATE USER [MSEntraUser] FROM LOGIN [MSEntraUser]
次のテーブルでは、sys.database_principals の Microsoft Entra ログイン ベースのユーザー プロパティ値について詳しく説明します。
| プロパティ | 値 |
|---|---|
SID (セキュリティ識別子) |
Microsoft Entra ID のオブジェクト ID のバイナリ表現に「AADE」を加えたもの |
| 型 | 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のログイン ベースのユーザーと同じプロパティ値を持ちます。
| プロパティ | 値 |
|---|---|
SID (セキュリティ識別子) |
Microsoft Entra ID のオブジェクト ID のバイナリ表現 |
| 型 | 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、およびSQL Server 2022(16.x)以降のバージョンでサポートされている認証方法です。
開始するには、「Microsoft Entra 多要素認証の構成」を確認してください。
Microsoft Entra の B2B サポート
すべての SQL 製品の Microsoft Entra 多要素認証は、Microsoft Entra B2B コラボレーションもサポートしています。これにより、企業はゲスト ユーザーを招待して組織との共同作業を行うことができます。 ゲスト ユーザーは、個々のユーザーまたは Microsoft Entra グループのメンバーとしてデータベースに接続できます。 詳細については、「 Microsoft Entra ゲスト ユーザーのデータベース ユーザーの作成」を参照してください。
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 は、インポートされたユーザーを含む、潜在的なソリューションを表しています。この例では、フェデレーションされた Microsoft Entra ID から来たユーザーを含んでおり、ADFS は Microsoft Entra ID と同期されています。 重要なのは、Microsoft Entra 認証を使用してデータベースにアクセスするには、ホストしているサブスクリプションを Microsoft Entra ID に関連付ける必要があることを理解することです。 Azure SQLリソースを作成するには同じサブスクリプションが必要です。
アクセス許可
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 にクエリを実行する必要があります。 初期展開時には、Microsoft Graphに問い合わせ可能な唯一のアイデンティティはMicrosoft Entra管理者のみであり、したがって管理者が他のMicrosoft Entraプリンシパルを作成する最初のアイデンティティでなければなりません。 その後、他のプリンシパルに 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プロセスが顧客テナント内でMicrosoft Graphの読み取り権限へのアクセス権を持つか、取得する必要があります。 このアクセス権は、いくつかの方法で取得できます。
- コマンドを実行するSQLプリンシパルがユーザーIDであれば、Microsoft GraphをクエリするためにSQLインスタンスに追加の権限を与える必要はありません。
- コマンドを実行するSQLプリンシパルがサービスプリンシパルやマネージドアイデンティティなどのサービスアイデンティティである場合、Azure SQLインスタンスはMicrosoft Graphをクエリするために独自の権限を必要とします。
- 論理サーバーまたは管理インスタンスのプライマリサーバーアイデンティティ(マネージドアイデンティティ)にアプリケーションの権限を割り当てます。 SQLプロセスはプライマリ サーバー ID を使って、Microsoft Graph など、テナント内の他の Azure サービスに対して認証を行うことができます。 以下の表は、コマンドが成功裏に実行されるために必要な様々なシナリオとMicrosoft Graphの権限について説明します。
| シナリオ | 最小限のアクセス許可 |
|---|---|
CREATE USER または、Microsoft Entra のサービス プリンシパルまたはマネージド ID の場合は CREATE LOGIN |
Application.Read.All |
CREATE USER または Microsoft Entra ユーザーの場合は CREATE LOGIN |
User.Read.All |
CREATE USER、または Microsoft Entra グループの場合は CREATE LOGIN |
GroupMember.Read.All |
| 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 SQL DatabaseでMicrosoft Entra認証を使用する場合、以下の制限を考慮してください。
Microsoft Entraユーザーが
db_ownerデータベースロールのメンバーであるグループに属している場合、Azure SQL Databaseに対して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の問題を解決するには、Microsoft Entra ユーザーの識別情報をdb_ownerロールに直接追加してください。Azure SQL Databaseは、Microsoft Entraグループメンバーシップの一員としてサインインしたユーザーに対して暗黙のユーザーを作成しません。 この制限のため、所有権を割り当てる必要がある様々な操作は、たとえMicrosoft Entraグループをその権限を持つロールにメンバーとして追加しても失敗することがあります。
たとえば、 db_ddladmin ロールを持つ Microsoft Entra グループを介してデータベースにサインインしたユーザーは、スキーマ (テーブル、ビュー、型など) を明示的に定義しないと、
CREATE SCHEMA、ALTER SCHEMA、およびその他のオブジェクト作成ステートメントを実行できません。 これを解決するには、そのユーザーに対して Microsoft Entra ユーザーを作成するか、DEFAULT_SCHEMAなどのを割り当てるために Microsoft Entra グループを変更する必要があります。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 ユーザーを手動で削除できます。
Microsoft Entra authentication for Azure Synapse Analytics
Azure Synapse Analyticsについては、Microsoft Entra認証を参照してください。
関連するコンテンツ
- Azure SQL による Microsoft Entra 認証の構成と管理
- チュートリアル: Microsoft Entra ログインを使用してセキュリティ保護 - Azure SQL Managed Instance
- SQL DatabaseおよびSQL Managed Instanceへのデータベースアクセスを許可する
- データベース プリンシパル(Database Principals)
- データベース ロール
- SQL Managed Instance の Microsoft Entra サーバー プリンシパル (ログイン) の CREATE LOGIN 構文の作成
- Azure SQL Database の IP ファイアウォール規則