← Cloudflare One / cloudflare-one / integrations / identity-providers
Microsoft Entra ID
Вы можете интегрировать Microsoft Entra ID (ранее Azure Active Directory) с Cloudflare One и создавать политики на основе личности пользователя и членства в группах. Пользователи будут проходить аутентификацию в Cloudflare One с помощью учетных данных Entra ID.
Настройте Entra ID как поставщика идентификации
1. Получите настройки Entra ID
Для настройки интеграции требуются следующие значения Entra ID:
- Application (client) ID
- Directory (tenant) ID
- Секрет клиента
Чтобы получить эти значения:
-
Войдите в Microsoft Entra admin center ↗.
-
Перейдите в Приложения > Корпоративные приложения.
-
Выберите Новое приложение, затем выберите Создайте собственное приложение.
-
Назовите приложение.
-
Выберите Зарегистрируйте приложение для интеграции с Microsoft Entra ID (приложение, которое вы разрабатываете). Если это будет предложено, не выбирайте ни одно из приложений галереи. Выберите Создание.
-
В разделе Redirect URI, выберите Веб платформу и введите следующий URL-адрес.
https://<your-team-name>.cloudflareaccess.com/cdn-cgi/access/callbackИмя вашей команды можно найти в Панель управления Cloudflare ↗ в разделе Настройки > Название и домен команды > Название команды.
-
Выберите Регистрация.
-
Далее вернитесь в Microsoft Entra ID и перейдите в Приложения > Регистрации приложений.
-
Выберите Все приложения и выберите приложение, которое вы только что создали. Скопируйте Application (client) ID и Directory (tenant) ID. Эти значения понадобятся вам, когда добавление Entra ID в качестве поставщика идентификации на шаге 3.
-
На той же странице в разделе Учётные данные клиента, перейдите в Добавьте сертификат или секрет. Выберите Новый client secret.
-
Назовите client secret и выберите срок действия.
-
После создания секрета клиента скопируйте его Значение поле. Храните client secret в надёжном месте, так как его можно увидеть только сразу после создания. Это значение client secret понадобится вам при добавление Entra ID в качестве поставщика идентификации на шаге 3.
2. Настройте разрешения API в Entra ID
-
Перейдите в Регистрации приложений > Все приложения > выберите своё приложение > разрешения API.
-
Выберите Добавьте разрешение.
-
Выберите Microsoft Graph.
-
Выберите Делегированные разрешения и включите следующее разрешения ↗:
emailoffline_accessopenidprofileUser.ReadDirectory.Read.AllGroupMember.Read.All
-
После включения всех семи разрешений выберите Добавление разрешений.
-
Выберите Предоставить согласие администратора.
3. Добавьте Entra ID в качестве поставщика идентификации
-
В Панель управления Cloudflare ↗, перейдите в Zero Trust > Интеграции > Поставщики удостоверений.
-
В разделе Ваши поставщики идентификации, выберите Добавить нового поставщика идентификации.
-
Выберите Azure AD.
-
Введите Application (client) ID, Секрет клиента, а также Directory (tenant) ID полученный от Microsoft Entra ID.
-
Выберите Save.
-
Чтобы тест что ваше подключение работает, выберите Тест.
-
(Необязательно) Настройте следующие параметры:
- Proof Key for Code Exchange: Выполните PKCE ↗ при всех попытках входа.
- Группы поддержки: Разрешите Cloudflare читать членство пользователя в группах Entra ID.
- Entra ID Policy Sync: См. наш Руководство по Conditional Access в Entra ID.
- Включите SCIM: См. Синхронизируйте пользователей и группы.
- Email-claim: Введите claim Entra ID, который нужно использовать для идентификации пользователя (например,
preferred_username). - Утверждения OIDC: Введите пользовательские утверждения OIDC который вы хотите добавить к идентификации пользователей.
Сделайте POST запрос к Поставщики идентификации конечная точка:
Необходимые разрешения API-токена
Хотя бы одно из следующих права доступа токена требуется:Access: Organizations, Identity Providers, and Groups Write
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/identity_providers" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Entra ID example",
"type": "azureAD",
"config": {
"client_id": "<your client id>",
"client_secret": "<your client secret>",
"directory_id": "<your azure directory uuid>",
"support_groups": true
}
}'-
Добавьте следующее разрешение в свой
cloudflare_api_token↗:Access: Organizations, Identity Providers, and Groups Write
-
Настройте
cloudflare_zero_trust_access_identity_provider↗ ресурс:resource "cloudflare_zero_trust_access_identity_provider" "microsoft_entra_id" { account_id = var.cloudflare_account_id name = "Entra ID example" type = "azureAD" config = { client_id = var.entra_id_client_id client_secret = var.entra_id_client_secret directory_id = var.entra_id_directory_id support_groups = true } }
UPN and email
Если UPN вашей организации не совпадают с адресами электронной почты пользователей, необходимо добавить пользовательское утверждение для электронной почты. Например, если формат электронной почты в вашей организации [email protected] но UPN: [email protected], вам необходимо создать утверждение email, если вы настраиваете политики на основе email.
По умолчанию Cloudflare сначала ищет уникальное имя claim, которое вы создали и настроили в Cloudflare One для представления адреса электронной почты (например, email_identifier) в id_token Ответ JSON. Если вы не настроили уникальное имя claim, Cloudflare продолжит искать email утверждение. Наконец, если ни одно из утверждений не найдено, Cloudflare ищет утверждение UPN.
Чтобы получать email-утверждение в id_token от Microsoft Entra вы должны:
-
В Microsoft Entra admin center ↗, перейдите в Приложение > Регистрация приложения > Все приложения и выберите соответствующее приложение.
-
В разделе Управление, выберите Token configuration.
-
Добавьте claim для электронной почты.
В приведённом выше примере есть и утверждение UPN, и утверждение email. Поскольку в конфигурации Microsoft Entra было создано утверждение email, Cloudflare будет искать
emailпара ключ-значение в ответе JSON. -
Если вы дали своему email claim имя, отличное от
email, вам необходимо обновить конфигурацию в Cloudflare One:a. В Панель управления Cloudflare ↗, перейдите в Zero Trust > Интеграции > Поставщики удостоверений > Azure AD > Изменить.
b. В разделе Необязательные конфигурации > Email-claim, введите имя утверждения, представляющего адреса электронной почты вашей организации.
Object ID
Если вы опасаетесь, что адреса электронной почты или UPN пользователей могут измениться, вы можете передавать идентификатор объекта пользователя (oid) из Microsoft Entra в Cloudflare Access. Чтобы настроить получение object ID в Access, обратитесь к пользовательские утверждения OIDC. Дополнительная настройка в Microsoft Entra не требуется.
Синхронизируйте пользователей и группы
Интеграция Microsoft Entra ID позволяет синхронизировать группы IdP и автоматически деактивировать пользователей с помощью SCIM.
SCIM по-разному влияет на оценку политик Access и Gateway.
Access оценивает личность пользователя и членство в группах на основании утверждения SAML или токена OIDC, возвращённого поставщиком идентификации во время аутентификации. SCIM предоставляет читаемые названия групп в конструкторе политик Access, но Access не использует членство в группах SCIM для оценки входа. Если вы включите Включить отключение учётных записей пользователей, удаление пользователя из приложения SCIM аннулирует его активные сессии Access. Вы также можете настроить SCIM так, чтобы сессии аннулировались после изменения членства в группе. Access оценивает обновлённые данные поставщика идентификации при повторной аутентификации пользователя.
Gateway оценивает политики на основе личности по отношению к User Registry identity. SCIM обновляет эту идентификационную информацию при изменении пользователей или членства в группах, не дожидаясь повторной аутентификации пользователя. Профили устройств Cloudflare One Client используют ту же синхронизированную идентификационную информацию.
Предварительные требования
- Лицензия Microsoft Entra ID P1 или P2
1. Включите SCIM в Cloudflare One
-
В Панель управления Cloudflare ↗, перейдите в Zero Trust > Интеграции > Поставщики удостоверений.
-
Найдите интеграцию Entra ID и выберите Изменить.
-
Включите Включите SCIM и Группы поддержки.
-
(Необязательно) Настройте следующие параметры:
- Включить отключение учётных записей пользователей: Отозвать активную сессию пользователя когда их удаляют из приложения SCIM в Entra ID. Это аннулирует все активные сессии Access и потребует повторной аутентификации для всех Политики сессий Cloudflare One Client.
- Удалить место пользователя при deprovisioning: Удалите место пользователя из вашей учётной записи Cloudflare One, когда они удаляются из SCIM-приложения в Entra ID.
- Поведение SCIM при обновлении удостоверений: Выберите, что произойдёт в Cloudflare One при обновлении удостоверения пользователя в Entra ID.
- Автоматическое обновление удостоверений: Автоматически обновляйте User Registry identity когда Entra ID передаёт обновлённые данные идентификации или членства в группе через SCIM. Эта идентификация используется для политик Gateway и Cloudflare One Client профили устройств; Access считывает обновлённое удостоверение пользователя при повторной аутентификации.
- Повторная аутентификация при изменении состава группы: Отозвать активную сессию пользователя когда их членство в группе меняется в Entra ID. Это аннулирует все активные сессии Access и потребует повторной аутентификации для всех Политики сессий Cloudflare One Client. Access считает обновленное членство пользователя в группах при повторной аутентификации.
- Нет действия: Обновляйте идентификационные данные пользователя при следующей повторной аутентификации в Access или Cloudflare One Client.
-
Выберите Пересоздать секрет. Скопируйте SCIM Endpoint и SCIM Secret. Эти значения нужно будет ввести в Entra ID.
-
Выберите Save.
Секрет SCIM никогда не истекает, но вы можете вручную перегенерировать его в любой момент.
2. Настройте SCIM в Entra ID
-
В меню Microsoft Entra ID перейдите в Корпоративные приложения.
-
Выберите Новое приложение > Создайте собственное приложение.
-
Назовите приложение (например,
Cloudflare Access SCIM). -
Выберите Интегрируйте любое другое приложение, которое не найдено в галерее (Non-gallery). Если это будет предложено, не выбирайте ни одно из приложений галереи. Выберите Создание.
-
После создания приложения перейдите в Подготовка > выберите Новая конфигурация.
-
В Tenant URL поле введите SCIM Endpoint полученный из вашей интеграции Entra ID в Cloudflare One на предыдущем шаге.
-
В Секретный токен поле введите SCIM Secret полученный из вашей интеграции Entra ID в Cloudflare One на предыдущем шаге.
-
Выберите Test Connection чтобы убедиться, что учётные данные введены верно. Если проверка не пройдена, перейдите к интеграции Entra ID в Cloudflare One и выберите Пересоздать секрет, выберите Save, и введите новый SCIM Secret в Секретный токен поле.
-
Выберите Создание.
-
После создания приложения SCIM назначить пользователей и группы приложению ↗.
-
Перейдите в Подготовка и выберите Начать подготовку.
-
Для Режим подготовки, режим по умолчанию должен быть установлен Microsoft на Автоматически.
-
На Обзор странице в Entra ID вы увидите статус синхронизации.
Чтобы проверить, какие пользователи и группы были синхронизированы, выберите Журналы подготовки.
Чтобы проверить, обновились ли идентификационные данные пользователей в Cloudflare One, просмотрите журналы подготовки SCIM.
Чтобы отслеживать обмен данными о личности между Cloudflare Access и Microsoft Entra ID, перейдите в Панель управления Cloudflare ↗ > Zero Trust > Insights > Журналы > журналы подготовки SCIM и просмотрите журналы активности SCIM.
Атрибуты подготовки
Атрибуты подготовки определяют свойства пользователей, которые Entra ID будет синхронизировать с Cloudflare Access. Чтобы изменить свои атрибуты подготовки, перейдите в раздел Сопоставление атрибутов и выберите Подготовить пользователей Microsoft Entra ID.
Если это ещё не настроено, Cloudflare рекомендует включить следующие сопоставления атрибутов пользователя:
| customappsso Attribute | Entra ID Attribute | Рекомендация |
|---|---|---|
userName |
userPrincipalName или mail |
Обязательно. Должно совпадать с адресом электронной почты пользователя в Cloudflare One. |
emails[type eq "work"].value |
mail |
Обязательно. Должно совпадать с адресом электронной почты пользователя в Cloudflare One. |
name.givenName |
givenName |
Рекомендуется |
name.familyName |
surname |
Рекомендуется |
Группы Entra в политиках Zero Trust
Автоматическая запись
Когда Синхронизация SCIM включена, названия групп Entra автоматически появятся в конструкторах политик Access и Gateway.
Если вы создаёте политику Access, выберите Группы Azure селектор.

Если вы создаёте политику Gateway, выберите User Group Names селектор.
Ручной ввод
Вы можете создавать политики Access и Gateway для групп, которые не синхронизированы с SCIM. Entra ID предоставляет группы каталога в формате, состоящем из случайных строк, Object Id, который отличается от Name.
-
Убедитесь, что вы включили Группы поддержки при настройке Microsoft Entra ID в Cloudflare One.
-
В панели управления Microsoft Entra запишите
Object Idдля группы Entra. В примере ниже группа с именем Admins имеет идентификатор61503835-b6fe-4630-af88-de551dd59a2.
-
Если вы создаёте политику Access, выберите Группы Azure селектор. При создании политики Gateway выберите User Group IDs селектор.
-
В Значение поле введите
Object Idдля группы Entra.
Вложенные группы
Аутентификация
Политики Access и Gateway для группы Entra также будут применяться ко всем вложенные группы ↗. Например, если пользователь входит в группу US devs, а также US devs входит в более широкую группу Devs, доступ пользователя будет разрешён или заблокирован всеми политиками, созданными для Devs.
Подготовка SCIM
Для подготовки пользователей через SCIM, вложенные группы не поддерживаются ↗. Реализация SCIM в Microsoft Entra ID не передаёт Cloudflare сведения о вложенном членстве в группах. Будут подготовлены только пользователи, являющиеся прямыми участниками явно назначенной группы. Чтобы членство в группах синхронизировалось корректно, разверните структуру групп в Entra ID, напрямую назначив пользователей в группы, которые нужно подготовить.
Поскольку запрос SCIM от Microsoft не включает информацию о вложенных группах, ни Cloudflare, ни Microsoft не могут уведомить о том, что вложенные группы не синхронизируются.
Требовать участие пользователя при повторной аутентификации клиента на устройстве
Вы можете потребовать от пользователей повторного ввода учётных данных в Entra ID каждый раз, когда они повторно пройти аутентификацию для своей сессии Cloudflare One Client. Чтобы настроить этот параметр:
-
Сделайте
GETзапрос к Конечная точка поставщиков идентификации и скопируйте ответ для поставщика идентификации Entra ID.
Хотя бы одно из следующих права доступа токена требуется:Необходимые разрешения API-токена
Access: Organizations, Identity Providers, and Groups WriteAccess: Organizations, Identity Providers, and Groups Read
Получение поставщика идентификации Accesscurl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/identity_providers/$IDENTITY_PROVIDER_ID" \ --request GET \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" -
Обновите поставщика идентификации Entra ID с помощью
PUTзапрос. В теле запроса укажите все существующие конфигурации и установитеpromptпараметр в значениеloginилиselect_account. Например:
Хотя бы одно из следующих права доступа токена требуется:Необходимые разрешения API-токена
Access: Organizations, Identity Providers, and Groups Write
Обновите поставщика идентификации Accesscurl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/identity_providers/$IDENTITY_PROVIDER_ID" \ --request PUT \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ --json '{ "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", "type": "azureAD", "uid": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", "name": "Entra ID", "version": "31e74e9b4f033e16b604552091a72295", "config": { "azure_cloud": "default", "client_id": "<CLIENT_ID>", "conditional_access_enabled": false, "directory_id": "<AZURE_DIRECTORY_ID>", "redirect_url": "https://<TEAM_NAME>.cloudflareaccess.com/cdn-cgi/access/callback", "prompt": "login", "support_groups": true }, "scim_config": { "enabled": true, "user_deprovision": true, "seat_deprovision": false, "group_member_deprovision": false, "identity_update_behavior": "automatic" }, "scim_base_url": "https://<TEAM_NAME>.cloudflareaccess.com/populations/f174e90a-fafe-4643-bbbc-4a0ed4fc8415/scim/v2" }'