INTEGRITY Документация

Универсальное приложение OIDC

На этой странице приведены общие инструкции по настройке SaaS-приложения в Cloudflare Access с использованием протокола аутентификации OpenID Connect (OIDC).

Предварительные требования

1. Получите URL-адрес приложения SaaS

В своей учётной записи SaaS-приложения получите Redirect URL (также известный как callback URL). Это конечная точка SaaS, на которую перенаправляются пользователи после аутентификации через Cloudflare Access.

Некоторые SaaS-приложения предоставляют Redirect URL после того, как вы настроить поставщика SSO.

2. Добавьте своё приложение в Access

  1. В Панель управления Cloudflare, перейдите в Zero Trust > Контроль доступа > Приложения.

  2. Выберите Создать новое приложение.

  3. Выберите Приложение SaaS.

  4. Выберите свой Приложение из раскрывающегося меню. Если вашего приложения нет в списке, введите произвольное имя в Приложение поле и выберите текстовое поле, которое появится ниже.

  5. Выберите OIDC.

  6. Выберите Добавить приложение.

  7. В Области действия, выберите атрибуты пользователя, которые Access должен отправить в ID-токене. Дополнительную информацию о настройке OIDC scopes и claims см. в утверждения OIDC.

  8. В URL-адреса перенаправления, введите URL-адрес обратного вызова, полученный от SaaS-приложения.

  9. (Необязательно) Включите Proof of Key Exchange (PKCE) если протокол поддерживается вашим IdP. PKCE будет выполняться при каждой попытке входа.

  10. Скопируйте следующие значения для ввода в своё приложение SaaS. Разным приложениям SaaS могут потребоваться другие наборы входных значений.

    Поле Описание
    Секрет клиента Учётные данные, используемые для авторизации Access в качестве поставщика SSO
    Client ID Уникальный идентификатор этого приложения Access
    Конечная точка конфигурации Если это поддерживается вашим SaaS-приложением, можно настроить OIDC через эту конечную точку вместо ручного ввода URL-адресов, перечисленных ниже.
    https://<your-team-name>.cloudflareaccess.com/cdn-cgi/access/sso/oidc/<client-id>/.well-known/openid-configuration
    Издатель Базовый URL для этой интеграции OIDC
    https://<your-team-name>.cloudflareaccess.com/cdn-cgi/access/sso/oidc/<client-id>
    Token endpoint Возвращает ID-токен пользователя
    https://<your-team-name>.cloudflareaccess.com/cdn-cgi/access/sso/oidc/<client-id>/token
    Конечная точка авторизации URL where users authenticate with Access
    https://<your-team-name>.cloudflareaccess.com/cdn-cgi/access/sso/oidc/<client-id>/authorization
    Ключевая конечная точка Возвращает текущие открытые ключи, используемые для проверить JWT Cloudflare Access
    https://<your-team-name>.cloudflareaccess.com/cdn-cgi/access/sso/oidc/<client-id>/jwks
    Конечная точка сведений о пользователе Возвращает все утверждения пользователя в формате JSON
    https://<your-team-name>.cloudflareaccess.com/cdn-cgi/access/sso/oidc/<client-id>/userinfo
  11. В разделе Политики доступа, добавьте существующую политику или создать новую политику чтобы управлять тем, кто может подключаться к вашему приложению. Все приложения Access по умолчанию запрещают доступ: пользователь должен соответствовать политике Allow, прежде чем получить доступ.

  12. Настройте, как пользователи будут проходить аутентификацию:

    1. Выберите поставщики идентификации которые вы хотите включить для своего приложения.

    2. (Рекомендуется) Если вы планируете разрешить доступ только через один IdP, включите Применить мгновенную аутентификацию. Конечные пользователи не увидят Страница входа Cloudflare Access. Вместо этого Cloudflare будет перенаправлять пользователей напрямую на событие входа SSO.

    3. (Необязательно) Включите Аутентификация с помощью Cloudflare One Client чтобы разрешить пользователям аутентифицироваться в приложении с использованием Идентификатор сессии Cloudflare One Client.
  13. (Необязательно) Перейдите в Дополнительные настройки чтобы настроить работу с приложением:

    • Настройка App Launcher: Настройте, как это приложение отображается пользователям в App Launcher. Если Показать приложение в App Launcher включено, необходимо ввести URL App Launcher. URL-адрес App Launcher предоставляется приложением SaaS. Он может совпадать с базовой частью URL-адреса Redirect URL (https://<INSTANCE-NAME>.example-app.com) но может быть другим значением.
    • Пользовательские страницы блокировки: Выберите, что увидят пользователи при отказе в доступе к приложению.

      • Cloudflare по умолчанию: Перезагрузите страница входа и отображает сообщение о блокировке под логотипом Cloudflare Access. Сообщение по умолчанию: That account does not have access, или вы можете ввести собственное сообщение.
      • Redirect URL: Перенаправление на указанный веб-сайт.
      • Пользовательский шаблон страницы: Отобразите пользовательская страница блокировки размещенный в Cloudflare One.
  14. Выберите Создание.

3. Настройте SSO в своём SaaS-приложении

Далее настройте своё SaaS-приложение так, чтобы вход пользователей выполнялся через Cloudflare Access. Обратитесь к документации своего SaaS-приложения за инструкциями по настройке стороннего поставщика SSO по протоколу OIDC.

4. Протестируйте интеграцию

Откройте окно браузера в режиме инкогнито и перейдите по URL-адресу входа в SaaS-приложение. Вы будете перенаправлены на экран входа Cloudflare Access, где вам будет предложено войти через своего провайдера идентификации.

утверждения OIDC

Утверждения OIDC описывают характеристики идентификации пользователя, которые Cloudflare Access передаёт вашему SaaS-приложению OIDC при успешной аутентификации. Область OIDC (scope) определяет набор утверждений OIDC. По умолчанию Cloudflare Access передаёт все стандартные claims которые включены в openid, email, profile, а также groups scopes (если доступны).

Область действия Описание
openid Содержит уникальный идентификатор пользователя (обязательно).
email Содержит адрес электронной почты пользователя.
profile Содержит имя пользователя и все пользовательские утверждения OIDC от IdP.
groups Включите информацию о членстве пользователя в группах IdP.

В приложении Access можно настроить области действия и утверждения OIDC, которые Access отправляет SaaS-провайдеру. Например, можно удалить groups scope, если вашему SaaS-приложению не нужно получать информацию о группах пользователей.

Фильтруйте группы

В Регулярное выражение фильтра групп, вы можете ввести регулярное выражение, определяющее группы поставщика идентификации, которые нужно включить в groups scope. Например, если вы введёте выражение (^TEAM-Engineering-.$)|(^TEAM-Product-.$), в SaaS-приложение будут переданы только группы с именами вроде TEAM-Engineering-A или TEAM-Product-B.

Добавить claims

Чтобы добавить дополнительные утверждения OIDC в ID-токен, отправляемый вашему SaaS-приложению, настройте следующие поля для каждого утверждения:

Расширенные настройки

Время жизни токена доступа

Токен доступа OIDC разрешает пользователям подключаться к приложению SaaS через Cloudflare Access. Вы можете задать Время жизни токена доступа чтобы определить период, в течение которого токен можно использовать для аутентификации в SaaS-приложении: если срок его действия истёк, пользователю потребуется повторно пройти аутентификацию через Cloudflare Access. Чтобы найти баланс между безопасностью и удобством для пользователей, Cloudflare рекомендует задавать короткий срок действия токена Access в сочетании с более длительным Время жизни токена обновления (если это поддерживается вашим приложением). Когда срок действия токена доступа истекает, Cloudflare использует токен обновления, чтобы получить новый токен доступа после проверки личности пользователя по политикам Access. Когда срок действия токена обновления истекает, пользователю потребуется снова войти у поставщика идентификации. Срок действия токена обновления должен быть меньше, чем глобальная длительность сессии, иначе приоритет будет иметь глобальная сессия.

Потоки OIDC

Некоторым SaaS-приложениям требуется, чтобы поставщики SSO передавали токены в браузер без аутентификации на стороне бэкенда. Access for SaaS поддерживает следующие OIDC flows:

Cloudflare позволяет использовать различные response_type значения в запросе авторизации в зависимости от выбранного flow. Например, implicit flow позволяет Cloudflare возвращать ID token, Access token либо и ID token, и Access token одновременно с Authorization Endpoint.

response_type значения Поток по умолчанию Hybrid flow Implicit flow
code
id_token
token

Чтобы включить id_token в запросе авторизации включите Возврат ID Token из Authorization Endpoint. Чтобы включить token, включите Возврат Access Token из Authorization Endpoint