Блог

Вы здесь

Перемещение ADFS с локальных серверов в Azure

Одно из наиболее распространённых нареканий о настройке Единого входа в Office 365 — необходимость создания новых серверов (Dirsync, ADFS, ADFS Proxy). Часто серверов, которые освобождаются при миграции почты в облако, просто не хватает для этих нужд. Разумеется, некоторые клиенты недовольны, что приходится дополнительно инвестировать в локальную ИТ инфраструктуру. К счастью, Microsoft предложили решение в данной ситуации: теперь локализация ADFS и Dirsync на Windows Azure исключает необходимость использования дополнительных локальных серверов при переходе на Office 365.

В этой статье мы пройдем путь по перемещению ADFS с локальных серверов в Azure. Если в настоящее время у Вас не развернута ADFS локально, то первую часть статьи Вы можете опустить.

Начнем с требований, которые необходимо выполнить до перехода в Azure:

  1. Разумеется, у Вас должен быть тенант в Azure.
  2. Необходимо развернуть VPN между локальной средой и Azure.
  3. Необходимо настроить новый сайт AD для Windows Azure и использовать отдельную подсеть для виртуальной машины Azure.
  4. Вы должны настроить контроллер домена и убедиться, что репликация с локальным DC функционирует.
  5. Настроить три виртуальные машины в Azure и две из них присоединить к домену.

Существует три различных способа настройки федерации Active Directory:

  • Только локально
  • Только Azure
  • Локально + Azure

Мы рассмотрим вариант «Только Azure»

Топология выглядит примерно так:

Для того чтобы перенести службы федерации Active Directory и DirSync в Azure, необходимо будет создать по крайней мере 3 виртуальные машины. Ниже приведены рекомендуемые размеры виртуальных машин Azure. 

Первоначальные шаги по перемещению DirSync следующие:

  • Создайте виртуальные машины Azure и присоедините их к домену.
  • Установите инструменты DirSync (процедура проводится также, как и на собственном локальном оборудовании).
  • Запустите мастер настройки DirSync и укажите всю информацию для Вашей учетной записи администратора AD и учетной записи администратора Office 365.
  • Проверьте синхронизацию.
  • Отключите службу синхронизации на локальном Dirsync сервере и выключите его.

Теперь необходимо установить ADFS на второй виртуальной машине, которая должна быть подключена к домену. Мы рассмотрим процесс на примере Windows Server 2012, где для этой процедуры используется компоненты мастера Add Roles и Features wizard (Server Manager — Add Roles and Features wizard).

Единственный пункт Role Service, который Вам понадобиться — Federation Service. Так же необходимо установить NET Framework 3.5, если Вы этого еще не сделали.

Скопируйте Ваш сертификат ADFS на ADFS сервер и откройте консоль IIS Manager. Разверните дерево в левой панели и выберите Ваш сервер. Затем нажмите на меню «Server Certificates».

В меню «Server Certificates» выберите действие «Import». Найдите файл сертификата, введите пароль и выберите хранилище персональных сертификатов (Personal certificate store).

Далее в левой панели выбираем Default Web Site, затем — Bindings из панели действий.

В меню Site Bindings Вы должны увидеть только один HTTP порт. Нажимаем кнопку Добавить (Add) и выбираем HTTPS. Вводим имя вашего сертификата (в нашем примере adfs.concurrency.com) и выбираем сертификат, который Вы импортировали.

Нажимаем ОК и закрываем консоль IIS Manager. Теперь открываем консоль ADFS Management. Нажмите на ссылку в середине страницы, которая называется AD FS Federation Server Configuration Wizard. Теперь мы должны выбрать пункт Create a new Federation Service и нажимаем Next.

Выбираем новый сервер федерации New federation server farm и нажимаем Next. Выбирая данный пункт, Вы всегда сможете добавить сервера ADFS позже при необходимости.

В окне Service Name убедитесь, что к SSL сертификату, который Вы импортировали, выбрано соответствующее имя Federation Service.

На следующем экране необходимо ввести учетные данные аккаунта. Аккаунт должен быть настроен таким образом, чтобы пароль никогда не истекал и не изменялся. Нажимаем Next, на сводной странице Summary page также нажимаем Next. Работа мастера завершена и теперь можно закрыть консоль управления службами федерации ADFS Management console.

Возвращаемся на старый сервер ADFS. Открываем Windows Azure Active Directory Module for Windows PowerShell и вводим следующие командлеты:

  • $cred = Get-Credential
  • Введите учетные данные от аккаунта администратора Office 365
  • Connect-MsolService -Credential $cred
  • Get-MsolDomain

Примите к сведению, какие домены являются федеративными. В нашем примере только один такой домен, поэтому следующую процедуру мы проведем один раз. Если у Вас мультидоменная федерация, то необходимо будет повторить её и для других доменов.

  • Convert-MsolDomainToStandard -DomainName concurrency.com -PasswordFile c:\passwords.txt
  • Выбрав concurrency.com Вы преобразовали его в стандартный домен. При необходимости измените путь c:\passwords.txt . Файл будет содержать временные пароли для каждого пользователя в домене на случай, если возникнут проблемы.

Возвращаемся в Azure ADFS server. Если Вы еще не установили .NET Framework 3.5 на свой ADFS server, то сделайте это сейчас. Далее загрузите и установите Microsoft Online Services Sign In Assistant 7.0. Установите Windows Azure Active Directory Module for Windows PowerShell . Открываем Windows Azure Active Directory Module for Windows PowerShell и запускаем следующие командлеты:

  • $cred = Get-Credential
  • Введите учетные данные от аккаунта администратора Office 365
  • Connect-MsolService -Credential $cred
  • Convert-MsolDomainToFederated -DomainName concurrency.com
  • Измените concurrency.com на домен, который Вам необходимо заново активировать.

Запустите Convert-MsolDomainToFederated на новом ADFS сервере, тем самым Вы сконфигурируете базы данных ADFS для подключения к Office 365.

Затем измените Ваши локальные DNS таким образом, чтобы A-запись указывала на внутренний IP адрес Вашего ADFS сервера. В нашем случае изменим adfs.concurrency.com на внутренних DNS так, чтобы она указывала на IP адрес нашего сервера ADFS Azure в подсети сайта AD. Изменив значение нашей DNS-записи мы сопоставили adfs.concurrency.com с публичным виртуальным IP-адресом нашего Azure ADFS Proxy сервера. Чтобы найти этот IP-адрес войдите в manage.windowsazure.com, перейдите на вкладку Virtual machines, выберите Вашу виртуальную машину, перейдите на панель мониторинга Dashbords и найдите его в области быстрого просмотра.

Теперь Вам необходимо добавить конечные точки для того, чтобы прокси был доступен из Интернета через порт 443. Перейдите на вкладку Endpoints и нажмите кнопку Add (Добавить) в нижней части экрана. На первой странице выберите Add Endpoint (Добавить конечную точку) и перейдите к следующему шагу. На последний странице дайте конечной точке имя, выберите TCP протокол, и присвойте 443 номер как публичному, так и частному порту.

 

Теперь войдите на Azure ADFS прокси сервер и перейдите в меню Add Roles and Features. Выберите Federation Service Proxy на экране Server Roles. 

Когда инсталляция закончится, откройте инструмент AD FS Federation Server Proxy Configuration Wizard. В окне Specify Federation Service name введите имя из конфигурации ADFS сервера, в нашем примере это adfs.concurrency.com.

Нажимаем Test Connection чтобы убедиться, что прокси «видит» Ваш ADFS сервер. Необходимо также удостоверится, что прокси сервер устанавливает соединение с ADFS-сервером через 443 порт. Если прокси не использует Ваш внутренний DNS, то он не будет знать, как найти ADFS сервер среди внутренних IP адресов. И если это так, то Вам необходимо создать запись в файле HOSTS на прокси-сервере, которая ассоциирует adfs.domain.com с внутренним сервером ADFS, а не с собственным публичным IP прокси.

Читайте также:

Синхронизация паролей при использовании DirSync