Настройка мультитенантности в Azure Stack Hub

Azure Stack Hub можно настроить для поддержки входа пользователей, которые находятся в других каталогах Azure Active Directory (Azure AD), что позволяет им использовать службы в Azure Stack Hub. Эти каталоги имеют связь "гостевой" с каталогом Azure Stack Hub и считаются гостевыми клиентами Azure AD.

В качестве примера рассмотрен сценарий:

  • Вы являетесь администратором службы contoso.onmicrosoft.com, домашнего клиента Azure AD, который предоставляет службы управления удостоверениями и доступом в Azure Stack Hub.
  • Мэри является администратором каталога adatum.onmicrosoft.com, гостевым клиентом Azure AD, где находятся гостевые пользователи.
  • Компания Mary (Adatum) использует службы IaaS и PaaS от вашей компании. Adatum хочет разрешить пользователям из гостевого каталога (adatum.onmicrosoft.com) входить в систему и использовать ресурсы Azure Stack Hub, защищенные contoso.onmicrosoft.com.

В этом руководстве описаны действия, необходимые в контексте этого сценария, чтобы включить или отключить мультитенантность в Azure Stack Hub для клиента гостевого каталога. Вы и Мэри выполните этот процесс, зарегистрировав или отменив регистрацию клиента гостевого каталога, что позволяет или отключает входы в Azure Stack Hub и использование служб пользователями Adatum.

Если вы являетесь поставщик облачных решений (CSP), у вас есть другие способы настройки и управления мультитенантным Azure Stack Hub.

Предварительные требования

Перед регистрацией или отменой регистрации гостевого каталога необходимо выполнить административные действия для соответствующих клиентов Azure AD: домашнего каталога 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

Настройка гостевого каталога

Затем Мэри (администратор каталога Adatum) должна зарегистрировать Azure Stack Hub в гостевом каталоге 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 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 в вашем каталоге.

Если вы заметили проблемы с созданием виртуальных машин в Управляемые диски (появилось в обновлении 1808), добавлен новый поставщик ресурсов диска, который требует повторного выполнения этого скрипта.

Информирование пользователей о возможности входа

Наконец, Мэри может направить пользователей Adatum с учетными @adatum.onmicrosoft.com записями для входа, перейдя на пользовательский портал Azure Stack Hub. Для систем с несколькими узлами URL-адрес пользовательского портала форматируется как https://portal.<region>.<FQDN>. Для развертывания ASDK ИСПОЛЬЗУЕТся https://portal.local.azurestack.externalURL-адрес.

Мэри также должна направлять всех иностранных субъектов (пользователей в каталоге Adatum без суффикса adatum.onmicrosoft.com) для входа с помощью https://<user-portal-url>/adatum.onmicrosoft.com. Если клиент каталога не указан /adatum.onmicrosoft.com в URL-адресе, он отправляется в каталог по умолчанию и получает сообщение об ошибке, в которую администратор не согласился.

Отмена регистрации гостевого каталога

Если вы больше не хотите разрешать вход в службы Azure Stack Hub из клиента гостевого каталога, можно отменить регистрацию каталога. Опять же, необходимо настроить как домашний каталог Azure Stack Hub, так и гостевой каталог:

  1. Как администратор гостевого каталога (Мэри в этом сценарии), выполните команду Unregister-AzsWithMyDirectoryTenant. Командлет удалит все приложения 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 командлет:

    ## 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
    

    Предупреждение

    Действия по отключению мультитенантности должны выполняться по порядку. Шаг 1 не удастся выполнить, если перед ним выполнен шаг 2.

Получение отчета о работоспособности удостоверений Azure Stack Hub

Замените заполнители <region>, <domain> и <homeDirectoryTenant>, а затем выполните следующий командлет от имени администратора Azure Stack Hub.


$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

Обновление разрешений арендатора Azure AD

Это действие очищает оповещение в 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

Этот скрипт запрашивает учетные данные администратора в арендаторе Azure AD. Выполняется он несколько минут. Оповещение очищается после запуска командлета.

Управление на основе портала не поддерживается для этой версии

Управление несколькими клиентами с помощью портала администрирования доступно только для версий 2102 и более поздних версий. Выберите более позднюю версию с помощью селектора в левой верхней части страницы.

Регистрация гостевого каталога

Чтобы зарегистрировать гостевой каталог для мультитенантности, необходимо настроить как домашний каталог Azure Stack Hub, так и гостевой каталог.

Настройка каталога Azure Stack Hub

Первый шаг — сделать систему Azure Stack Hub известной о гостевом каталоге. В этом примере каталог из компании Мэри, Adatum, называется adatum.onmicrosoft.com.

  1. Войдите на портал администрирования Azure Stack Hub и перейдите к всем службам — каталоги.

    Screenshot that shows the list of directories.

  2. Нажмите кнопку "Добавить ", чтобы начать процесс подключения. Введите имя гостевого каталога "adatum.onmicrosoft.com", а затем нажмите кнопку "Добавить".

    Screenshot that shows how to add a new directory.

  3. Гостевой каталог отображается в представлении списка с состоянием незарегистрированного.

    Screenshot that shows the new guest directory with an unregistered status.

  4. Только Мэри имеет учетные данные для проверки подлинности в гостевом каталоге, поэтому необходимо отправить ей ссылку, чтобы завершить регистрацию. Установите флажок adatum.onmicrosoft.com и нажмите кнопку "Зарегистрировать".

    Screenshot that shows selecting a directory to register.

  5. Откроется новая вкладка браузера. Щелкните ссылку "Копировать " в нижней части страницы и предоставьте ее Мэри.

  6. Если у вас есть учетные данные для гостевого каталога, вы можете выполнить регистрацию самостоятельно, выбрав "Войти".

    Screenshot that shows selecting sign in.

Настройка гостевого каталога

Мэри получила сообщение электронной почты со ссылкой для регистрации каталога. Она открывает ссылку в браузере и подтверждает Azure Active Directory и конечную точку Azure Resource Manager вашей системы Azure Stack Hub.

  1. Мэри входит, используя учетные данные глобального администратора для adatum.onmicrosoft.com.

    Примечание

    Перед входом убедитесь, что блокировщики всплывающих окон отключены.

    Screenshot that shows signing in to manage a directory.

  2. Мэри проверяет состояние каталога и видит, что он не зарегистрирован.

    Screenshot that shows an unregistered directory.

  3. Мэри выбирает "Зарегистрировать ", чтобы начать процесс.

    Примечание

    Требуемые объекты для Visual Studio Code могут не создаваться и должны использовать PowerShell.

    Screenshot that shows the starting directory registration.

  4. После завершения процесса регистрации Мэри может просмотреть все приложения, созданные в каталоге, и проверить их состояние.

    Screenshot that shows a registered directory.

  5. Мэри успешно завершила процесс регистрации и теперь может направлять пользователей Adatum с @adatum.onmicrosoft.com учетными записями для входа, перейдя на пользовательский портал Azure Stack Hub. Для систем с несколькими узлами URL-адрес пользовательского портала форматируется как https://portal.<region>.<FQDN>. Для развертывания ASDK ИСПОЛЬЗУЕТся https://portal.local.azurestack.externalURL-адрес.

Важно!

Чтобы просмотреть состояние каталога на портале администрирования, оператор Azure Stack может занять до одного часа.

Мэри также должна направлять всех иностранных субъектов (пользователей в каталоге Adatum без суффикса adatum.onmicrosoft.com) для входа с помощью https://<user-portal-url>/adatum.onmicrosoft.com. Если клиент каталога не указан /adatum.onmicrosoft.com в URL-адресе, он отправляется в каталог по умолчанию и получает сообщение об ошибке, в которую администратор не согласился.

Отмена регистрации гостевого каталога

Если вы больше не хотите разрешать вход в службы Azure Stack Hub из клиента гостевого каталога, можно отменить регистрацию каталога. Опять же, необходимо настроить как домашний каталог Azure Stack Hub, так и гостевой каталог:

Настройка гостевого каталога

Мэри больше не использует службы в Azure Stack Hub и должна удалить объекты. Она снова открывает URL-адрес, полученный по электронной почте, чтобы отменить регистрацию каталога. Перед началом этого процесса Мэри удаляет все ресурсы из подписки Azure Stack Hub.

  1. Мэри входит, используя учетные данные глобального администратора для adatum.onmicrosoft.com.

    Примечание

    Перед входом убедитесь, что блокировщики всплывающих окон отключены.

    Screenshot that shows selecting Sign In.

  2. Мэри видит статус каталога.

    Screenshot that shows a registered directory.

  3. Мэри выбирает отмену регистрации , чтобы начать действие.

    Screenshot that shows selecing Unregister to unregister a directory.

  4. По завершении процесса отображается состояние " Не зарегистрировано":

    Screenshot that shows a directory that has been unregistered.

    Мэри успешно отменила регистрацию каталога adatum.onmicrosoft.com.

    Примечание

    Отображение каталога как не зарегистрированного на портале администрирования Azure Stack может занять до одного часа.

Настройка каталога Azure Stack Hub

Как оператор Azure Stack Hub вы можете удалить гостевой каталог в любой момент, даже если Мэри ранее не отменяла регистрацию каталога.

  1. Войдите на портал администрирования Azure Stack Hub и перейдите к всем службам — каталоги.

    Screenshot that shows all directories.

  2. Установите флажок adatum.onmicrosoft.com каталога и нажмите кнопку "Удалить".

    Screenshot that shows selecting Remove for a directory.

  3. Подтвердите действие удаления, введя "Да " и выбрав " Удалить".

    Screenshot that shows how to remove a directory.

    Вы успешно удалили каталог.

Управление необходимыми обновлениями

Обновления Azure Stack Hub могут ввести поддержку новых средств или служб, для которых может потребоваться обновление домашнего или гостевого каталога.

Как оператор Azure Stack Hub вы получите оповещение на портале администрирования, информирующее вас об обязательном обновлении каталога. Вы также можете определить, требуется ли обновление для домашних или гостевых каталогов, просмотрев панель каталогов на портале администрирования. Каждый список каталогов показывает тип каталога. Тип может быть домашним или гостевым каталогом, а его состояние отображается.

Обновление каталогов Azure Stack Hub

Если требуется обновление каталога Azure Stack Hub, отображается состояние "Требуется обновление ". Пример:

Screenshot that shows a directory requiring an update.

Чтобы обновить каталог, установите флажок "Имя каталога " и нажмите кнопку "Обновить".

Обновление гостевого каталога

Оператор Azure Stack Hub также должен сообщить владельцу гостевого каталога, что им нужно обновить свой каталог, используя URL-адрес, общий для регистрации. Оператор может повторно отправить URL-адрес, но он не изменится.

Мэри, владелец гостевого каталога, открывает URL-адрес, полученный по электронной почте при регистрации каталога:

  1. Мэри входит, используя учетные данные глобального администратора для adatum.onmicrosoft.com. Перед входом убедитесь, что блокировщики всплывающих окон отключены.

    Screenshot that shows selecting Sign In.

  2. Мэри видит статус каталога, заявив, что обновление является обязательным.

  3. Действие "Обновить " доступно для Мэри, чтобы обновить гостевой каталог. Отображение каталога, зарегистрированного на портале администрирования Azure Stack, может занять до одного часа.

Дополнительные возможности

Оператор Azure Stack Hub может просматривать подписки, связанные с каталогом. Кроме того, каждый каталог имеет действие для управления каталогом непосредственно в портал Azure. Для управления целевой каталог должен иметь разрешения на управление в портал Azure.

Дальнейшие действия