Microsoft Entra ゲスト ユーザーを作成し、Microsoft Entra 管理者として設定する

適用対象:Azure SQL データベースAzure SQL Managed Instance

Microsoft Entra B2B コラボレーションのゲスト ユーザーは、Microsoft Entra テナント内で管理されない、外部の Microsoft Entra 組織または外部 ID プロバイダー (Outlook、Windows Live メール、Gmail など) にアカウントを持つユーザーです。 ゲスト ユーザー アカウントは、それらの個人がテナント内で共同作業を行うために招待されたときに作成され、ID プロバイダーに対して引き続き認証を実行します。

この記事では、Microsoft Entra ゲスト ユーザーを作成し、そのユーザーを Azure SQL Database および Azure Synapse Analytics によって使用される Azure SQL Managed Instance または Azure 内の論理サーバーの Microsoft Entra 管理者として設定する方法について説明します。

Note

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

機能の説明

Azure SQL Database、SQL Managed Instance、Azure Synapse Analytics では、ゲスト ユーザー アカウントから直接、またはテナント内の Microsoft Entra グループのメンバーとしてプリンシパルを作成できます。 ゲスト ユーザーは、論理サーバーまたはマネージド インスタンスの Microsoft Entra 管理者として設定することもできます。

前提条件

  • PowerShell を使用して、ゲスト ユーザーを論理サーバーまたはマネージド インスタンスの Microsoft Entra 管理者として設定する場合、Az.Sql 2.9.0 以上のモジュールが必要です。

Microsoft Entra ゲスト ユーザーのデータベース ユーザーを作成する

Microsoft Entra ゲスト ユーザーを使用してデータベース ユーザーを作成するには、これらの手順に従います。 このセクションでは、<guest_user> を有効な電子メール アドレス (guest_user@example.com など) に置き換えます。

SQL Database と Azure Synapse でゲスト ユーザーを作成する

  1. ゲスト ユーザーがすでに Microsoft Entra ID に追加されていること、および Microsoft Entra 管理者がデータベース サーバーに設定されていることを確認してください。 Microsoft Entra 認証には、Microsoft Entra 管理者が必要です。

  2. Microsoft Entra 管理者、またはユーザーを作成するための十分な SQL 権限を持つ Microsoft Entra ユーザーとして SQL データベースに接続し、ゲスト ユーザーを追加する必要があるデータベースで次のコマンドを実行します。

    CREATE USER [<guest_user>] FROM EXTERNAL PROVIDER;
    
  3. これで、ゲスト ユーザー 用にデータベース ユーザーが作成されているはずです。

  4. 次のコマンドを実行して、データベース ユーザーが正常に作成されたことを確認します。

    SELECT * FROM sys.database_principals;
    
  5. 切断し、SQL Server Management Studio (SSMS) を使用してゲスト ユーザーとしてデータベースにサインインします。認証方法として Azure Active Directory - MFA を備えたユニバーサルを使用します。 詳細については、「Microsoft Entra 多要素認証の使用」を参照してください。

SQL Managed Instance でゲスト ユーザーを作成する

Note

SQL Managed Instance では、Microsoft Entra ユーザーと、Microsoft Entra ID の包含データベース ユーザーのログインがサポートされています。 The following steps show how to create a login and user for a Microsoft Entra guest user in SQL Managed Instance. また、「SQL Database と Azure Synapse でゲスト ユーザーを作成する」セクションの方法を使用して、SQL Managed Instance で包含データベース ユーザーを作成することもできます。

  1. ゲスト ユーザーが既に Microsoft Entra テナントに追加されており、Microsoft Entra 管理者が SQL Managed Instance に設定されていることを確認してください。 Microsoft Entra 認証には、Microsoft Entra 管理者が必要です。

  2. Microsoft Entra 管理者、またはユーザーを作成するための十分な SQL アクセス許可を持つ Microsoft Entra ユーザーとして SQL マネージド インスタンスに接続し、master データベースで次のコマンドを実行してゲスト ユーザーのログインを作成します。

    CREATE LOGIN [<guest_user>] FROM EXTERNAL PROVIDER;
    
  3. これで、 データベースにゲスト ユーザー master 用のログインが作成されているはずです。

  4. 次のコマンドを実行して、ログインが正常に作成されたことを確認します。

    SELECT * FROM sys.server_principals;
    
  5. ゲスト ユーザーを追加する必要があるデータベースで次のコマンドを実行します。

    CREATE USER [<guest_user>] FROM LOGIN [<guest_user>];
    
  6. これで、ゲスト ユーザー 用にデータベース ユーザーが作成されているはずです。

  7. 切断し、SQL Server Management Studio (SSMS) を使用してゲスト ユーザーとしてデータベースにサインインします。認証方法として Azure Active Directory - MFA を備えたユニバーサルを使用します。 詳細については、「Microsoft Entra 多要素認証の使用」を参照してください。

ゲスト ユーザーを Microsoft Entra 管理者として設定する

Microsoft Entra 管理者を設定するには、Azure portal、Azure PowerShell、または Azure CLI を使用します。 このセクションでは、<guest_user> を有効な電子メール アドレス (guest_user@example.com など) に置き換えます。

Note

ゲスト ユーザーが他の Microsoft Entra ログインまたはユーザーを作成できるようにするには、Microsoft Entra ディレクトリ内の他の ID を読み取るアクセス許可が必要です。 このアクセス許可はディレクトリ レベルで構成されます。 詳細については、「Microsoft Entra B2B のゲスト ユーザー アクセス」を参照してください。

Azure portal

Azure portal を使用して論理サーバーまたはマネージド インスタンスの Microsoft Entra 管理者を設定するには、次の手順に従います。

  1. Azure Portalを開きます。
  2. [設定] の下にある SQL Server またはマネージド インスタンス リソースの Microsoft Entra ページに移動します。
  3. [管理者の設定] を選択し、[Microsoft Entra ID] ペインを開きます。
  4. [Microsoft Entra ID] ペインで、ゲスト ユーザー アカウント名を入力します。
  5. この新しいユーザーを選択してから、操作を保存します。

詳細については、「Microsoft Entra 管理者の設定」を参照してください。

Azure PowerShell (SQL Database と Azure Synapse)

論理サーバーに Microsoft Entra ゲスト ユーザーを設定するには、次の手順に従います。

  1. ゲスト ユーザーが既に Microsoft Entra テナントに追加されていることを確認してください。

  2. 次の PowerShell コマンドを実行して、ゲスト ユーザーを論理サーバーの Microsoft Entra 管理者として追加します。

    • <ResourceGroupName> は、論理サーバーを含む Azure リソース グループ名に置き換えます。
    • <ServerName> は、論理サーバーの名前に置き換えます。 実際のサーバー名が myserver.database.windows.net の場合、<Server Name>myserver に置き換えます。
    • <DisplayNameOfGuestUser> は、実際のゲスト ユーザー名に置き換えます。
    Set-AzSqlServerActiveDirectoryAdministrator -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -DisplayName <DisplayNameOfGuestUser>
    

また、Azure CLI コマンド az sql server ad-admin を使用して、ゲスト ユーザーを論理サーバーの Microsoft Entra 管理者として設定することもできます。

Azure PowerShell (SQL Managed Instance)

マネージド インスタンスの Microsoft Entra ゲスト ユーザーを設定するには、次の手順に従います。

  1. ゲスト ユーザーが既に Microsoft Entra テナントに追加されていることを確認してください。

  2. Azure portal に移動し、[Microsoft Entra ID] リソースに移動します。 [管理][ユーザー] ペインに移動します。 ゲスト ユーザーを選択し、Object ID を記録します。

  3. 次の PowerShell コマンドを実行して、ゲスト ユーザーを SQL Managed Instance の Microsoft Entra 管理者として追加します。

    • <ResourceGroupName> は、SQL Managed Instance を含む Azure リソース グループ名に置き換えます。
    • <ManagedInstanceName> は、実際の SQL Managed Instance 名に置き換えます。
    • <DisplayNameOfGuestUser> は、実際のゲスト ユーザー名に置き換えます。
    • <AADObjectIDOfGuestUser> は、前に収集した Object ID に置き換えます。
    Set-AzSqlInstanceActiveDirectoryAdministrator -ResourceGroupName <ResourceGroupName> -InstanceName "<ManagedInstanceName>" -DisplayName <DisplayNameOfGuestUser> -ObjectId <AADObjectIDOfGuestUser>
    

また、Azure CLI コマンド az sql mi ad-admin を使用して、ゲスト ユーザーをマネージド インスタンスの Microsoft Entra 管理者として設定することもできます。