← Cloudflare One / cloudflare-one / integrations / identity-providers
Okta
Okta предоставляет облачное программное обеспечение, которое помогает компаниям управлять аутентификацией пользователей в современных приложениях и защищать её, а также помогает разработчикам встраивать механизмы управления идентификацией в приложения, веб-сервисы и устройства. Вы можете интегрировать Okta с Cloudflare One и создавать правила на основе идентификации пользователя и членства в группах. Cloudflare One поддерживает интеграцию с Okta по протоколу OIDC (используется по умолчанию) или SAML протокол.
Кроме того, вы можете настроить Okta для использования информации о рисках от Cloudflare One risk score пользователей чтобы создать политики уровня SSO. Дополнительную информацию см. в Отправлять risk score в Okta.
Предварительные требования
- A Zero Trust Organization с любым тарифным планом (включая Free)
- A Роль администратора Cloudflare One с
Access Editразрешения
Поддерживаемые возможности
- SSO с инициированием от SP: когда пользователь переходит к приложению Access, Access перенаправляет его для входа через Okta.
- Подготовка SCIM: Синхронизируйте группы Okta и автоматически лишайте пользователей доступа. SCIM в настоящее время требует отдельного пользовательское приложение OIDC.
Настройте Okta как поставщика OIDC (Okta App Catalog)
Чтобы настроить интеграцию Okta через каталог приложений Okta Integration Network (OIN):
-
Войдите в панель администратора Okta.
-
Перейдите в Приложения > Приложения.
-
Выберите Browse App Catalog.
-
Найдите
Cloudflareи выберите Cloudflare One приложение. -
Выберите Добавить интеграцию.
-
В Метка приложения, введите имя приложения (например,
Cloudflare Access). -
В Team domain, введите имя команды Cloudflare Zero Trust (только префикс поддомена, не включайте
.cloudflareaccess.com):<your-team-name>Имя вашей команды можно найти в Панель управления Cloudflare ↗ в разделе Настройки > Название и домен команды > Название команды.
-
В Sign On вкладке скопируйте Client ID и Секрет клиента и вставьте их в
App IDиClient secret. -
Скопируйте URL своей учётной записи Okta (без
-adminзначение) и скопируйте его в поле настройки Okta в Cloudflare.
Настройте Okta как поставщика OIDC (Custom App Integration)
-
Войдите в панель администратора Okta и перейдите в Приложения > Приложения.
-
Выберите Create App Integration.
-
Для Способ входа, выберите OIDC - OpenID Connect.
-
Для Тип приложения, выберите Веб-приложение. Выберите Далее.
-
Введите любое имя для приложения. В Sign-in redirect URIs поле введите следующий URL-адрес:
https://<your-team-name>.cloudflareaccess.com/cdn-cgi/access/callbackИмя вашей команды можно найти в Панель управления Cloudflare ↗ в разделе Настройки > Название и домен команды > Название команды.
-
Выберите нужный Назначение опцию и выберите Save.
-
В представлении приложения перейдите в раздел Sign On на вкладке.
-
Прокрутите вниз до Token claims и выберите Показать устаревшую конфигурацию > Изменить.
-
Задайте Фильтр утверждений о группах к Соответствует регулярному выражению и его значение на
.*.
-
В Общее вкладке скопируйте Client ID и Секрет клиента.
-
В Панель управления Cloudflare ↗, перейдите в Zero Trust > Интеграции > Поставщики удостоверений.
-
В разделе Ваши поставщики идентификации, выберите Добавить нового поставщика идентификации. Выберите Okta в качестве своего поставщика идентификации.
-
Заполните следующую информацию:
- Название: Присвойте имя своему поставщику идентификации.
- App ID: Введите свой идентификатор клиента Okta.
- Секрет клиента: Введите свой client secret для Okta.
- URL-адрес учетной записи Okta: Введите свой домен Okta ↗, например
https://my-company.okta.com.
-
(Необязательно) Создайте API-токен Okta и введите его в Панель управления Cloudflare ↗ в разделе Zero Trust > Интеграции > Поставщики удостоверений (токен может быть только для чтения). Используйте токен API, если в вашем клиенте Okta более 100 групп. Эта настройка специфична для Okta и не является частью SCIM. Токен используется только для получения имен групп Okta в конструкторе политик. Access оценивает членство в группах на основе OIDC-токена пользователя во время аутентификации.
-
(Необязательно) Чтобы настроить пользовательские утверждения OIDC:
- В Okta создайте пользовательский сервер авторизации ↗ и убедитесь, что
groupsscope включён. - В Панель управления Cloudflare ↗, введите Authorization Server ID полученный от Okta.
- В разделе Необязательные конфигурации, введите утверждения, которые нужно добавить к идентификационным данным пользователей.
- В Okta создайте пользовательский сервер авторизации ↗ и убедитесь, что
-
(Необязательно) Включите Proof of Key Exchange (PKCE) ↗. PKCE будет выполняться при каждой попытке входа.
-
Выберите Save.
Чтобы тест что ваше подключение работает, выберите Тест.
Синхронизируйте пользователей и группы
Интеграция Okta позволяет синхронизировать группы IdP и автоматически деактивировать пользователей с помощью SCIM. Чтобы включить подготовку SCIM между Access и Okta, вам понадобятся две отдельные интеграции приложений в Okta:
- Приложение OIDC, которое вы создали при добавлении Okta в качестве поставщика идентификации. Создать это приложение можно через Okta App Catalog или через Интеграция пользовательского приложения.
- Второе приложение Okta типа SCIM 2.0 Test App (Header Auth). Технически это приложение SAML, но оно отвечает за передачу информации о пользователях и группах через SCIM.
SCIM по-разному влияет на оценку политик Access и Gateway.
Access оценивает личность пользователя и членство в группах на основании утверждения SAML или токена OIDC, возвращённого поставщиком идентификации во время аутентификации. SCIM предоставляет читаемые названия групп в конструкторе политик Access, но Access не использует членство в группах SCIM для оценки входа. Если вы включите Включить отключение учётных записей пользователей, удаление пользователя из приложения SCIM аннулирует его активные сессии Access. Вы также можете настроить SCIM так, чтобы сессии аннулировались после изменения членства в группе. Access оценивает обновлённые данные поставщика идентификации при повторной аутентификации пользователя.
Gateway оценивает политики на основе личности по отношению к User Registry identity. SCIM обновляет эту идентификационную информацию при изменении пользователей или членства в группах, не дожидаясь повторной аутентификации пользователя. Профили устройств Cloudflare One Client используют ту же синхронизированную идентификационную информацию.
1. Включите SCIM в Cloudflare One
-
В Панель управления Cloudflare ↗, перейдите в Zero Trust > Интеграции > Поставщики удостоверений.
-
Найдите интеграцию Okta и выберите Изменить.
-
Включите Включите SCIM.
-
(Необязательно) Настройте следующие параметры:
- Включить отключение учётных записей пользователей: Отозвать активную сессию пользователя когда их удаляют из приложения SCIM в Okta. Это аннулирует все активные сессии Access и потребует повторной аутентификации для всех Политики сессий Cloudflare One Client.
- Удалить место пользователя при deprovisioning: Удалите место пользователя из вашей учётной записи Cloudflare One, когда они удаляются из SCIM-приложения в Okta.
- Поведение SCIM при обновлении удостоверений: Выберите, что произойдёт в Cloudflare One при обновлении удостоверения пользователя в Okta.
- Автоматическое обновление удостоверений: Автоматически обновляйте User Registry identity когда Okta передаёт обновлённые данные идентификации или членства в группе через SCIM. Эта идентификация используется для политик Gateway и Cloudflare One Client профили устройств; Access считывает обновлённое удостоверение пользователя при повторной аутентификации.
- Повторная аутентификация при изменении состава группы: Отозвать активную сессию пользователя когда их членство в группе меняется в Okta. Это аннулирует все активные сессии Access и потребует повторной аутентификации для всех Политики сессий Cloudflare One Client. Access считает обновленное членство пользователя в группах при повторной аутентификации.
- Нет действия: Обновляйте идентификационные данные пользователя при следующей повторной аутентификации в Access или Cloudflare One Client.
-
Выберите Пересоздать секрет. Скопируйте SCIM Endpoint и SCIM Secret. Эти значения нужно будет ввести в Okta.
-
Выберите Save.
Секрет SCIM никогда не истекает, но вы можете вручную перегенерировать его в любой момент.
2. Настройте SCIM в Okta
-
На панели управления администратора Okta перейдите в Приложения > Приложения.
-
Выберите Browse App Catalog.
-
Найдите
SCIM Header Authи выберите SCIM 2.0 Test App (Header Auth). -
Выберите Добавление интеграции.
-
На Общие настройки вкладке присвойте имя своему приложению и выберите Далее.
-
На Sign-on Options вкладке убедитесь, что SAML 2.0 выбрано.
-
В разделе Сведения об учётных данных, задайте Формат имени пользователя приложения либо Имя пользователя Okta или Электронная почта. Это значение будет использовано для SCIM
userNameатрибут. -
Выберите Готово чтобы создать интеграцию.
-
На Подготовка вкладке выберите Configure API Integration.
-
Выберите Включите интеграцию API.
-
В Базовый URL поле введите SCIM Endpoint полученный от Cloudflare One.
-
В API-токен поле введите SCIM Secret полученный от Cloudflare One.
-
Выберите Тестирование учётных данных API чтобы убедиться, что учётные данные введены верно. Выберите Save.
-
На Подготовка вкладке выберите Изменить и включите:
- Create Users
- Update User Attributes
- Деактивация пользователей
-
В Назначения вкладке добавьте пользователей, которых вы хотите синхронизировать с Cloudflare Access. Пользователей можно добавлять пакетами, назначив группу. Если пользователь исключается из назначения приложения, будь то прямым удалением или удалением из группы, назначенной приложению, это вызовет в Okta событие деинициализации, которое будет отправлено в Cloudflare.
-
В Push Groups вкладке добавьте группы Okta, которые вы хотите синхронизировать с Cloudflare Access. Эти группы будут отображаться в конструкторе политик Access и представляют собой членство в группах, которое будет добавляться и удаляться при изменении членства в Okta.
Чтобы проверить интеграцию, выберите Просмотр журналов в приложении Okta SCIM.
Чтобы проверить, обновились ли идентификационные данные пользователей в Cloudflare One, просмотрите журналы подготовки SCIM.
Пример конфигурации API
{
"config": {
"client_id": "<your client id>",
"client_secret": "<your client secret>",
"okta_account": "https://dev-abc123.oktapreview.com"
},
"type": "okta",
"name": "my example idp"
}Устранение неполадок
Не удалось получить данные о пользователе или группе от поставщика удостоверений
Если вы видите ошибку Failed to fetch user/group information from the identity, дважды проверьте свою конфигурацию Okta:
- Если в вашем тенанте Okta больше 100 групп, добавьте API-токен Okta в конфигурацию поставщика идентификации. Эта настройка относится только к Okta и не входит в SCIM. Токен позволяет Cloudflare получать имена групп Okta для конструктора политик. При аутентификации Access не использует этот API-токен для проверки членства пользователя в группах.
- Если Okta возвращает в OIDC-токене пользователя более 100 групп, некоторые членства в группах могут быть исключены из токена. Это ограничение утверждений токена Okta, а не ограничение Cloudflare. Если нужная группа исключена, Cloudflare не сможет применить политики, зависящие от этой группы. Чтобы избежать этого, сузьте фильтр утверждений о группах Okta так, чтобы в него попадали только группы, используемые в политиках Cloudflare. Дополнительную информацию см. документация Okta о функциях групп и динамических списках разрешений ↗.
- Запрос может быть заблокирован Функция ThreatInsights ↗ в Okta.