Konfigurace víceklientské architektury v centru Azure StackConfigure multi-tenancy in Azure Stack Hub

Centrum Azure Stack můžete nakonfigurovat tak, aby podporovala přihlášení uživatelů, kteří se nacházejí v jiných adresářích Azure Active Directory (Azure AD), což jim umožňuje používat služby v centru Azure Stack.You can configure Azure Stack Hub to support sign-ins from users that reside in other Azure Active Directory (Azure AD) directories, allowing them to use services in Azure Stack Hub. Tyto adresáře mají vztah "hosta" s vaším centrem Azure Stack a považují se za klienty Azure AD typu Host.These directories have a "guest" relationship with your Azure Stack Hub, and as such, are considered guest Azure AD tenants. Představte si třeba následující scénář:For example, consider the following scenario:

  • Jste správcem služby contoso.onmicrosoft.com, který poskytuje služby pro správu identit a přístupu do centra Azure Stack.You're the service administrator of contoso.onmicrosoft.com, the home Azure AD tenant providing identity and access management services to your Azure Stack Hub.
  • Marie je Správce adresáře fabrikam.onmicrosoft.com, tenant hosta Azure AD, kde se nacházejí uživatelé typu Host.Mary is the directory administrator of fabrikam.onmicrosoft.com, the guest Azure AD tenant where guest users are located.
  • Společnost společnosti Marie používá služby IaaS a PaaS z vaší společnosti.Mary's company (Fabrikam) uses IaaS and PaaS services from your company. Společnost Fabrikam chce uživatelům dovolit, aby se přihlásili z adresáře hostů (fabrikam.onmicrosoft.com) a používali prostředky centra Azure Stack zabezpečené pomocí contoso.onmicrosoft.com.Fabrikam wants to allow users from the guest directory (fabrikam.onmicrosoft.com) to sign in and use Azure Stack Hub resources secured by contoso.onmicrosoft.com.

V této příručce najdete požadované kroky v souvislosti s tímto scénářem, pokud chcete povolit nebo zakázat víceklientské prostředí v Azure Stack hub pro tenanta adresáře hostů.This guide provides the steps required, in the context of this scenario, to enable or disable multi-tenancy in Azure Stack Hub for a guest directory tenant. Tento proces se dá dokončit tak, že zaregistrujete nebo zrušíte registraci tenanta adresáře hosta, který povolí nebo zakáže přihlášení k rozbočovači Azure Stack a spotřebu služeb od uživatelů společnosti Fabrikam.You and Mary accomplish this process by registering/unregistering the guest directory tenant, which will enable/disable Azure Stack Hub sign-ins and service consumption by Fabrikam users.

Pokud jste poskytovatelem Cloud Solution Provider (CSP), máte k dispozici další způsoby, jak můžete Konfigurovat a spravovat Azure Stackho centra pro více tenantů.If you're a Cloud Solution Provider (CSP), you have additional ways you can configure and manage a multi-tenant Azure Stack Hub.

PožadavkyPrerequisites

Před registrací nebo zrušením registrace adresáře hosta je potřeba, abyste vy a Marie dokončili kroky správy pro příslušné klienty Azure AD: domovský adresář centra Azure Stack (Contoso) a adresář hosta (Fabrikam):Before registering or unregistering a guest directory, you and Mary must complete administrative steps for your respective Azure AD tenants: the Azure Stack Hub home directory (Contoso), and the guest directory (Fabrikam):

Registrace adresáře hostaRegister a guest directory

Pokud chcete zaregistrovat adresář hostů pro víceklientské architektury, bude nutné nakonfigurovat adresář domovského Azure Stackového centra i adresář hostů.To register a guest directory for multi-tenancy, both the home Azure Stack Hub directory and guest directory will need to be configured.

Konfigurovat adresář centra Azure StackConfigure Azure Stack Hub directory

Jako správce služby contoso.onmicrosoft.com je třeba nejdřív připojit tenanta adresáře hosta společnosti Fabrikam do centra Azure Stack.As the service administrator of contoso.onmicrosoft.com, you must first onboard the Fabrikam's guest directory tenant to Azure Stack Hub. Následující skript nastaví Azure Resource Manager pro přijímání přihlášení uživatelů a instančních objektů v tenantovi fabrikam.onmicrosoft.com:The following script will configure Azure Resource Manager to accept sign-ins from users and service principals in the fabrikam.onmicrosoft.com tenant:

## 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 = "fabrikam.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

Konfigurace adresáře hostaConfigure guest directory

Dále musí Marie (Správce adresáře společnosti Fabrikam) zaregistrovat Azure Stack centrum s adresářem hosta fabrikam.onmicrosoft.com spuštěním následujícího skriptu:Next, Mary (directory admin of Fabrikam) must register Azure Stack Hub with the fabrikam.onmicrosoft.com guest directory, by running the following script:

## 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 = "fabrikam.onmicrosoft.com"

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

Důležité

Pokud váš správce centra Azure Stack v budoucnu nainstaluje nové služby nebo aktualizace, možná budete muset tento skript spustit znovu.If your Azure Stack Hub administrator installs new services or updates in the future, you may need to run this script again.

Spusťte tento skript kdykoli znovu, abyste zkontrolovali stav aplikací centra Azure Stack ve vašem adresáři.Run this script again at any time to check the status of the Azure Stack Hub apps in your directory.

Pokud jste si všimli potíží s vytvářením virtuálních počítačů v Managed Disks (představených v aktualizaci 1808), přidal se nový poskytovatel prostředků disku , který vyžaduje, aby se tento skript spouštěl znovu.If you've noticed issues with creating VMs in Managed Disks (introduced in the 1808 update), a new Disk Resource Provider was added requiring this script to be run again.

Přímé přihlašování uživatelůDirect users to sign in

Nakonec mohou uživatelé společnosti Fabrikam s účty, kteří se @fabrikam.onmicrosoft.com budou přihlašovat, směrovat pomocí portálu Azure Stack User Portal.Finally, Mary can direct Fabrikam users with @fabrikam.onmicrosoft.com accounts to sign in by visiting the Azure Stack Hub user portal. Pro systémy s více uzly je adresa URL uživatelského portálu formátována jako https://management.<region>.<FQDN> .For multinode systems, the user portal URL is formatted as https://management.<region>.<FQDN>. V případě nasazení ASDK je adresa URL https://portal.local.azurestack.external .For an ASDK deployment, the URL is https://portal.local.azurestack.external.

Marie musí také směrovat jakékoli cizí objekty zabezpečení (uživatelé v adresáři Fabrikam bez přípony fabrikam.onmicrosoft.com), aby se přihlásili pomocí https://<user-portal-url>/fabrikam.onmicrosoft.com .Mary must also direct any foreign principals (users in the Fabrikam directory without the suffix of fabrikam.onmicrosoft.com) to sign in using https://<user-portal-url>/fabrikam.onmicrosoft.com. Pokud neurčíte /fabrikam.onmicrosoft.com tenanta adresáře v adrese URL, odešlou se do výchozího adresáře a zobrazí se chyba oznamující, že správce nesouhlasí.If they don't specify the /fabrikam.onmicrosoft.com directory tenant in the URL, they're sent to their default directory and receive an error that says their administrator hasn't consented.

Zrušení registrace adresáře hostůUnregister a guest directory

Pokud už nechcete, aby se přihlásili Azure Stack služby centra z tenanta hostovaného adresáře, můžete zrušit registraci adresáře.If you no longer want to allow sign-ins to Azure Stack Hub services from a guest directory tenant, you can unregister the directory. Znovu se musí nakonfigurovat adresář domovského Azure Stack centra i adresář hosta:Again, both the home Azure Stack Hub directory and guest directory will need to be configured:

  1. Jako správce adresáře hosta (Marie v tomto scénáři) spusťte Unregister-AzsWithMyDirectoryTenant .As the administrator of the guest directory (Mary in this scenario), run Unregister-AzsWithMyDirectoryTenant. Rutina odinstaluje všechny aplikace Azure Stack hub z nového adresáře.The cmdlet uninstalls all the Azure Stack Hub apps from the new directory.

    ## 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 = "fabrikam.onmicrosoft.com"
    
    Unregister-AzsWithMyDirectoryTenant `
     -TenantResourceManagerEndpoint $tenantARMEndpoint `
     -DirectoryTenantName $guestDirectoryTenantName `
     -Verbose 
    
  2. Jako správce služby Azure Stack hub (v tomto scénáři) spusťte Unregister-AzSGuestDirectoryTenant rutinu:As the service administrator of Azure Stack Hub (you in this scenario), run the 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 = "fabrikam.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
    

    Upozornění

    Kroky pro vypnutí víceklientské architektury se musí provádět v daném pořadí.The disable multi-tenancy steps must be performed in order. Krok #1 se nezdařil, pokud je nejprve dokončen krok #2.Step #1 fails if step #2 is completed first.

Načíst sestavu stavu identity centra Azure StackRetrieve Azure Stack Hub identity health report

Nahraďte <region> <domain> <homeDirectoryTenant> zástupné symboly, a pak spusťte následující rutinu jako správce centra Azure Stack.Replace the <region>, <domain>, and <homeDirectoryTenant> placeholders, then execute the following cmdlet as the Azure Stack Hub administrator.


$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

Aktualizovat oprávnění tenanta Azure ADUpdate Azure AD tenant permissions

Tato akce vymaže výstrahu v Azure Stackovém centru, což značí, že adresář vyžaduje aktualizaci.This action will clear an alert in Azure Stack Hub, indicating that a directory requires an update. Ze složky Azurestack-Tools-Master/identity spusťte následující příkaz:Run the following command from the Azurestack-tools-master/identity folder:

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

Skript vás vyzve k zadání přihlašovacích údajů správce v tenantovi Azure AD a spuštění trvá několik minut.The script prompts you for administrative credentials on the Azure AD tenant, and takes several minutes to run. Výstraha by se měla po spuštění rutiny vymazat.The alert should clear after you run the cmdlet.

Další krokyNext steps