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

Управление сессиями

Сессия пользователя определяет, как долго пользователь может обращаться к приложению Access без повторной аутентификации.

Длительность сессий

Когда пользователь входит в приложение, защищённое Access, Access проверяет его личность по вашим политикам Access и создаёт два подписанных JSON Web Token (JWT):

Токен Описание Истечение срока действия Хранилище
Токен глобальной сессии Хранит идентификационные данные пользователя, полученные от IdP, и обеспечивает функциональность единого входа (SSO) для всех приложений Access. Продолжительность глобальной сессии Ваш Cloudflare домен команды
Токен приложения Разрешает пользователю доступ к определённому приложению Access. Длительность сеанса политики, которое по умолчанию использует продолжительность сессии приложения Имя хоста, защищённое приложением Access

Пользователь может обращаться к приложению в течение всего срока действия токена приложения. Когда срок действия токена приложения истекает, Cloudflare автоматически выпускает новый токен приложения, если глобальный токен ещё действителен (и личность пользователя по-прежнему соответствует вашим политикам Access). Если срок действия глобального токена тоже истёк, пользователю будет предложено повторно пройти аутентификацию через IdP.

Срок действия глобального токена обычно устанавливается равным сроку действия токена приложения или больше него. Использование более длительного срока действия глобального токена позволяет безопаснее продлевать сессии пользователей, поскольку глобальный токен нельзя использовать для прямого доступа к приложению.

Таким образом, Access проверяет сессии от наиболее специфичных к наименее специфичным:

  1. Сессия клиента (если включено): переопределяет все остальные значения длительности. По истечении этого срока пользователю потребуется пройти повторную аутентификацию.
  2. Сеанс политики : Управляет доступом к конкретному приложению для пользователей, соответствующих определённой политике.
  3. Сеанс приложения : Длительность сессии политики по умолчанию для всех политик в приложении.
  4. Глобальная сессия : Определяет, как часто пользователь должен входить в IdP во всех приложениях.

См. Порядок применения блок-схему для наглядного представления.

Продолжительность глобальной сессии

Глобальная продолжительность сессии определяет, как часто Cloudflare Access предлагает пользователю войти через поставщика идентификации. Глобальную продолжительность сессии можно задать в диапазоне от 15 минут до одного месяца. Значение по умолчанию составляет 24 часа.

Чтобы настроить глобальную длительность сессии:

  1. В Панель управления Cloudflare, перейдите в Zero Trust > Контроль доступа > Настройки Access.
  2. В разделе Настройте глобальную длительность сессии, выберите Изменить,
  3. Выберите нужную длительность тайм-аута в раскрывающемся меню.
  4. Выберите Save.

По истечении этого времени пользователю потребуется повторно пройти аутентификацию через IdP.

Длительность сеанса политики

Длительность сессии политики определяет, как долго пользователь может обращаться к локально размещённому приложению Access. Когда сессия пользователя истекает, Access повторно проверяет сохранённые данные его идентификации по политикам Access этого приложения.

По умолчанию длительность сеанса политики равна продолжительность сессии приложения. Чтобы настроить более детальные разрешения для конкретных пользователей, можно изменить длительность сессии политики на значение от немедленного тайм-аута до одного месяца. Например, вы можете задать длительность сессии приложения в семь дней для инженеров, а длительность сессии политики в 24 часа для подрядчиков.

Чтобы настроить длительность сессии для политики:

  1. В Панель управления Cloudflare, перейдите в Zero Trust > Контроль доступа > Политики.
  2. Выберите политику и нажмите Настройте.
  3. Выберите Длительность сессии в раскрывающемся списке.
  4. Сохраните политику.

Пользователям, соответствующим этой политике, будет выдан токен приложения с указанным сроком действия.

Длительность сеанса приложения

Длительность сессии приложения по умолчанию составляет длительность сессии для политики для всех политик в приложении Access. Доступная длительность сеанса варьируется от немедленного завершения до одного месяца. Значение по умолчанию составляет 24 часа.

Чтобы настроить длительность сессии для приложения:

  1. В Панель управления Cloudflare, перейдите в Zero Trust > Контроль доступа > Приложения.
  2. Выберите приложение и нажмите Настройте.
  3. Выберите Длительность сессии в раскрывающемся списке.
  4. Сохраните приложение.

Пользователи, соответствующие политике, настроенной с То же самое, что и тайм-аут сеанса приложения будет выдан токен приложения с этим сроком действия.

Приложения SaaS

Длительность сеанса приложения регулирует только доступ ко входу в приложение SaaS: Access не контролирует, сколько времени пользователь проводит в самом приложении SaaS. Например, если пользователь выходит из приложения SaaS и затем возвращается к нему, действительный токен приложения Access позволяет ему повторно пройти аутентификацию без повторного входа в систему. Приложение SaaS выпускает собственный файл cookie авторизации, который управляет сеансом пользователя внутри приложения.

SSH, RDP и VNC

Cloudflare не контролирует продолжительность активного сеанса SSH, VNC или RDP. Длительность сеансов приложений определяют промежуток времени, в течение которого пользователь может инициировать новое соединение или обновить существующее.

Продолжительность сессии Cloudflare One Client

Когда Аутентификация с помощью Cloudflare One Client включено для приложения Access, длительность сессии Cloudflare One Client имеет приоритет над всеми остальными длительностями сессий (приложения, политики и глобальной). Пока сессия Cloudflare One Client действительна и пользователь работает в Cloudflare One Client, ему не будет предложено повторно пройти аутентификацию через IdP, даже если срок действия глобальной сессии истёк.

длительность сеанса MFA

Если вы используете независимая многофакторная аутентификация (MFA), длительность сессии MFA определяет, как долго пользователь может входить в Cloudflare Access, не получая запрос на MFA. Сессия MFA не зависит от длительности глобальной сессии, сессии политики и сессии приложения. При входе в приложение Access с помощью MFA включено, пользователям необходимо пройти MFA-проверку, если их последняя MFA-аутентификация вышла за пределы настроенной длительности сессии. После аутентификации у поставщика идентификации пользователям предлагается пройти MFA. CF_Device cookie гарантирует, что оба этапа аутентификации выполняются на одном устройстве. Длительность сеанса MFA не влияет на то, как долго пользователь имеет доступ к приложению (это определяется токен приложения).

Порядок применения

Следующая блок-схема показывает, как Access применяет пользовательские сессии для локально размещённого приложения.

Настройка блок-схемы Расположение в панели управления
Аутентификация с помощью Cloudflare One Client Контроль доступа > Приложения > выберите приложение > Настройте > Аутентификация > Аутентификация с помощью Cloudflare One Client
Продолжительность сессии Cloudflare One Client Контроль доступа > Настройки Access > Аутентификация Cloudflare One Client > Длительность сессии
Длительность сеанса политики Контроль доступа > Политики > выберите политику > Настройте > Длительность сессии
Длительность сеанса приложения Контроль доступа > Приложения > выберите приложение > Настройте > Обзор > Длительность сессии
Продолжительность глобальной сессии Контроль доступа > Настройки Access > Настройте глобальную длительность сессии
flowchart TB
    %% Accessibility
    accTitle: Access session durations
    accDescr: Flowchart describing the order of enforcement for Access sessions

    %% In with user traffic
    start["User goes to Access application"]
    start--"Enabled for this application" -->warpsession[Cloudflare One Client session expired?]
    start-- "Disabled for this application" --> policysession[Policy session expired?]

		warpsession--"Yes"-->idp[Prompt to log in to IdP]
		warpsession--"No"-->accessgranted[Access granted]

		policysession--"Yes"-->globalsession[Global session expired?]
		policysession--"No"-->accessgranted

		globalsession--"Yes"-->idp
		globalsession--"No"-->refreshtoken[Check identity against Access policies]
		refreshtoken-->accessgranted
		idp-->refreshtoken


Отозвать сессии пользователей

Access предлагает два способа отзыва пользовательских сессий: для отдельного приложения и для отдельного пользователя.

Per-Application

Чтобы немедленно завершить все активные сессии для конкретного приложения:

  1. В Панель управления Cloudflare, перейдите в Zero Trust > Контроль доступа > Приложения.
  2. Найдите приложение, для которого нужно отозвать активные сессии, и выберите Настройте.
  3. Выберите Отозвать существующие токены.

Если правила политики не изменились, пользователи могут начать новую сессию, если их профиль у поставщика идентификации все еще активен.

Per-User

Access может немедленно отозвать сессию отдельного пользователя во всех приложениях вашего аккаунта. Однако если профиль личности пользователя всё ещё активен, он может создать новую сессию.

Чтобы навсегда отозвать доступ пользователя, выполните следующее:

  1. Отключите их учётную запись в поставщике идентификации, чтобы они не могли пройти аутентификацию.
  2. В Панель управления Cloudflare, перейдите в Zero Trust > Команда и ресурсы > Пользователи.
  3. Установите флажок рядом с пользователем, доступ которого нужно отозвать.
  4. Выберите Действие > Отозвать.

Пользователь больше не сможет входить ни в одно приложение, защищённое Access. При этом он будет по-прежнему учитываться в вашей подписке на места, пока вы Удалить пользователя из вашего аккаунта.

Последующие входы

Если администратор отзывает токен Cloudflare Access пользователя, этот пользователь не сможет снова войти в систему в течение 1 минуты. При попытке входа Cloudflare Access покажет ошибку.

Выйдите из системы как пользователь

Чтобы выйти из Access, конечный пользователь может перейти по одному из следующих URL-адресов:

Это действие отзывает сессию пользователя для всех приложений. Access немедленно очистит файл cookie авторизации в браузере пользователя, и все ранее выданные токены перестанут приниматься в течение 20-30 секунд. Единственное различие между этими двумя URL в том, из какого домена удаляется файл cookie авторизации. Например, переход по <your-application-domain>/cdn-cgi/access/logout удалит файл cookie приложения и сделает выход из системы более мгновенным.

С помощью этих URL можно создавать собственные кнопки или ссылки выхода прямо в своём приложении.

AJAX

Страницы, активно использующие AJAX, или одностраничные приложения (SPA) могут блокировать подзапросы из-за истёкшего токена Access, не предлагая пользователю повторно пройти аутентификацию.

Вы можете настроить Access для предоставления 401 ответ на дочерние запросы с истёкшим токеном сессии. Рекомендуется использовать этот код ответа, чтобы принудительно обновить страницу либо показать пользователю сообщение об истечении сессии.

Чтобы получить 401 для истекшего сеанса добавьте следующий заголовок ко всем запросам AJAX:

X-Requested-With: XMLHttpRequest