.
Чтобы выяснить, как в Microsoft организована служба федерации, я побеседовал с бывшим обладателем звания «наиболее ценный специалист» (MVP) по службам каталогов Лорой Хантер (бывшим, поскольку Лора Хантер согласилась на должность архитектора управления удостоверениями и доступом специально для служб федерации в Microsoft) на саммите Cloud Identity Summit. Помимо выполнения своих основных обязанностей управления инфраструктурой федерации, она выступает на различных конференциях, рассказывая ИТ-специалистам об организации рабочей среды службы федерации, которая, возможно, является крупнейшей в мире.
Как все начиналось
Внутреннее тестирование федерации в Microsoft началось с выпуска служб федерации Active Directory (AD FS) 1.0 при появлении Windows Server 2003 R2. Исходным стимулом для реализации AD FS была не потребность в обеспечении доступа к «облачным» приложениям (это можно отнести примерно к 2005 году), а упрощение доступа к ресурсам внешних поставщиков Microsoft для сотрудников компании. Первые федеративные доверительные отношения были установлены для служб расчета заработной платы, управления персоналом, начисления пособий сотрудникам и хранилища компании Microsoft. Установление отношений доверия позволило сотрудникам Microsoft получать доступ к ресурсам поставщиков с использованием корпоративных удостоверений.
В 2010 году обновление службы федерации до версии AD FS 2.0 с поддержкой широко используемого протокола SAML, наряду с ростом «облачных» вычислений, привело к стремительному расширению использования этой службы. Разработчики Microsoft начали создавать новые и реструктурировать существующие приложения, замещая традиционную встроенную проверку подлинности Windows проверкой подлинности на основе утверждений. По оценке Лоры Хантер, в Microsoft в настоящее время действуют около 900 доверительных отношений для проверяющих сторон (хотя не все они используются для производственных служб). Поддержка производственной службы на каждом этапе жизненного цикла может потребовать до шести доверительных отношений, включающих проверку концепции, разработку, тестирование пользователями, комплексное тестирование и т. д.
Как ни странно, значительная часть этих приложений функционирует локально внутри сети Microsoft. Особенность приложений с поддержкой утверждений заключается в том, что для них не существует традиционного корпоративного брандмауэра, поскольку весь их трафик проходит через открытые порты 80 (HTTP) или 443 (HTTPS). Таким образом, приложения с поддержкой удостоверений системно-независимы и одинаково удобны как внутри, так и за пределами корпоративного брандмауэра.
Среда IAM Microsoft
На приведенном рисунке показана общая схема среды управления удостоверениями и доступом (IAM) в Microsoft. Она включает три основных сегмента: внутреннюю сеть Microsoft, называемую CorpNet, внешнюю сеть (DMZ) для сотрудничества с партнерами и «облачные» службы. Рассмотрим сначала CorpNet. Естественно, что Microsoft применяет весь имеющийся в ее распоряжении инструментарий удостоверений, в том числе Forefront Identity Manager (FIM), для интеграции базы данных службы персонала (HR) компании в среду продукта. Эта среда является «вышестоящей» по отношению к среде AD, куда подаются выбранные HR-данные. Легко предположить, что такая компания, как Microsoft, насчитывающая десятки тысяч разработчиков, имеет чрезвычайно сложную конфигурацию AD.
Напомним, что, когда в сценарии федерации звучит фраза «Регистрация с использованием корпоративных учетных данных», соответствующий процесс проверки подлинности зачастую значительно более сложен, чем может показаться. Многие компании не имеют единого домена, или леса, содержащего все учетные записи пользователей. По ряду причин учетные записи могут быть рассеяны по нескольким лесам. В частности, Microsoft имеет восемь рабочих лесов AD, в которых функционируют 18 рабочих доменов, каждый из которых может содержать корпоративные учетные данные. Существует также множество тестовых лесов и лесов разработчиков с отдельными изолированными учетными данными. Поскольку создание отдельной службы федерации для каждого хранилища учетных данных не является дорогостоящей и трудоемкой задачей, в Microsoft конфигурация основных лесов учетных записей предусматривает использование отношений доверия лесов с выборочной проверкой в случае необходимости, что открывает пользователю доступ к ресурсам (например, федерации) всех лесов. Наряду со средой AD, включающей несколько лесов, рабочая служба AD FS взаимодействует с другими источниками запросов, службами проверки подлинности и более чем 2500 поддерживаемых бизнес-приложений.
Внешняя сеть Microsoft позволяет сотрудникам компании поддерживать учетные данные партнеров и поставщиков с целью развития сотрудничества, а также открывает этим партнерам доступ к ресурсам, таким как SharePoint. Еще одним ключевым компонентом внешней сети является прокси-сервер федерации AD.
Среда «облачных» вычислений Microsoft — это огромный и жизненно важный аспект вычислительной истории Microsoft. Данная среда относится сразу к трем категориям. Внутри Microsoft используется Office 365 — версия пакета наиболее популярных настольных и серверных приложений Microsoft Office в виде SaaS-решения — с применением службы DirSync для синхронизации удостоверений между корпоративными пользователями Office 365 и службой. Платформу для разработки SaaS-приложений обеспечивает Windows Azure — PaaS-решение Microsoft. Это решение было первым «облачным» продуктом Microsoft, поскольку собственные разработчики Microsoft нуждались в платформе для создания SaaS-версий корпоративного программного обеспечения компании. Как и следовало ожидать, Windows Azure очень интенсивно применяется в Microsoft, а AD FS наряду со службой управления доступом (ACS) Windows Azure AppFabric создает для этого благоприятные условия. Наконец, Microsoft использует разнообразных сторонних поставщиков «облачных» служб и партнеров (таких, как ранее упомянутая служба расчета заработной платы).
Важность федерации
Хотя федерация — это новая служба в мире ИТ, ошибкой было бы недооценивать ее значение. В частности, службу федерации можно представить как шлюз между миром Kerberos и миром утверждений. Проверка подлинности на основе утверждений использует утверждения, «завернутые» в маркер с цифровой подписью.
Стандартом корпоративной проверки подлинности является AD с использованием билетов Kerberos. Корпоративная проверка подлинности с применением приложений на основе утверждений означает необходимость преобразования билетов в маркеры, и наоборот. Такое преобразование — основная функция службы маркеров безопасности Security Token Service (STS), которая является компонентом службы федерации, такой как AD FS.
Это означает, что когда компания начинает использовать приложения на основе утверждений как во внешней, так и во внутренней среде, служба федерации быстро становится частью критически важной инфраструктуры. Достаточно сосчитать количество стрелок между AD FS и ее прокси-сервером на рисунке, чтобы оценить ее значимость для Microsoft!
Рисунок. Среда IAM в Microsoft |
Компаниям, планирующим реализацию службы федерации, Лора Хантер рекомендует учитывать конкретные требования, определяющие необходимый вид архитектуры федерации. По ее словам, в конечном счете концепция федерации чрезвычайно проста: «Мои сотрудники обращаются к вашей информации либо ваши сотрудники — к моей, либо мои сотрудники запрашивают информацию поставщика. Кто ваши клиенты? Чью подлинность вы намерены проверять и для каких приложений?»
Предприятию, желающему проверять подлинность своих пользователей для доступа к SaaS-приложениям, вероятно, требуется локальная служба федерации. Независимому поставщику программных продуктов для облегчения пользователям проверки подлинности при обращении к «облачным» приложениям, возможно, также следует разместить свою службу федерации в «облаке».
По мнению Лоры Хантер, если существуют трудности с установкой AD FS, то это либо проблема с PKI, либо ошибка в тексте. В целом, рекомендуется строить службу федерации, ориентируясь на конечное состояние. Другими словами, с самого начала следует планировать обеспечение высокого уровня доступности. Основываясь на собственном опыте работы с AD, я предлагаю закладывать управление жизненным циклом федеративных отношений доверия с самого начала — точно так же, как организуется управление жизненным циклом для пользователей AD, групп и компьютеров.
Не забывайте также учесть требования для прокси-сервера AD FS. Вам захочется сделать прокси-сервер AD FS (вариант установки AD FS) частью своей архитектуры, помимо основной службы AD FS. Зачем нужен прокси-сервер? В отличие от самой службы AD FS, прокси-сервер не должен быть приобщен к домену; обычно он используется в «демилитаризованной зоне» для направления внешних запросов проверки подлинности службе AD FS. В случае Microsoft он открывает сотрудникам за пределами корпоративной сети доступ к приложениям на основе утверждений, а также позволяет внешним партнерам использовать некоторые из этих приложений. Подобно основной службе AD FS, конфигурация прокси-сервера должна предусматривать обеспечение высокого уровня доступности.
Федерация — это не просто дополнительный компонент, который не помешало бы иметь. Скоро она станет обязательным средством обеспечения высокой доступности вашей ИТ-инфраструктуры. Подавая пример, Microsoft IT демонстрирует важность федерации. По словам технического специалиста из Microsoft Джона Шевчука, удостоверение — это клей, скрепляющий федеративные ИТ. Тогда служба федерации, независимо от того, размещена она локально или в «облаке», — это клей, соединяющий среду AD и приложения с поддержкой удостоверений для создания федеративных ИТ.
Шон Дьюби (sdeuby@windowsitpro.com) — старший аналитик в компании Platform Vision с 25-летним стажем работы в области корпоративных информационных систем