共用方式為


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

適用於: Azure SQL 資料庫 Azure SQL 受控執行個體

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

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

注意

Microsoft Entra ID 先前稱為 Azure Active Directory (Azure AD)。

功能描述

Azure SQL 資料庫、SQL 受控執行個體和 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 Database 以建立使用者,並在需要新增來賓使用者的資料庫上執行以下命令:

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

  4. 執行下列命令來驗證是否已成功建立資料庫使用者:

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

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

注意

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

  1. 請確定來賓使用者已新增至您的 Microsoft Entra 租用戶,並且已經為 SQL 受控執行個體設定 Microsoft Entra 管理員。 必須有 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. 使用驗證方法 Azure Active Directory - 與 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 ID] 窗格中,鍵入來賓使用者帳戶名稱。
  5. 選取這個新使用者,然後儲存作業。

如需詳細資訊,請參閱設定 Microsoft Entra 管理員

Azure PowerShell (SQL Database 和 Azure Synapse)

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

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

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

    • <ResourceGroupName> 替換為包含邏輯伺服器的 Azure 資源群組名稱。
    • <ServerName> 替換為您自己的 SQL 邏輯伺服器名稱。 如果您的伺服器名稱是 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> 替換為包含 SQL 受控執行個體的 Azure 資源群組名稱。
    • <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 管理員。