トレーニング
認定資格
Microsoft Certified: Identity and Access Administrator Associate - Certifications
ID ソリューションの現代化、ハイブリッド ソリューションの実装、ID ガバナンスの実装を行う Microsoft Entra ID の機能を実証します。
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
適用対象: Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
この記事では、Azure SQL データベース、Azure SQL Managed Instance、Azure Synapse Analytics と一緒に 認証用 Microsoft Entra ID を使用する方法について説明します。
注意
Microsoft Entra ID の、旧称は Azure Active Directory(Azure AD)です。
または、Azure Virtual Machines の SQL Server に Microsoft Entra 認証を構成することもできます。
Azure SQL リソースと一緒に Microsoft Entra 認証を使用するには、次の前提条件が必要です。
Azure SQL リソースに Microsoft Entra 認証を構成する前に、Microsoft Entra テナントを作成してユーザーとグループを設定する必要があります。 Microsoft Entra テナントは、Azure 内で完全に管理することも、オンプレミスの Active Directory Domain Service のフェデレーションに使用することもできます。
詳細については、以下を参照してください:
リソースで Microsoft Entra 認証を使用するには、Microsoft Entra 管理者が設定されている必要があります。 概念的には、手順はAzure SQL データベース、Azure Synapse Analytics、Azure SQL Managed Instance と同じである一方、このセクションでは、製品ごとに行うさまざまな API とポータル エクスペリエンスについて詳しく説明します。
Microsoft Entra 管理者は、Azure SQL リソースが作成された時に構成することもできます。 Microsoft Entra 管理者が既に構成されている場合、このセクションをスキップしてください。
Microsoft Entra 管理者を設定すると、Azure SQL データベースと Azure Synapse Analytics の論理サーバーに Microsoft Entra 認証を有効します。 Azure Portal、PowerShell、Azure CLI、REST API を使用してサーバーから Microsoft Entra 管理者を設定できます。
Azure Portal で論理サーバー名を確認できます。
Azure Portal で論理サーバーの Microsoft Entra 管理者を設定するには、次の手順に従います。
Azure Portal の [ディレクトリとサブスクリプション] ウィンドウで、Azure SQL リソースを含むディレクトリを現在のディレクトリとして選択します。
SQL サーバーを検索したら、データベース リソースの論理サーバーを選択し、[SQL Server] ウィンドウを開きます。
論理サーバーの [SQL Server] ウィンドウで [設定] で [Microsoft Entra ID] を選択し、[Microsoft Entra ID] ペインを開きます。
[Microsoft Entra ID] ウィンドウで、[管理者の設定] を選択して [Microsoft Entra ID] ウィンドウを開きます。
[Microsoft Entra ID] ウィンドウでは、現在のディレクトリのすべてのユーザー、グループ、アプリケーションが表示され、名前、エイリアス、ID で検索できます。 Microsoft Entra 管理者の目的の ID を見つけて選択したら、[選択] をクリックしてウィンドウを閉じます。
論理サーバーの Microsoft Entra ID ページの上部にある [保存] を選択します。
Microsoft Entra ユーザーとグループの管理者名の横に [オブジェクト ID] が表示されます。 アプリケーション(サービスプリンシパル)の場合は、アプリケーションIDが表示されます。
管理者を変更する処理には数分かかる場合があります。 [Microsoft Entra 管理者] フィールドに新しい管理者が表示されます。
管理者を削除するには、[Microsoft Entra ID] ページの上部にある [管理者の削除] を選択したら、[保存] を選択します。 Microsoft Entra 管理者を削除すると、論理サーバーの Microsoft Entra 認証が無効になります。
注意
Microsoft Entra 管理者は、ユーザー (データベース プリンシパル) としてサーバーの master
データベースに格納されます。 データベース プリンシパル名は一意である必要があるため、管理者の表示名をサーバーの master
データベースにあるユーザーの名前と同じにすることはできません。 名前を持つユーザーが既に存在する場合、Microsoft Entra 管理者のセットアップは失敗してロールバックされ、名前が既に使用されていることを示します。
Microsoft Entra 管理者を設定すると、Azure SQL Managed Instance の Microsoft Entra 認証が有効になります。 Azure portal、PowerShell、Azure CLI、REST API を使用することにより、SQL Managed Instance の Microsoft Entra 管理者を設定できます。
Azure Portal を使用して SQL Managed Instance の読み取りアクセス許可を Microsoft Entra ID に付与するには、グローバル管理者または特権ロール管理者としてログインして次の手順に従います。
Azure portal で、右上隅にある自分のアカウントを選択し、[ディレクトリの切り替え] を選択して、現在どの Active Directory が自分の現在のディレクトリであるかを確認します。 必要に応じてディレクトリを切り替えます。
Azure portal の[ディレクトリとサブスクリプション] ウィンドウで Managed Instance を含むディレクトリを [現在のディレクトリ] として選択します。
SQL Managed Instance を検索して Managed Instance を選択し、[SQL Managed Instance] ウィンドウを開きます。 次に、[設定] で [Microsoft Entra ID] を選択し、インスタンスの [Microsoft Entra ID] ウィンドウを開きます。
[Microsoft Entra 管理者] ウィンドウで、ナビゲーション バーの [管理者の設定] を選択して [Microsoft Entra ID] ウィンドウを開きます。
Microsoft Entra ID ウィンドウで、ユーザーを検索し、ユーザーまたはグループの横にあるボックスをチェックして管理者になり、[選択] を押してウィンドウを閉じ、マネージド インスタンスの Microsoft Entra 管理者ページに戻ります。
Microsoft Entra ID ウィンドウには、現在のディレクトリ内のすべてのメンバーとグループが表示されます。 淡色表示されているユーザーまたはグループは、Microsoft Entra 管理者としてサポートされていないため選択できません 管理者として割り当てる ID を選択します。
マネージド インスタンスの Microsoft Entra 管理者 ページのナビゲーション バーで、[保存] を選択して Microsoft Entra 管理者を確認します。
管理者の変更操作が完了したら、Microsoft Entra 管理者フィールドに新しい管理者が表示されます。
Microsoft Entra ユーザーとグループの管理者名の横に [オブジェクト ID] が表示されます。 アプリケーション(サービスプリンシパル)の場合は、アプリケーションIDが表示されます。
ヒント
管理者を削除するには、[Microsoft Entra ID] ページの上部にある [管理者の削除] を選択したら、[保存] を選択します。
セキュリティ グループ メンバーシップを介して接続するユーザーの認証や新しいユーザーの作成などのシナリオには、SQL Managed Instance は Microsoft Entra ID の読み取りアクセス許可が必要です。 Microsoft Entra 認証が機能するには、Managed Instance ID を ディレクト閲覧者の役割に割り当てる必要があります。 この操作は、Azure portal または PowerShell から実行できます。
一部の操作では、Microsoft Graph にクエリを実行するため、Azure SQL データベースと Azure Synapse Analytics にアクセス許可も必要です。詳細については、「Microsoft Graph のアクセス許可」に記載されています。 Azure SQL データベースと Azure Synapse Analytics には、これらのシナリオに対して詳細なグラフのアクセス許可がサポートされる一方、SQL Managed Instance にはディレクトリ閲覧者の役割が必要です。 詳細に設定されたアクセス許可とその割り当ては、「サービス プリンシパルに Microsoft Entra ユーザーの作成の許可」で詳細が記載されています。
Azure Portal の SQL Managed Instance の [Microsoft Entra ID] ページには、インスタンスにディレクトリ閲覧者のアクセス許可が割り当てられていないときに便利なバナーが表示されます。
[Microsoft Entra ID] ページの上部にあるバナーを選択し、インスタンスを表すシステム割り当てマネージド ID またはユーザー割り当てマネージド ID にアクセス許可を付与します。 テナントのグローバル管理者または特権ロール管理者のみがこの操作を実行できます。
操作が成功すると、右上隅に成功の通知が表示されます。
Microsoft Entra 管理者を使用して Microsoft Entra サーバー プリンシパル (ログイン) とデータベース プリンシパル (ユーザー) を作成できるようになりました。 詳細については、「Azure SQL Managed Instance を使用した Microsoft Entra の統合」を参照してください。
Microsoft Entra 認証を使用して SQL Database または Azure Synapse Analytics のデータベースに接続するには、少なくとも CONNECT
アクセス許可を持つその ID に対してプリンシパルをデータベースに構成する必要があります。
データベース ユーザーが作成されると、既定ではデータベースに CONNECT アクセス許可が付与されます。 データベース ユーザーは、次の 2 つの状況でもアクセス許可を継承します。
サーバー プリンシパルとデータベース プリンシパルのアクセス許可の管理は、プリンシパルの種類 (Microsoft Entra ID や SQL 認証など) とは関係なく同じように機能します。 ユーザーにアクセス許可を直接付与するのではなく、データベース ロールにアクセス許可を付与することをお勧めします。 適切なアクセス許可を持つ役割にユーザーを追加できます。 長期的なアクセス許可の管理が簡素化され、必要なときに ID が有効期限の切れたアクセス権を維持する可能性を低減します。
詳細については、以下を参照してください:
包含データベースのユーザーは、master
データベースのログインに接続されていない SQL ユーザーの一種です。 Microsoft Entra の包含データベース ユーザーを作成するには、少なくとも ALTER ANY USER のアクセス許可を持つ Microsoft Entra ID を使用してデータベースに接続します。 次の T-SQL の例では、Microsoft Entra ID からデータベース プリンシパル Microsoft_Entra_principal_name
を作成します。
CREATE USER [<Microsoft_Entra_principal_name>] FROM EXTERNAL PROVIDER;
Microsoft Entra グループの包含データベース ユーザーを作成するには、グループの表示名を入力します。
CREATE USER [ICU Nurses] FROM EXTERNAL PROVIDER;
マネージド ID またはサービス プリンシパルの包含データベース ユーザーを作成するには、ID の表示名を入力します。
CREATE USER [appName] FROM EXTERNAL PROVIDER;
Microsoft Entra ユーザーの包含データベース ユーザーを作成するには、ID のユーザー プリンシパル名を入力します。
CREATE USER [adrian@contoso.com] FROM EXTERNAL PROVIDER;
注意
Microsoft Entra サーバー プリンシパル (ログイン) は、現在、Azure SQL データベースおよび Azure Synapse Analytics でパブリック プレビュー段階です。 Microsoft Entra ログインは、Azure SQL Managed Instance と SQL Server 2022 用に一般提供されています。
Microsoft Entra サーバー プリンシパル (またはログイン) はサポートされており、包含データベース ユーザーが不要であることを指します。 データベース プリンシパル (ユーザー) はサーバー プリンシパルに基づいて作成でき、Microsoft Entra ユーザーがログインのサーバー レベルに割り当てられたアクセス許可を継承できることを指します。
CREATE USER [appName] FROM LOGIN [appName];
詳細については、SQL Managed Instance の概要に関する記事を参照してください。 Microsoft Entra サーバー プリンシパル (ログイン) の作成の構文については、「CREATE LOGIN」を参照してください。
Azure サブスクリプションに関連付けられているテナントとは異なる Microsoft Entra テナントで管理されている ID のデータベース ユーザーを直接作成することはできません。 ただし、他のディレクトリ内のユーザーは、関連付けられているディレクトリに外部ユーザーとしてインポートできます。 データベースにアクセスできる包含データベース ユーザーを作成するために使用できます。 外部ユーザーは、Microsoft Entra グループのメンバーシップによってアクセスすることもできます。
例: Microsoft Entra のフェデレーション ドメインまたはマネージド ドメインのユーザーを表す包含データベース ユーザーを作成するには、次のようにします。
CREATE USER [alice@fabrikam.com] FROM EXTERNAL PROVIDER;
外部ユーザーとしてマネージド ドメインにインポートされるフェデレーション ドメイン ユーザー アカウントは、マネージド ドメインの ID を使用する必要があります。
T-SQL の CREATE LOGIN
ステートメントと CREATE USER
ステートメントのユーザー名に含まれるコロン :
やアンパサンド &
などの特殊文字は、サポートされていません。
Microsoft Entra ID と Azure SQL は、1 つの重要な方法でユーザー管理設計を分岐します。Microsoft Entra ID はテナント内で表示名を複製できるようにする一方、Azure SQL はサーバーまたはインスタンスのすべてのサーバー プリンシパル、ならびにデータベースのすべてのデータベース プリンシパルに一意の名前が必要です。 Azure SQL はプリンシパルの作成時に ID の Microsoft Entra 表示名を直接使用するため、ユーザーの作成時にエラーが発生する可能性があります。 この問題を解決するために、Azure SQL は現在プレビュー段階である WITH OBJECT_ID
拡張機能をリリースしました。これにより、ユーザーはサーバーまたはインスタンスに追加される ID の Microsoft Entra オブジェクト ID を指定できます。
CREATE USER ... FROM EXTERNAL PROVIDER
コマンドは、Azure SQL がログインしたユーザーに代わって Microsoft Entra ID (「外部プロバイダー」) にアクセスする必要があります。 Microsoft Entra ID が Azure SQL に例外を返す原因になる状況が発生することがあります。
TransparentNetworkIPResolution
パラメーターを false に設定することが必要になる場合があります。 詳しくは、「Connection timeout issue with .NET Framework 4.6.1 - TransparentNetworkIPResolution」(.NET Framework 4.6.1 での接続タイムアウトの問題 - TransparentNetworkIPResolution) をご覧ください。Microsoft Entra ID に基づく包含データベース ユーザーの作成の詳細については、「CREATE USER」を参照してください。
Azure SQL リソースのセキュリティを強化するには、多要素認証 (MFA) を構成することを検討してください。これにより、ユーザーは通話や認証アプリなどの 2 つ目の代替方法を使用してデータベースに認証を行うように求められます。
Azure SQL リソースで多要素認証を使用するには、まず多要素認証を有効にしてから条件付きアクセス ポリシーを使用し、Azure SQL リソースに MFA を実施します。
Microsoft Entra 認証が構成されたら、SQL Server Management Studio や SQL Server Data Tools などの Microsoft ツールで SQL リソースに接続するために使用し、クライアント アプリケーションを構成したら、Microsoft Entra ID を使用して接続できます。
問題のトラブルシューティングのガイダンスについては、「ブログ: Azure SQL データベースと Azure Synapse で Microsoft Entra 認証に関連する問題のトラブルシューティング」を参照してください。
トレーニング
認定資格
Microsoft Certified: Identity and Access Administrator Associate - Certifications
ID ソリューションの現代化、ハイブリッド ソリューションの実装、ID ガバナンスの実装を行う Microsoft Entra ID の機能を実証します。