← Cloudflare One / cloudflare-one / integrations / identity-providers
Универсальный SAML 2.0
Cloudflare One интегрируется с любым поставщиком идентификации, поддерживающим SAML 2.0. Если ваш поставщик идентификации отсутствует в списке интегрированных методов входа в Cloudflare One, его можно настроить с помощью SAML 2.0 (или OpenID, если он основан на OIDC). Если для поставщика идентификации из списка интеграций нужно передавать дополнительные заголовки или claim SAML, можно также использовать Generic SAML.
Предварительные требования
Минимальные требования к поставщикам идентификации:
- IdP должен соответствовать SAML 2.0.
- IdP должен предоставить URL единого входа, Entity ID or Issuer URL, а также Сертификат подписи.
- IdP должен включать открытый ключ подписи в ответ SAML.
1. Создайте приложение в своём поставщике идентификации
Большинство поставщиков удостоверений позволяют пользователям создать Приложение. В этом контексте приложение представляет собой набор параметров, которые поставщик идентификации передаёт Cloudflare для настройки интеграции.
Типичные требования к настройке:
- Создайте новую интеграцию в поставщике идентификации с типом, установленным как SAML.
- Настройте оба Entity/Issuer ID и URL единого входа к:
https://<your-team-name>.cloudflareaccess.com/cdn-cgi/access/callbackИмя вашей команды можно найти в Панель управления Cloudflare ↗ в разделе Настройки > Название и домен команды > Название команды.
- Задайте Формат Name ID/Email к
emailAddress. - (Необязательно) Установите политику сигнатур на Always Sign.
(Необязательно) Загрузите метаданные SAML
Если ваш поставщик идентификации поддерживает настройку через файл метаданных, можно использовать стандартную конечную точку метаданных или конечную точку, специфичную для данного поставщика:
- По умолчанию:
https://<your-team-name>.cloudflareaccess.com/cdn-cgi/access/saml-metadata - Специфично для поставщика идентификации:
https://<your-team-name>.cloudflareaccess.com/cdn-cgi/access/<identity-provider-id>/saml-metadata, где<identity-provider-id>этоidзначение, полученное из List Access identity providers. Используйте эту конечную точку, если ваш IdP требует конфигурацию, не указанную в файле метаданных по умолчанию.
Чтобы скачать файл метаданных SAML, скопируйте endpoint метаданных в адресную строку браузера и сохраните страницу как .xml файл. Загрузите этот XML-файл поставщику идентификации.
2. Добавьте поставщика идентификации SAML в Cloudflare One
- В Панель управления Cloudflare ↗, перейдите в Zero Trust > Интеграции > Поставщики удостоверений.
- Выберите Добавить нового поставщика идентификации и выберите SAML.
- Выберите понятное имя для своего поставщика идентификации.
- Введите Single Sign on URL, IdP Entity ID or Issuer URL, а также Сертификат подписи полученный от вашего поставщика идентификации.
- (Необязательно) Чтобы включить SCIM, обратитесь к Синхронизируйте пользователей и группы.
- (Необязательно) В разделе Необязательные конфигурации, настройте дополнительные параметры SAML.
- Выберите Save.
-
Добавьте следующее разрешение в свой
cloudflare_api_token↗:Access: Organizations, Identity Providers, and Groups Write
-
Настройте
cloudflare_zero_trust_access_identity_provider↗ ресурс:resource "cloudflare_zero_trust_access_identity_provider" "generic_saml_example" { account_id = var.cloudflare_account_id name = "Generic SAML example" type = "saml" config = { sso_target_url = "https://example.com/1234/sso/saml" issuer_url = "https://example.com/1234" idp_public_certs = ["-----BEGIN CERTIFICATE-----\nXXXXX\n-----END CERTIFICATE-----"] sign_request = false email_attribute_name = "email" attributes = ["employeeID", "groups"] } }
3. Проверьте подключение
Теперь вы можете Протестируйте интеграцию с IdP. Успешный ответ должен возвращать настроенные атрибуты SAML.
Синхронизируйте пользователей и группы
Стандартная интеграция SAML позволяет синхронизировать группы пользователей и автоматически лишать их доступа с помощью SCIM.
SCIM по-разному влияет на оценку политик Access и Gateway.
Access оценивает личность пользователя и членство в группах на основании утверждения SAML или токена OIDC, возвращённого поставщиком идентификации во время аутентификации. SCIM предоставляет читаемые названия групп в конструкторе политик Access, но Access не использует членство в группах SCIM для оценки входа. Если вы включите Включить отключение учётных записей пользователей, удаление пользователя из приложения SCIM аннулирует его активные сессии Access. Вы также можете настроить SCIM так, чтобы сессии аннулировались после изменения членства в группе. Access оценивает обновлённые данные поставщика идентификации при повторной аутентификации пользователя.
Gateway оценивает политики на основе личности по отношению к User Registry identity. SCIM обновляет эту идентификационную информацию при изменении пользователей или членства в группах, не дожидаясь повторной аутентификации пользователя. Профили устройств Cloudflare One Client используют ту же синхронизированную идентификационную информацию.
Предварительные требования
Ваш поставщик идентификации должен поддерживать версию SCIM 2.0.
1. Включите SCIM в Cloudflare One
-
В Панель управления Cloudflare ↗, перейдите в Zero Trust > Интеграции > Поставщики удостоверений.
-
Найдите интеграцию IdP и выберите Изменить.
-
Включите Включите SCIM.
-
(Необязательно) Настройте следующие параметры:
- Включить отключение учётных записей пользователей: Отозвать активную сессию пользователя когда их удаляют из приложения SCIM в IdP. Это аннулирует все активные сессии Access и потребует повторной аутентификации для всех Политики сессий Cloudflare One Client.
- Удалить место пользователя при deprovisioning: Удалите место пользователя из вашей учётной записи Cloudflare One, когда они удаляются из SCIM-приложения в IdP.
- Поведение SCIM при обновлении удостоверений: Выберите, что произойдёт в Cloudflare One при обновлении удостоверения пользователя в IdP.
- Автоматическое обновление удостоверений: Автоматически обновляйте User Registry identity когда IdP передаёт обновлённые данные идентификации или членства в группе через SCIM. Эта идентификация используется для политик Gateway и Cloudflare One Client профили устройств; Access считывает обновлённое удостоверение пользователя при повторной аутентификации.
- Повторная аутентификация при изменении состава группы: Отозвать активную сессию пользователя когда их членство в группе меняется в IdP. Это аннулирует все активные сессии Access и потребует повторной аутентификации для всех Политики сессий Cloudflare One Client. Access считает обновленное членство пользователя в группах при повторной аутентификации.
- Нет действия: Обновляйте идентификационные данные пользователя при следующей повторной аутентификации в Access или Cloudflare One Client.
-
Выберите Пересоздать секрет. Скопируйте SCIM Endpoint и SCIM Secret. Эти значения нужно будет ввести в IdP.
-
Выберите Save.
Секрет SCIM никогда не истекает, но вы можете вручную перегенерировать его в любой момент.
2. Настройте SCIM в IdP
Инструкции по настройке зависят от поставщика идентификации. В своём поставщике идентификации вам нужно будет либо изменить исходное приложение SSO или создать новое приложение SCIM. Подробнее см. в документации вашего поставщика идентификации. Пример инструкций см. в нашей Okta или JumpCloud руководства.
группы IdP
Чтобы создавать политики на основе групп IdP, выполните следующее:
- Убедитесь, что ваш IdP отправляет
groupsполе. Название должно совпадать точно (без учёта регистра). Все остальные значения будут отправлены как атрибут SAML. - Если ваш IdP требует создания нового приложения SCIM, убедитесь, что его группы совпадают с группами в исходное приложение SSO. Сопоставление групп обеспечивает синхронизацию идентификационных данных Gateway с группами, которые возвращает IdP при аутентификации пользователя в Access.
3. Проверьте подготовку через SCIM
Чтобы проверить, обновились ли идентификационные данные пользователей в Cloudflare One, просмотрите журналы подготовки SCIM.
Необязательные конфигурации
Интеграции SAML поддерживают дополнительные параметры безопасности и настройки.
Шифровать утверждения SAML
Шифрование утверждений SAML обеспечивает сквозное шифрование утверждений SAML, отправляемых от поставщика удостоверений в Cloudflare Access.
Без шифрования утверждения SAML передаются в открытом виде после завершения TLS, а значит их могут увидеть расширения браузера или вредоносное ПО на стороне клиента. При включённом шифровании ваш IdP шифрует утверждение с помощью открытого сертификата Cloudflare, и расшифровать его может только Access, используя соответствующий закрытый ключ.
Чтобы включить шифрование SAML-утверждений:
- В Панель управления Cloudflare ↗, перейдите в Zero Trust > Интеграции > Поставщики удостоверений.
- Выберите своего поставщика идентификации SAML и выберите Изменить.
- В разделе шифрование SAML, включите Включите шифрование SAML переключатель. Access автоматически сгенерирует сертификат шифрования.
- Скопируйте отображаемый сертификат (в формате PEM) или ID набора сертификатов.
- У своего поставщика идентификации загрузите сертификат шифрования Cloudflare и включите шифрование Assertion. Точные шаги настройки см. в документации своего IdP.
- Выберите Save.
Включив шифрование, вы заставите Access отклонять любые незашифрованные утверждения от настроенного IdP. Если отключить шифрование, Access будет отклонять любые зашифрованные утверждения, пока шифрование не будет включено снова.
Поддерживаемые алгоритмы шифрования
Access поддерживает следующие алгоритмы шифрования:
| Тип алгоритма | Поддерживаемые значения |
|---|---|
| Шифрование содержимого | AES-128-CBC, AES-256-CBC, AES-128-GCM, AES-256-GCM |
| Передача ключа | RSA-OAEP (XML Encryption 1.0 и 1.1), RSA-1.5 |
Ротируйте сертификаты шифрования
Сертификаты шифрования действительны в течение одного года. За тридцать дней до истечения срока действия сертификата Access автоматически создаёт сертификат для замены. Истекающий сертификат остаётся действительным до даты окончания срока действия, что даёт вам время загрузить новый сертификат в свой IdP.
Чтобы вручную выполнить ротацию сертификата:
- В Панель управления Cloudflare ↗, перейдите в Zero Trust > Интеграции > Поставщики удостоверений.
- Выберите своего поставщика идентификации SAML и выберите Изменить.
- В разделе шифрование SAML, выберите Ротируйте сертификат.
- Загрузите новый сертификат в ваш поставщик идентификации.
Подписать запрос аутентификации SAML
Эта необязательная конфигурация подписывает Access JWT с публичным ключом Cloudflare Access, чтобы убедиться, что JWT получен из легитимного источника. Публичный ключ Cloudflare можно получить по адресу https://<your-team-name>.cloudflareaccess.com/cdn-cgi/access/certs.
Имя атрибута email
Многие Политики доступа зависят от адреса электронной почты пользователя. У некоторых поставщиков идентификации атрибут адреса электронной почты называется иначе (например, Email, e-mail, emailAddress). Обычно это можно проверить в функции тестирования SAML у поставщика идентификации.
Пример в Okta:

заголовки и атрибуты SAML
Cloudflare Access поддерживает атрибуты SAML (Security Assertion Markup Language) и заголовки SAML для всех интеграций с SAML IdP.
атрибуты SAML обозначают конкретные точки данных или характеристики, которыми IdP делится об аутентифицированном пользователе. Эти атрибуты часто включают такие сведения, как адрес электронной почты, имя или роль, и передаются поставщику услуг после успешной аутентификации.
заголовки SAML это метаданные в обмене данными протокола SAML, которые передают информацию об отправителе, получателе и самом сообщении. Эти заголовки можно использовать, чтобы дать дополнительный контекст или дополнительно управлять обменом данными.
атрибуты SAML
Атрибуты SAML добавляются к Access JWT. Эти атрибуты затем могут использоваться локально размещёнными или SaaS-приложениями, подключёнными к Access. Любой атрибут SAML, настроенный в интеграции SAML, также должен передаваться от IdP.
Пример в Okta:
Как получить эти атрибуты SAML в Cloudflare:
заголовки SAML
Если приложению для входа требуются именно атрибуты SAML, эти атрибуты можно передать в виде заголовков. Имя атрибута должно быть значением, полученным от вашего IdP (например, department). Вы можете назначить любой Имя заголовка к атрибуту. Имя заголовка будет отображаться в заголовках ответа, когда Access выполняет первоначальный запрос авторизации к https://<your-team-name>.cloudflareaccess.com/cdn-cgi/access/callback.
Атрибуты SAML с несколькими записями
Cloudflare Access расширяет поддержку многозаписных атрибутов SAML, таких как группы. Такие атрибуты разбираются на отдельные записи, на каждую из которых можно ссылаться в политиках по отдельности. Это обеспечивает более детальное управление доступом и точную авторизацию пользователей в приложениях.
Cloudflare Access пока не поддерживает ссылки на частичные значения атрибутов.