建立 Microsoft Entra 來賓使用者,並將其設定為 Microsoft Entra 系統管理員

適用於:Azure SQL DatabaseAzure SQL 受控執行個體

具有 Microsoft Entra B2B 共同作業的來賓使用者 是具有外部 Microsoft Entra 組織或外部身分識別提供者(例如 Outlook、Windows Live Mail 或 Gmail)中帳戶的使用者,這些使用者未在您的 Microsoft Entra 租使用者中管理。 當這些個人受邀在租使用者內共同作業,同時仍對其識別提供者執行驗證時,就會建立來賓用戶帳戶。

本文示範如何建立 Microsoft Entra 來賓使用者,並將該用戶設定為 Azure SQL 資料庫 和 Azure Synapse Analytics 所使用 Azure 中 Azure SQL 受控執行個體 的 Microsoft Entra 管理員或邏輯伺服器。

注意

Microsoft Entra 標識符 先前稱為 Azure Active Directory (Azure AD)。

功能描述

Azure SQL 資料庫、SQL 受管理執行個體 和 Azure Synapse Analytics 支援直接從來賓用戶帳戶建立主體,或作為租使用者中 Microsoft Entra 群組的成員。 來賓使用者也可以設定為邏輯伺服器或受控實例的 Microsoft Entra 系統管理員。

必要條件

建立 Microsoft Entra 來賓用戶的資料庫使用者

請遵循下列步驟,使用 Microsoft Entra 來賓使用者建立資料庫使用者。 在本節中,將 取代 <guest_user> 為有效的電子郵件位址,例如 guest_user@example.com

在 SQL 資料庫和 Azure Synapse 中建立來賓使用者

  1. 請確定來賓使用者已新增至您的 Microsoft Entra 識別碼,並已為資料庫伺服器設定 Microsoft Entra 系統管理員。 Microsoft Entra 驗證需要 Microsoft Entra 系統管理員。

  2. 連線 SQL 資料庫作為 Microsoft Entra 系統管理員,或具有足夠 SQL 許可權的 Microsoft Entra 使用者來建立使用者,並在需要新增來賓使用者的資料庫上執行下列命令:

    CREATE USER [<guest_user>] FROM EXTERNAL PROVIDER;
    
  3. 現在應該會為來賓使用者建立資料庫使用者。

  4. 執行下列命令來確認已成功建立資料庫使用者:

    SELECT * FROM sys.database_principals;
    
  5. 使用驗證方法 Azure Active Directory - Universal 搭配 MFA,使用 SQL Server Management Studio (SSMS) 以來賓使用者身分中斷連線並登入資料庫。 如需詳細資訊,請參閱使用 Microsoft Entra 多重要素驗證

在 SQL 受管理執行個體 中建立來賓使用者

注意

SQL 受管理執行個體 支援 Microsoft Entra 使用者的登入,以及 Microsoft Entra ID 自主資料庫使用者。 下列步驟示範如何在 SQL 受管理執行個體 中建立 Microsoft Entra 來賓使用者的登入和使用者。 您也可以選擇在 SQL 受管理執行個體 中使用 在 SQL 資料庫 和 Azure Synapse 區段中建立來賓使用者中的 方法來建立自主資料庫使用者

  1. 請確定來賓使用者已新增至您的 Microsoft Entra 租使用者,且已為 SQL 受管理執行個體 設定 Microsoft Entra 系統管理員。 Microsoft Entra 驗證需要 Microsoft Entra 系統管理員。

  2. 以 Microsoft Entra 系統管理員身分 連線 SQL 受管理執行個體,或具有足夠 SQL 許可權的 Microsoft Entra 使用者建立使用者,並在資料庫上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. 使用驗證方法 Azure Active Directory - Universal 搭配 MFA,使用 SQL Server Management Studio (SSMS) 以來賓使用者身分中斷連線並登入資料庫。 如需詳細資訊,請參閱使用 Microsoft Entra 多重要素驗證

將來賓用戶設定為 Microsoft Entra 系統管理員

使用 Azure 入口網站、Azure PowerShell 或 Azure CLI 設定 Microsoft Entra 系統管理員。 在本節中,將 取代 <guest_user> 為有效的電子郵件位址,例如 guest_user@example.com

注意

如果您希望來賓用戶能夠建立其他 Microsoft Entra 登入或使用者,他們必須具有許可權才能讀取 Microsoft Entra 目錄中的其他身分識別。 此許可權是在目錄層級設定。 如需詳細資訊,請參閱 Microsoft Entra ID 中的來賓訪問許可權。

Azure 入口網站

若要使用 Azure 入口網站 設定邏輯伺服器或受控實例的 Microsoft Entra 系統管理員,請遵循下列步驟:

  1. 開啟 Azure 入口網站
  2. 流覽至您的 SQL Server 或受控實例資源 Microsoft Entra 頁面下的 [設定]。
  3. 選取 [設定系統管理員] 以開啟 [Microsoft Entra ID] 窗格。
  4. 在 [ Microsoft Entra 標識符 ] 窗格中,輸入來賓用戶帳戶名稱。
  5. 選取這個新的使用者,然後儲存作業。

如需詳細資訊,請參閱 設定 Microsoft Entra admin

Azure PowerShell (SQL 資料庫 和 Azure Synapse)

若要為邏輯伺服器設定 Microsoft Entra 來賓使用者,請遵循下列步驟:

  1. 請確定來賓使用者已新增至您的 Microsoft Entra 租使用者。

  2. 執行下列 PowerShell 命令,將來賓使用者新增為邏輯伺服器的 Microsoft Entra 系統管理員:

    • 將 取代 <ResourceGroupName> 為您的 Azure 資源組名,其中包含邏輯伺服器。
    • 將取代 <ServerName> 為您的邏輯伺服器名稱。 如果您的伺服器名稱是 myserver.database.windows.net,使用 myserver 取代 <Server Name>
    • 將取代 <DisplayNameOfGuestUser> 為您的來賓用戶名稱。
    Set-AzSqlServerActiveDirectoryAdministrator -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -DisplayName <DisplayNameOfGuestUser>
    

您也可以使用 Azure CLI 命令 az sql server ad-admin ,將來賓使用者設定為邏輯伺服器的 Microsoft Entra 管理員。

Azure PowerShell (SQL 受管理執行個體)

若要為受控實例設定 Microsoft Entra 來賓使用者,請遵循下列步驟:

  1. 請確定來賓使用者已新增至您的 Microsoft Entra 租使用者。

  2. 移至 Azure 入口網站,然後移至您的 Microsoft Entra ID 資源。 在 [管理] 底下,移至 [使用者] 窗格。 選取您的來賓使用者,然後記錄 Object ID

  3. 執行下列 PowerShell 命令,將來賓使用者新增為 SQL 受管理執行個體 的 Microsoft Entra 系統管理員:

    • 將 取代<ResourceGroupName>為您的 Azure 資源組名,其中包含 SQL 受管理執行個體。
    • 將取代<ManagedInstanceName>為您的 SQL 受管理執行個體 名稱。
    • 將取代 <DisplayNameOfGuestUser> 為您的來賓用戶名稱。
    • <AADObjectIDOfGuestUser>取代為Object ID先前收集的 。
    Set-AzSqlInstanceActiveDirectoryAdministrator -ResourceGroupName <ResourceGroupName> -InstanceName "<ManagedInstanceName>" -DisplayName <DisplayNameOfGuestUser> -ObjectId <AADObjectIDOfGuestUser>
    

您也可以使用 Azure CLI 命令 az sql mi ad-admin ,將來賓用戶設定為受控實例的 Microsoft Entra 管理員。