Active
Directory Federation Services (AD FS): полное руководство для начинающих и
опытных системных администраторов
Active
Directory Federation Services (AD FS) — это мощный инструмент, который
позволяет организациям обеспечивать единый вход (Single Sign-On, SSO) для
пользователей в распределенных средах. С помощью AD FS пользователи могут
получать доступ к приложениям и ресурсам, расположенным как внутри организации,
так и за ее пределами, без необходимости повторной аутентификации. В этой
статье мы подробно разберем, что такое AD FS, как он работает, и как его
настроить. Материал будет полезен как начинающим, так и опытным системным
администраторам.
Что
такое Active Directory Federation Services (AD FS)?
Active
Directory Federation Services (AD FS) — это компонент операционной системы
Windows Server, который обеспечивает федеративную идентификацию и единый вход
(SSO) для пользователей. Федеративная идентификация позволяет организациям
делиться цифровыми идентификаторами и правами доступа между доверенными партнерами,
что упрощает доступ к ресурсам и повышает безопасность.
AD FS
использует стандарты безопасности, такие как Security Assertion Markup Language
(SAML), OAuth и OpenID Connect, чтобы обеспечить безопасный обмен информацией
между различными системами. Это делает AD FS идеальным решением для
организаций, которые используют облачные сервисы, такие как Microsoft 365, или
сотрудничают с внешними партнерами.
Основные
компоненты AD FS
Чтобы понять,
как работает AD FS, важно разобраться в его основных компонентах:
1.
Федеративный сервер (Federation Server). Это основной
компонент AD FS, который отвечает за аутентификацию пользователей и выдачу
токенов безопасности. Федеративный сервер взаимодействует с Active Directory
для проверки учетных данных пользователей.
2.
Федеративный сервер прокси (Federation Server Proxy). Этот компонент
используется для обеспечения безопасного доступа к федеративному серверу из
внешних сетей. Он действует как посредник между внешними пользователями и
федеративным сервером.
3.
База данных конфигурации AD FS. В этой базе
данных хранятся все настройки и конфигурации AD FS, включая информацию о
доверенных партнерах и правилах авторизации.
4.
Служба веб-приложений
(Web Application Proxy). Этот компонент
позволяет публиковать внутренние приложения для доступа из внешних сетей,
обеспечивая при этом безопасность и контроль доступа.
5.
Доверенные партнеры (Trusted Partners). Это организации
или системы, с которыми настроена федеративная идентификация. Доверенные
партнеры могут быть как внутренними, так и внешними.
Как работает
AD FS?
Процесс работы
AD FS можно разделить на несколько этапов:
1.
Аутентификация пользователя. Пользователь
пытается получить доступ к защищенному ресурсу, например, облачному приложению.
Приложение перенаправляет пользователя на федеративный сервер AD FS для
аутентификации.
2.
Проверка учетных данных. Федеративный сервер проверяет
учетные данные пользователя в Active Directory. Если аутентификация успешна,
сервер выдает токен безопасности.
3.
Выдача токена. Токен безопасности содержит информацию о пользователе,
такую как его идентификатор и права доступа. Этот токен передается обратно в
приложение.
4.
Авторизация доступа. Приложение проверяет токен и
предоставляет пользователю доступ к запрошенному ресурсу.
Преимущества
использования AD FS
Использование
AD FS предоставляет множество преимуществ для организаций:
1.
Единый вход (SSO). Пользователи могут получать доступ к множеству приложений
и ресурсов с помощью одного набора учетных данных, что упрощает процесс
аутентификации и повышает удобство.
2.
Безопасность. AD FS использует современные стандарты безопасности, такие
как SAML и OAuth, чтобы обеспечить безопасный обмен информацией между
системами.
3.
Интеграция с облачными сервисами. AD FS легко
интегрируется с облачными сервисами, такими как Microsoft 365, что позволяет
организациям использовать гибридные среды.
4.
Гибкость. AD FS поддерживает множество сценариев использования,
включая федерацию с внешними партнерами и интеграцию с различными приложениями.
5.
Снижение затрат. Использование AD FS позволяет сократить затраты на
управление учетными записями и паролями, так как пользователям не нужно
запоминать множество учетных данных.
Настройка AD
FS: пошаговое руководство
Теперь, когда
мы разобрались с основами AD FS, перейдем к практической части — настройке AD
FS. В этом разделе мы рассмотрим, как установить и настроить AD FS на сервере
под управлением Windows Server.
Шаг 1: Установка роли AD FS
Установка роли AD FS — это первый и важный этап, который требует
внимательного подхода. Рассмотрим процесс установки пошагово.
1.1. Подготовка сервера
Перед установкой AD FS убедитесь, что ваш сервер соответствует следующим
требованиям:
- Установлена операционная
система Windows Server (рекомендуется последняя версия).
- Сервер присоединен к домену
Active Directory.
- На сервере настроен статический
IP-адрес.
- Установлены все последние
обновления Windows.
1.2. Установка роли AD FS
- Откройте Диспетчер
серверов (Server Manager).
- В меню выберите "Управление" (Manage)
→ "Добавить роли и компоненты" (Add Roles and
Features).
- В мастере добавления ролей
нажмите "Далее" (Next) до шага выбора ролей.
- В списке ролей найдите и выберите "Службы федерации Active Directory" (Active Directory Federation Services).
- Нажмите "Добавить
компоненты" (Add Features), если появится запрос на
установку дополнительных компонентов.
- Продолжайте следовать
инструкциям мастера, пока не дойдете до шага "Подтверждение" (Confirmation).
Нажмите "Установить" (Install).
1.3. Установка сертификата SSL
AD FS требует наличия SSL-сертификата для защиты соединений. Если у вас еще
нет сертификата:
- Создайте запрос на сертификат
(CSR) и получите SSL-сертификат от доверенного центра сертификации (CA).
- Установите сертификат на
сервер, используя оснастку "Управление сертификатами" (Certificates
Manager).
1.4. Завершение установки
После завершения установки роли AD FS сервер будет готов к настройке
федеративной службы.
Шаг 2: Настройка AD FS
После установки роли AD FS необходимо настроить федеративную службу. Этот
процесс включает создание фермы серверов и настройку базы данных конфигурации.
2.1. Запуск мастера настройки AD FS
- Откройте Диспетчер
серверов и выберите "AD FS" в меню.
- Нажмите "Настроить
федеративную службу" (Configure the federation service).
2.2. Создание первой федеративной службы
- В мастере настройки
выберите "Создать первую федеративную службу в ферме
серверов" (Create the first federation server in a
federation server farm).
- Укажите учетную запись с
правами администратора домена для настройки AD FS.
2.3. Настройка сертификата SSL
- Выберите установленный
SSL-сертификат из списка доступных.
- Убедитесь, что сертификат
соответствует полному доменному имени (FQDN) вашего сервера AD FS.
2.4. Настройка базы данных конфигурации
- Выберите тип базы данных:
- Windows Internal Database
(WID): Подходит
для небольших организаций.
- SQL Server: Рекомендуется для
крупных организаций с высокой нагрузкой.
- Нажмите "Далее" и
завершите настройку.
2.5. Завершение настройки
После завершения настройки AD FS будет готов к использованию. Перезагрузите
сервер, если это потребуется.
Шаг 3: Настройка доверенных партнеров
Доверенные партнеры — это организации или системы, с которыми настроена
федеративная идентификация. Рассмотрим, как добавить доверенного партнера.
3.1. Добавление доверенного партнера
- Откройте консоль управления AD
FS.
- Перейдите в раздел "Доверенные
отношения" (Trust Relationships) → "Доверенные
партнеры" (Relying Party Trusts).
- Нажмите "Добавить
доверенного партнера" (Add Relying Party Trust).
3.2. Выбор источника данных
- Выберите способ добавления партнера:
- Импорт метаданных: Если партнер
предоставляет файл метаданных.
- Ручная настройка: Если метаданные
недоступны.
- Укажите URL-адрес метаданных
или введите параметры вручную.
3.3. Настройка правил авторизации
- После добавления партнера настройте правила
авторизации:
- Перейдите в свойства
доверенного партнера.
- Выберите вкладку "Правила
выдачи" (Issuance Authorization Rules).
- Создайте правило, которое
определяет, какие пользователи или группы имеют доступ к ресурсам
партнера.
3.4. Тестирование доверенного партнера
- Попробуйте войти в систему
через доверенного партнера, чтобы убедиться, что настройки работают
корректно.
- Проверьте логи AD FS на наличие
ошибок, если доступ не предоставляется.
Шаг 4: Публикация приложений через Web
Application Proxy
Web Application Proxy (WAP) позволяет публиковать внутренние приложения для
доступа из внешних сетей, обеспечивая при этом безопасность и контроль доступа.
4.1. Установка роли Web Application
Proxy
- Откройте Диспетчер
серверов и выберите "Добавить роли и
компоненты".
- Установите роль "Службы
удаленного доступа" (Remote Access).
- В мастере настройки
выберите "Web Application Proxy".
4.2. Настройка Web Application Proxy
- После установки роли
откройте "Мастер настройки Web Application Proxy".
- Укажите адрес федеративного
сервера AD FS и учетные данные администратора.
- Настройте сертификат SSL для
защиты соединений.
4.3. Публикация приложения
- В консоли управления Web
Application Proxy выберите "Публикация" (Publish).
- Укажите параметры приложения:
- Внешний URL: Адрес, по которому
приложение будет доступно извне.
- Внутренний URL: Адрес приложения внутри
сети.
- Метод аутентификации: Выберите подходящий
метод (например, интеграция с AD FS).
- Настройте параметры
безопасности, такие как предварительная аутентификация и ограничение
доступа по IP-адресам.
4.4. Тестирование публикации
- Попробуйте получить доступ к
приложению через внешний URL.
- Проверьте, корректно ли
работает аутентификация и авторизация.
Дополнительные рекомендации по настройке
AD FS
- Использование нескольких
федеративных серверов. Для повышения отказоустойчивости
рекомендуется развернуть несколько серверов AD FS и настроить балансировку
нагрузки.
- Мониторинг и логирование. Включите подробное
логирование в AD FS для отслеживания событий и устранения неполадок.
- Интеграция с Multi-Factor Authentication (MFA). Для повышения безопасности настройте MFA для
доступа к ресурсам через AD FS.
- Регулярное обновление. Убедитесь, что серверы AD
FS и Web Application Proxy обновлены до последних версий.
Пример использования AD FS в реальной
жизни
Рассмотрим пример организации, которая использует AD FS для интеграции с
Microsoft 365 и предоставления доступа партнерам к внутренним приложениям.
- Настройка AD FS. Организация устанавливает
AD FS и настраивает федеративную службу.
- Интеграция с Microsoft 365. AD FS интегрируется с
Azure AD, что позволяет пользователям входить в Microsoft 365 с
использованием корпоративных учетных данных.
- Публикация приложений. Организация публикует
внутренние приложения через Web Application Proxy, предоставляя доступ
партнерам.
Единый вход. Пользователи получают доступ ко всем ресурсам с помощью одного набора учетных данных.
Установка и настройка AD FS с помощью PowerShell
PowerShell — это мощный инструмент для автоматизации задач в Windows Server. С его помощью можно установить и настроить AD FS, что особенно полезно в крупных организациях, где требуется массовая настройка серверов. Рассмотрим, как это сделать.
1. Установка роли AD FS через PowerShell
Откройте PowerShell с правами администратора.
Нажмите
Win + X
и выберите "Windows PowerShell (Admin)".
Установите роль AD FS.
Используйте команду:Install-WindowsFeature -Name ADFS-Federation -IncludeManagementTools
Эта команда устанавливает роль AD FS и необходимые инструменты управления.
Проверьте установку.
После завершения установки убедитесь, что роль установлена корректно:Get-WindowsFeature -Name ADFS-Federation
В выводе команды должно быть указано, что роль установлена.
2. Настройка AD FS через PowerShell
Импортируйте модуль AD FS.
Import-Module ADFS
Создайте ферму серверов AD FS.
Используйте командуInstall-AdfsFarm
, чтобы настроить первую федеративную службу:Install-AdfsFarm ` -CertificateThumbprint "Thumbprint_SSL_Certificate" ` -FederationServiceName "sts.yourdomain.com" ` -ServiceAccountCredential (Get-Credential) ` -OverwriteConfiguration
Где:
CertificateThumbprint
— отпечаток SSL-сертификата.FederationServiceName
— полное доменное имя (FQDN) сервера AD FS.ServiceAccountCredential
— учетные данные учетной записи службы AD FS.
Настройка базы данных конфигурации.
Если вы используете SQL Server вместо WID, укажите параметр-SQLConnectionString
:Install-AdfsFarm ` -CertificateThumbprint "Thumbprint_SSL_Certificate" ` -FederationServiceName "sts.yourdomain.com" ` -ServiceAccountCredential (Get-Credential) ` -SQLConnectionString "Data Source=SQLServerName;Initial Catalog=ADFSConfiguration;Integrated Security=True" ` -OverwriteConfiguration
Проверка настройки.
После завершения настройки проверьте состояние AD FS:Get-AdfsProperties
3. Настройка доверенных партнеров через PowerShell
Добавление доверенного партнера.
Используйте командуAdd-AdfsRelyingPartyTrust
:Add-AdfsRelyingPartyTrust ` -Name "PartnerApp" ` -Identifier "https://partnerapp.com" ` -WsFedEndpoint "https://partnerapp.com/wsfed" ` -IssuanceAuthorizationRules "@RuleTemplate = `"AllowAllAuthZRule`" => issue(Type = `"http://schemas.microsoft.com/authorization/claims/permit`", Value = `"true`");"
Где:
Name
— имя доверенного партнера.Identifier
— уникальный идентификатор партнера.WsFedEndpoint
— конечная точка WS-Federation партнера.
Настройка правил авторизации.
Используйте командуSet-AdfsRelyingPartyTrust
для настройки правил:Set-AdfsRelyingPartyTrust ` -TargetName "PartnerApp" ` -IssuanceAuthorizationRules "@RuleTemplate = `"AllowAllAuthZRule`" => issue(Type = `"http://schemas.microsoft.com/authorization/claims/permit`", Value = `"true`");"
4. Публикация приложений через Web Application Proxy с помощью PowerShell
Установка роли Web Application Proxy.
Используйте команду:Install-WindowsFeature -Name Web-Application-Proxy -IncludeManagementTools
Настройка Web Application Proxy.
Используйте командуInstall-WebApplicationProxy
:Install-WebApplicationProxy ` -CertificateThumbprint "Thumbprint_SSL_Certificate" ` -FederationServiceName "sts.yourdomain.com" ` -FederationServiceTrustCredential (Get-Credential)
Публикация приложения.
Используйте командуAdd-WebApplicationProxyApplication
:Add-WebApplicationProxyApplication ` -Name "InternalApp" ` -ExternalUrl "https://app.yourdomain.com" ` -ExternalCertificateThumbprint "Thumbprint_SSL_Certificate" ` -BackendServerUrl "http://internalapp.local" ` -ClientCertificatePreference "Ignore" ` -DisableTranslateUrlInRequestHeaders:$false ` -DisableTranslateUrlInResponseHeaders:$false
Где:
Name
— имя приложения.ExternalUrl
— внешний URL приложения.BackendServerUrl
— внутренний URL приложения.
Проверка публикации.
Убедитесь, что приложение опубликовано:Get-WebApplicationProxyApplication
Преимущества использования PowerShell для настройки AD FS
Автоматизация. PowerShell позволяет автоматизировать процесс установки и настройки, что особенно полезно при развертывании AD FS на нескольких серверах.
Гибкость. С помощью PowerShell можно настроить любые параметры AD FS, включая сложные сценарии федерации.
Повторяемость. Скрипты PowerShell можно сохранить и использовать для повторной настройки в других средах.
Интеграция с другими инструментами. PowerShell легко интегрируется с другими системами, такими как Azure, SQL Server и т.д.
Пример скрипта для автоматической установки и настройки AD FS
Вот пример полного скрипта для установки и настройки AD FS с использованием PowerShell:
# Установка роли AD FS Install-WindowsFeature -Name ADFS-Federation -IncludeManagementTools # Импорт модуля AD FS Import-Module ADFS # Настройка фермы серверов AD FS $credential = Get-Credential Install-AdfsFarm ` -CertificateThumbprint "Thumbprint_SSL_Certificate" ` -FederationServiceName "sts.yourdomain.com" ` -ServiceAccountCredential $credential ` -OverwriteConfiguration # Добавление доверенного партнера Add-AdfsRelyingPartyTrust ` -Name "PartnerApp" ` -Identifier "https://partnerapp.com" ` -WsFedEndpoint "https://partnerapp.com/wsfed" ` -IssuanceAuthorizationRules "@RuleTemplate = `"AllowAllAuthZRule`" => issue(Type = `"http://schemas.microsoft.com/authorization/claims/permit`", Value = `"true`");" # Установка и настройка Web Application Proxy Install-WindowsFeature -Name Web-Application-Proxy -IncludeManagementTools Install-WebApplicationProxy ` -CertificateThumbprint "Thumbprint_SSL_Certificate" ` -FederationServiceName "sts.yourdomain.com" ` -FederationServiceTrustCredential $credential # Публикация приложения Add-WebApplicationProxyApplication ` -Name "InternalApp" ` -ExternalUrl "https://app.yourdomain.com" ` -ExternalCertificateThumbprint "Thumbprint_SSL_Certificate" ` -BackendServerUrl "http://internalapp.local" ` -ClientCertificatePreference "Ignore" ` -DisableTranslateUrlInRequestHeaders:$false ` -DisableTranslateUrlInResponseHeaders:$false
Заключение
Настройка Active Directory Federation Services (AD FS) — это
многоэтапный процесс, который требует внимания к деталям. Однако правильно
настроенная система AD FS обеспечивает безопасный и удобный доступ к ресурсам
как для внутренних пользователей, так и для внешних партнеров. Следуя этому
руководству, вы сможете успешно развернуть и настроить AD FS в своей организации.
Использование PowerShell для установки и настройки AD FS значительно упрощает процесс, особенно в крупных организациях. С помощью PowerShell можно автоматизировать рутинные задачи, минимизировать ошибки и обеспечить повторяемость конфигураций. Этот подход особенно полезен для опытных системных администраторов, которые хотят сэкономить время и повысить эффективность своей работы.