建立 Microsoft Entra 來賓使用者,並將其設定為 Microsoft Entra 管理員
本文內容
功能描述
必要條件
為 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 管理員。
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 中建立來賓使用者
請確定來賓使用者已新增至您的 Microsoft Entra ID,並已為資料庫伺服器設定 Microsoft Entra 管理員。 必須有 Microsoft Entra 管理員才能執行 Microsoft Entra 驗證。
以 Microsoft Entra 管理員或者具有足夠 SQL 權限的 Microsoft Entra 使用者的身分,連線至 SQL Database 以建立使用者,並在需要新增來賓使用者的資料庫上執行以下命令:
CREATE USER [<guest_user>] FROM EXTERNAL PROVIDER;
現在應該已經為來賓使用者建立資料庫使用者。
執行下列命令來驗證是否已成功建立資料庫使用者:
SELECT * FROM sys.database_principals;
使用驗證方法 Azure Active Directory - 與 MFA 通用 ,透過 SQL Server Management Studio (SSMS) 以來賓使用者身分中斷連線並登入資料庫。 如需詳細資訊,請參閱使用 Microsoft Entra 多重要素驗證 。
注意
SQL 受控執行個體支援 Microsoft Entra 使用者,以及 Microsoft Entra ID 自主資料庫使用者的登入。 下列步驟示範如何在 SQL 受控執行個體中建立 Microsoft Entra 來賓使用者的登入和使用者。 也可以選擇使用 [在 SQL Database 和 Azure Synapse中建立來賓使用者] 區段中的方法,在 SQL 受控執行個體中建立自主資料庫使用者 。
請確定來賓使用者已新增至您的 Microsoft Entra 租用戶,並且已經為 SQL 受控執行個體設定 Microsoft Entra 管理員。 必須有 Microsoft Entra 管理員才能執行 Microsoft Entra 驗證。
以 Microsoft Entra 管理員或者具有足夠 SQL 權限的 Microsoft Entra 使用者的身分,連線至 SQL 受控執行個體以建立使用者,並對 master
資料庫執行以下命令以建立來賓使用者的登入:
CREATE LOGIN [<guest_user>] FROM EXTERNAL PROVIDER;
現在應該已經為 master
資料庫中的來賓使用者建立登入。
執行下列命令來驗證是否已成功建立登入:
SELECT * FROM sys.server_principals;
在需要新增來賓使用者的資料庫上執行以下命令:
CREATE USER [<guest_user>] FROM LOGIN [<guest_user>];
現在應該已經為來賓使用者建立資料庫使用者。
使用驗證方法 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 入口網站為邏輯伺服器或受控執行個體設定 Microsoft Entra 管理員,請遵循下列步驟:
開啟 Azure 入口網站 。
瀏覽至您的 SQL Server 或受控執行個體資源 Microsoft Entra 頁面底下的 [設定]。
選取 [設定管理員] 以開啟 [Microsoft Entra ID] 窗格。
在 [Microsoft Entra ID] 窗格中,鍵入來賓使用者帳戶名稱。
選取這個新使用者,然後儲存作業。
如需詳細資訊,請參閱設定 Microsoft Entra 管理員 。
Azure PowerShell (SQL Database 和 Azure Synapse)
若要為邏輯伺服器設定 Microsoft Entra 來賓使用者,請遵循以下步驟:
請確定來賓使用者已新增至您的 Microsoft Entra 租用戶。
執行下列 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 來賓使用者,請遵循下列步驟:
請確定來賓使用者已新增至您的 Microsoft Entra 租用戶。
移至 Azure 入口網站 ,然後移至 Microsoft Entra ID 資源。 在 [管理] 下 ,移至 [使用者] 窗格。 選取您的來賓使用者,然後記錄 Object ID
。
執行下列 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 管理員。