共用方式為


在 Azure Stack Hub 中設定多重租用戶

您可以設定 Azure Stack Hub,以支持位於其他Microsoft Entra 目錄中的使用者登入,讓他們能夠使用 Azure Stack Hub 中的服務。 這些目錄與您的 Azure Stack Hub 目錄具有「來賓」關聯性,而且會被視為客體Microsoft Entra 租使用者。

例如,請考慮以下的狀況:

  • 您是 contoso.onmicrosoft.com 的服務管理員,這是提供身分識別和存取管理服務給 Azure Stack Hub 的主Microsoft Entra 租使用者。
  • Mary 是 adatum.onmicrosoft.com 的目錄管理員,來賓Microsoft來賓使用者所在的 Entra 租使用者。
  • Mary 的公司 (Adatum) 使用貴公司的 IaaS 和 PaaS 服務。 Adatum 希望允許使用者從來賓目錄 (adatum.onmicrosoft.com) 登入並使用受 contoso.onmicrosoft.com 保護的 Azure Stack Hub 資源。

本指南提供此案例內容中為來賓目錄租用戶啟用或停用 Azure Stack Hub 中的多租使用者所需的步驟。 您和 Mary 藉由註冊或取消註冊客體目錄租用戶來完成此程式,讓 Adatum 使用者啟用或停用 Azure Stack Hub 登入和服務取用。

如果您是 雲端解決方案提供者 (CSP),則有其他方式可設定和管理多租使用者 Azure Stack Hub

必要條件

註冊或取消註冊來賓目錄之前,您和 Mary 必須完成個別Microsoft Entra 租使用者的系統管理步驟:Azure Stack Hub 主目錄 (Contoso) 和客體目錄 (Adatum):

註冊來賓目錄

若要註冊多租使用者的來賓目錄,您必須設定主目錄 Azure Stack Hub 目錄和客體目錄。

設定 Azure Stack Hub 目錄

身為 contoso.onmicrosoft.com 的服務管理員,您必須先將 Adatum 的客體目錄租用戶上線至 Azure Stack Hub。 下列腳本會將 Azure Resource Manager 設定為接受 adatum.onmicrosoft.com 租使用者中使用者和服務主體的登入:

## The following Azure Resource Manager endpoint is for the ASDK. If you're in a multinode environment, contact your operator or service provider to get the endpoint, formatted as adminmanagement.<region>.<FQDN>.
$adminARMEndpoint = "https://adminmanagement.local.azurestack.external"

## Replace the value below with the Azure Stack Hub directory
$azureStackDirectoryTenant = "contoso.onmicrosoft.com"

## Replace the value below with the guest directory tenant. 
$guestDirectoryTenantToBeOnboarded = "adatum.onmicrosoft.com"

## Replace the value below with the name of the resource group in which the directory tenant registration resource should be created (resource group must already exist).
$ResourceGroupName = "system.local"

## Replace the value below with the region location of the resource group.
$location = "local"

# Subscription Name
$SubscriptionName = "Default Provider Subscription"

Register-AzSGuestDirectoryTenant -AdminResourceManagerEndpoint $adminARMEndpoint `
 -DirectoryTenantName $azureStackDirectoryTenant `
 -GuestDirectoryTenantName $guestDirectoryTenantToBeOnboarded `
 -Location $location `
 -ResourceGroupName $ResourceGroupName `
 -SubscriptionName $SubscriptionName

設定來賓目錄

接下來,Mary(Adatum 的目錄管理員)必須執行下列腳本,向 adatum.onmicrosoft.com 客體目錄註冊 Azure Stack Hub:

## The following Azure Resource Manager endpoint is for the ASDK. If you're in a multinode environment, contact your operator or service provider to get the endpoint, formatted as management.<region>.<FQDN>.
$tenantARMEndpoint = "https://management.local.azurestack.external"

## Replace the value below with the guest directory tenant.
$guestDirectoryTenantName = "adatum.onmicrosoft.com"

Register-AzSWithMyDirectoryTenant `
 -TenantResourceManagerEndpoint $tenantARMEndpoint `
 -DirectoryTenantName $guestDirectoryTenantName `
 -Verbose

重要

如果您的 Azure Stack Hub 系統管理員在未來安裝新的服務或更新,您可能需要再次執行此腳本。

隨時再次執行此腳本,以檢查目錄中 Azure Stack Hub 應用程式的狀態。

如果您注意到在 受控磁碟 中建立 VM 的問題(在 1808 更新中引進),則新增了新的磁碟資源提供者,因此需要再次執行此腳本。

將使用者導向登入

最後,Mary 可以造訪 Azure Stack Hub 使用者入口網站,指示具有@adatum.onmicrosoft.com帳戶的 Adatum 使用者登入。 針對多節點系統,使用者入口網站 URL 的格式為 https://portal.<region>.<FQDN>。 針對 ASDK 部署,URL 為 https://portal.local.azurestack.external

Mary 也必須指示任何外國主體(Adatum 目錄中的用戶沒有 adatum.onmicrosoft.com 後綴)使用 https://<user-portal-url>/adatum.onmicrosoft.com登入。 如果他們未在 URL 中指定 /adatum.onmicrosoft.com 目錄租使用者,則會將其傳送至預設目錄,並收到錯誤,指出其系統管理員尚未同意。

取消註冊客體目錄

如果您不想再允許從客體目錄租使用者登入 Azure Stack Hub 服務,您可以取消註冊目錄。 同樣地,必須設定主目錄和客體目錄:

  1. 身為來賓目錄的系統管理員(在此案例中為 Mary),請執行 Unregister-AzsWithMyDirectoryTenant。 此 Cmdlet 會將所有 Azure Stack Hub 應用程式從新目錄解除安裝。

    ## The following Azure Resource Manager endpoint is for the ASDK. If you're in a multinode environment, contact your operator or service provider to get the endpoint, formatted as management.<region>.<FQDN>.
    $tenantARMEndpoint = "https://management.local.azurestack.external"
    
    ## Replace the value below with the guest directory tenant.
    $guestDirectoryTenantName = "adatum.onmicrosoft.com"
    
    Unregister-AzsWithMyDirectoryTenant `
     -TenantResourceManagerEndpoint $tenantARMEndpoint `
     -DirectoryTenantName $guestDirectoryTenantName `
     -Verbose 
    
  2. 身為 Azure Stack Hub 的服務管理員(在此案例中為您),請執行 Unregister-AzSGuestDirectoryTenant Cmdlet:

    ## The following Azure Resource Manager endpoint is for the ASDK. If you're in a multinode environment, contact your operator or service provider to get the endpoint, formatted as adminmanagement.<region>.<FQDN>.
    $adminARMEndpoint = "https://adminmanagement.local.azurestack.external"
    
    ## Replace the value below with the Azure Stack Hub directory
    $azureStackDirectoryTenant = "contoso.onmicrosoft.com"
    
    ## Replace the value below with the guest directory tenant. 
    $guestDirectoryTenantToBeDecommissioned = "adatum.onmicrosoft.com"
    
    ## Replace the value below with the name of the resource group in which the directory tenant resource was created (resource group must already exist).
    $ResourceGroupName = "system.local"
    
    Unregister-AzSGuestDirectoryTenant -AdminResourceManagerEndpoint $adminARMEndpoint `
     -DirectoryTenantName $azureStackDirectoryTenant `
     -GuestDirectoryTenantName $guestDirectoryTenantToBeDecommissioned `
     -ResourceGroupName $ResourceGroupName
    

    警告

    必須依序執行停用多租使用者的步驟。 如果步驟 #2 先完成,步驟 #1 就會失敗。

擷取 Azure Stack Hub 身分識別健康情況報告

<region>取代、 <domain><homeDirectoryTenant> 佔位符,然後以 Azure Stack Hub 系統管理員身分執行下列 Cmdlet。


$AdminResourceManagerEndpoint = "https://adminmanagement.<region>.<domain>"
$DirectoryName = "<homeDirectoryTenant>.onmicrosoft.com"
$healthReport = Get-AzsHealthReport -AdminResourceManagerEndpoint $AdminResourceManagerEndpoint -DirectoryTenantName $DirectoryName
Write-Host "Healthy directories: "
$healthReport.directoryTenants | Where status -EQ 'Healthy' | Select -Property tenantName,tenantId,status | ft


Write-Host "Unhealthy directories: "
$healthReport.directoryTenants | Where status -NE 'Healthy' | Select -Property tenantName,tenantId,status | ft

更新Microsoft Entra 租用戶許可權

此動作會清除 Azure Stack Hub 中的警示,指出目錄需要更新。 從 Azurestack-tools-master/identity 資料夾執行下列命令:

Import-Module ..\Identity\AzureStack.Identity.psm1

$adminResourceManagerEndpoint = "https://adminmanagement.<region>.<domain>"

# This is the primary tenant Azure Stack Hub is registered to:
$homeDirectoryTenantName = "<homeDirectoryTenant>.onmicrosoft.com"

Update-AzsHomeDirectoryTenant -AdminResourceManagerEndpoint $adminResourceManagerEndpoint `
   -DirectoryTenantName $homeDirectoryTenantName -Verbose

此指令碼會提示您輸入 Microsoft Entra 租用戶的系統管理認證,並需要幾分鐘的時間來執行。 警示會在您執行 Cmdlet 之後清除。

此版本不支援以入口網站為基礎的管理

使用系統管理員入口網站的多租使用者管理僅適用於 2102 版和更新版本。 使用頁面左上角的選取器來選取較新版本。

註冊來賓目錄

若要註冊多租使用者的來賓目錄,您必須設定主目錄 Azure Stack Hub 目錄和客體目錄。

設定 Azure Stack Hub 目錄

第一個步驟是讓您的 Azure Stack Hub 系統知道客體目錄。 在此範例中,來自 Mary 公司 Adatum 的目錄稱為 adatum.onmicrosoft.com

  1. 登入 Azure Stack Hub 系統管理員入口網站,並移至 [ 所有服務 - 目錄]。

    顯示目錄清單的螢幕快照。

  2. 選取 [新增 ] 以啟動上線程式。 輸入客體目錄名稱 「adatum.onmicrosoft.com」,然後選取 [ 新增]。

    顯示如何新增目錄的螢幕快照。

  3. 客體目錄會出現在清單檢視中,狀態為 未註冊

    顯示具有未註冊狀態之新來賓目錄的螢幕快照。

  4. 只有Mary具有向來賓目錄驗證的認證,因此您必須將連結傳送給她,才能完成註冊。 選取 [adatum.onmicrosoft.com ] 複選框,然後選取 [ 註冊]。

    顯示選取要註冊之目錄的螢幕快照。

  5. 新的瀏覽器索引標籤會開啟。 選取頁面底部的 [ 複製] 連結 ,並將其提供給Mary。

  6. 如果您有來賓目錄的認證,您可以選取 [登入],自行完成註冊。

    顯示選取登入的螢幕快照。

設定來賓目錄

Mary 收到電子郵件,其中包含註冊目錄的連結。 她在瀏覽器中開啟連結,並確認 Azure Stack Hub 系統的 Microsoft Entra 標識符和 Azure Resource Manager 端點。

  1. Mary 使用她的系統管理員認證登入 adatum.onmicrosoft.com。

    注意

    在登入之前,請確定已停用快顯封鎖程式。

    顯示登入以管理目錄的螢幕快照。

  2. Mary 會檢閱目錄的狀態,並看到它未註冊。

    顯示未註冊目錄的螢幕快照。

  3. Mary 選取 [ 註冊 ] 以啟動程式。

    注意

    Visual Studio Code 的必要物件可能無法建立,而且必須使用 PowerShell。

    顯示起始目錄註冊的螢幕快照。

  4. 註冊程式完成之後,Mary 可以檢閱目錄中建立的所有應用程式,並檢查其狀態。

    顯示已註冊目錄的螢幕快照。

  5. Mary 已成功完成註冊程式,現在可透過造訪 Azure Stack Hub 使用者入口網站,將具有@adatum.onmicrosoft.com帳戶的 Adatum 使用者導向登入。 針對多節點系統,使用者入口網站 URL 的格式為 https://portal.<region>.<FQDN>。 針對 ASDK 部署,URL 為 https://portal.local.azurestack.external

重要

Azure Stack 操作員最多可能需要一小時的時間,才能在管理入口網站中看到更新的目錄狀態。

Mary 也必須指示任何外國主體(Adatum 目錄中的用戶沒有 adatum.onmicrosoft.com 後綴)使用 https://<user-portal-url>/adatum.onmicrosoft.com登入。 如果他們未在 URL 中指定 /adatum.onmicrosoft.com 目錄租使用者,則會將其傳送至預設目錄,並收到錯誤,指出其系統管理員尚未同意。

取消註冊客體目錄

如果您不想再允許從客體目錄租使用者登入 Azure Stack Hub 服務,您可以取消註冊目錄。 同樣地,必須設定主目錄和客體目錄:

設定來賓目錄

Mary 不再使用 Azure Stack Hub 上的服務,而且必須移除物件。 她再次開啟透過電子郵件收到的 URL,以取消註冊目錄。 開始此程式之前,Mary 會從 Azure Stack Hub 訂用帳戶中移除所有資源。

  1. Mary 使用她的系統管理員認證登入 adatum.onmicrosoft.com

    注意

    在登入之前,請確定已停用快顯封鎖程式。

    顯示選取 [登入] 的螢幕快照。

  2. Mary 看到目錄的狀態。

    顯示已註冊目錄的螢幕快照。

  3. Mary 選取 [取消註冊 ] 以啟動動作。

    顯示取消註冊以取消註冊目錄的螢幕快照。

  4. 當進程完成時,狀態會顯示為 [未註冊]:

    顯示已取消註冊之目錄的螢幕快照。

    Mary 已成功取消註冊目錄 adatum.onmicrosoft.com

    注意

    最多可能需要一小時的時間,才能在 Azure Stack 管理入口網站中顯示為未註冊的目錄。

設定 Azure Stack Hub 目錄

身為 Azure Stack Hub 操作員,您隨時都可以移除客體目錄,即使 Mary 先前尚未取消註冊目錄也一樣。

  1. 登入 Azure Stack Hub 系統管理員入口網站,並移至 [ 所有服務 - 目錄]。

    顯示所有目錄的螢幕快照。

  2. 選取 [ adatum.onmicrosoft.com 目錄] 複選框,然後選取 [ 移除]。

    顯示針對目錄選取 [移除] 的螢幕快照。

  3. 輸入 [是 ] 並選取 [ 移除],以確認刪除動作。

    顯示如何移除目錄的螢幕快照。

    您已成功移除目錄。

管理必要的更新

Azure Stack Hub 更新可以導入對可能需要更新主目錄或來賓目錄的新工具或服務的支援。

身為 Azure Stack Hub 操作員,您會在系統管理入口網站中收到警示,通知您所需的目錄更新。 您也可以在管理入口網站中檢視目錄窗格,以判斷主目錄或來賓目錄是否需要更新。 每個目錄清單都會顯示目錄的類型。 此類型可以是主目錄或來賓目錄,並顯示其狀態。

更新 Azure Stack Hub 目錄

需要 Azure Stack Hub 目錄更新時,會顯示 [需要更新] 的狀態。 例如:

顯示需要更新之目錄的螢幕快照。

若要更新目錄,請選取 [目錄名稱 ] 複選框,然後選取 [ 更新]。

更新客體目錄

Azure Stack Hub 操作員也應該通知來賓目錄擁有者,他們需要使用共用的 URL 進行註冊來更新其目錄。 運算符可以重新傳送 URL,但不會變更。

來賓目錄的擁有者 Mary 會在註冊目錄時開啟透過電子郵件收到的 URL:

  1. Mary 使用她的系統管理員認證登入 adatum.onmicrosoft.com。 在登入之前,請確定已停用快顯封鎖程式。

    顯示選取 [登入] 的螢幕快照。

  2. Mary 看到目錄的狀態,指出需要更新。

  3. [更新] 動作可供 Mary 更新來賓目錄。 最多可能需要一小時的時間,才能在 Azure Stack 系統管理入口網站中顯示為已註冊的目錄。

其他功能

Azure Stack Hub 操作員可以檢視與目錄相關聯的訂用帳戶。 此外,每個目錄都有一個動作,可直接在 Azure 入口網站 中管理目錄。 若要管理,目標目錄必須在 Azure 入口網站 中擁有管理許可權。

下一步