Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом руководстве описывается, как использовать Microsoft Entra SCIM Validator, чтобы проверить, совместим ли ваш сервер подготовки учетных записей с клиентом Azure SCIM. Это руководство предназначено для разработчиков, которые хотят создать сервер, совместимый со SCIM, для управления идентификационными данными с помощью службы подготовки Microsoft Entra.
Примечание.
Используйте Microsoft Entra SCIM Validator, чтобы тестировать ваш конечный узел в процессе его разработки. Это не та проверка, которая требуется для публикации в коллекции приложений Microsoft Entra. Чтобы опубликовать интеграцию подготовки пользователей в коллекцию, запустите шаблон проверки Azure Logic Apps и отправьте результаты. Дополнительные сведения см. в статье "Проверка подготовки пользователей для коллекции приложений Microsoft Entra".
В этом руководстве описано следующее:
- выбор метода тестирования;
- Настройка метода тестирования
- Проверьте конечную точку SCIM
Предварительные требования
- Учетная запись Microsoft Entra с активной подпиской. Создайте учетную запись бесплатно .
- Конечная точка SCIM, соответствующая стандарту SCIM 2.0 и требованиям к службе подготовки. Дополнительные сведения см. в руководстве Руководство: разработка и планирование подготовки SCIM-конечной точки в Microsoft Entra ID.
выбор метода тестирования;
Первым шагом является выбор метода тестирования для проверки конечной точки SCIM.
Откройте веб-браузер и перейдите по адресу валидатора SCIM: https://scimvalidator.microsoft.com/.
Выберите один из трех вариантов тестирования. Вы можете использовать атрибуты по умолчанию, автоматически обнаружить схему или отправить схему.
Использовать атрибуты по умолчанию. Система предоставляет атрибуты по умолчанию и изменяет их в соответствии с вашими требованиями.
Обнаружение схемы . Если конечная точка поддерживает /Schemas, этот параметр позволяет инструменту обнаруживать поддерживаемые атрибуты. Мы рекомендуем использовать этот параметр, так как это снижает затраты на обновление приложения по мере его сборки.
Загрузка схемы Microsoft Entra — Загрузите схему, которую вы скачали из примера приложения в Microsoft Entra ID.
Настройка метода тестирования
Теперь, когда вы выбрали метод тестирования, следующим шагом является его настройка.
- Если вы используете атрибуты по умолчанию, заполните все указанные поля.
- Если вы используете обнаружение схемы, введите URL-адрес и маркер конечной точки SCIM.
- Если вы отправляете схему, выберите JSON-файл для отправки. Параметр принимает файл .json, экспортируемый из примера приложения в Центре администрирования Microsoft Entra. Чтобы узнать, как экспортировать схему, см. Инструкция: экспорт конфигурации подготовки и возврат к заведомо рабочему состоянию.
Примечание.
Чтобы проверить атрибуты группы, обязательно выберите Включить групповые тесты.
- Измените атрибуты списка по желанию для типов пользователей и групп, используя параметр "Добавить атрибут" в конце списка атрибутов и знак минуса (-) в правой части страницы.
- Выберите свойство присоединения из списка атрибутов пользователя и группы.
Примечание.
Свойство присоединения, также известное как соответствующий атрибут, является атрибутом, обеспечивающий возможность уникально запрашивать ресурсы пользователей и групп в источнике и сопоставлять в целевой системе.
Проверьте вашу конечную точку SCIM
Наконец, необходимо протестировать и проверить конечную точку.
Чтобы начать проверку, выберите Проверить схему.
Просмотрите результаты с сводкой пройденных и неудачных тестов.
Перейдите на вкладку Сведения и просмотрите и исправьте проблемы.
Продолжайте тестировать схему, пока не будут пройдены все тесты.
Проверка заметок, выполняемых проверятелем SCIM
Создание нового пользователя
- POST /Users — создает нового пользователя с полными полезными данными JSON.
- Конечная точка возвращает HTTP 201
- Ответ POST содержит созданный идентификатор пользователя
- GET /Users?filter={joinProperty} eq "value" — проверяет создание путем фильтрации по свойству присоединения.
- Get возвращает созданного пользователя
- Возвращаемые значения из GET соответствуют переданным значениям из запроса POST (зависит от конечной точки).
- DELETE /Users — очищает тестового пользователя. -Вызывается только в том случае, если поддерживается жесткое удаление
Создание повторяющегося пользователя
- POST /Users — попытка создать пользователя с использованием идентичных данных (с тем же уникальным или объединяющим атрибутом), как у существующего пользователя.
- Возврат HTTP 201 при первом запросе на создание
- Возврат HTTP 409 во втором запросе на создание
Добавление атрибутов
- POST /Users — создает ресурс пользователя
- Успех HTTP 2xxx
- PATCH /Users/{id} — использует документ исправления JSON (с операцией добавления) для вставки дополнительных не обязательных атрибутов.
- GET /Users?filter={joiningProperty} eq "value" — извлекает пользователя, чтобы проверить добавленные атрибуты.
- Пользователь возвращается
- Вставляемые атрибуты теперь присутствуют в пользователе
Замена атрибутов пользователя
- POST /Users — создает ресурс пользователя
- Успех HTTP 2xxx
- PATCH /Users/{id} — отправляет документ исправления JSON (с помощью операции замены) для обновления одного или нескольких атрибутов.
- GET /Users?filter={joiningProperty} eq "value" — проверяет правильность применения обновленных атрибутов.
- Пользователь возвращается
- Обновленные атрибуты присутствуют в пользователе
Обновление свойства присоединения
- POST /Users — создает ресурс пользователя
- Успех HTTP 2xxx
- PATCH /Users/{id} — обновляет свойство присоединения (например, userName) с помощью документа исправления JSON.
- GET /Users?filter={joinProperty} eq "newValue" — подтверждает обновление свойства присоединения.
- Свойство соединения обновляется у пользователя
Обновление активного атрибута до false
- POST /Users/ — создает ресурс на основе схемы
- Успех HTTP 2xxx
- Пользователь с отключенным доступом должен быть возвращен по запросу GET
- PATCH /Users/{id} — создает документ JSON-патч, который задает для атрибута "active" значение false.
- Успех HTTP 2xxx
- GET /Users?filter={joinProperty} eq "value" — извлекает пользователя, чтобы подтвердить, что активный атрибут теперь имеет значение false.
- Возвращенная запись пользователя должна иметь ACTIVE=FALSE"
Создание новой группы
- POST /Groups — создает новую группу с полным JSON-пакетом.
- Конечная точка возвращает HTTP 201
- Ответ POST содержит созданный идентификатор группы
- GET /Group?filter={joinProperty} eq "value" — проверяет создание путем фильтрации по свойству присоединения.
- Get возвращает созданную группу
- Возвращаемые значения из GET соответствуют переданным значениям из запроса POST (зависит от конечной точки).
- DELETE /Groups — очищает тестового пользователя.
- Вызывается только в том случае, если поддерживается жесткое удаление
Создание повторяющихся групп
- POST /Groups — попытка создать группу, используя одинаковый уникальный атрибут присоединения, который уже используется в существующей группе.
- Возврат HTTP 201 при первом запросе на создание
- Возврат HTTP 409 во втором запросе на создание
Обновление атрибутов группы
- POST /Groups — создает новый ресурс группы, позволяющий обновлять атрибуты
- POST возвращает HTTP 2xx
- PATCH /Groups/{id} — отправляет документ исправления JSON с помощью операции замены для обновления одного или нескольких атрибутов существующей группы (за исключением членов).
- PATCH возвращает успех (HTTP 2xx)
- GET /Groups?filter={joiningProperty} eq "value" — подтверждает правильность обновления атрибутов группы.
- GET возвращает исправленную группу
- Атрибуты группы, которая возвращается, совпадают с измененными атрибутами в запросе PATCH.
Создание ресурса группы
- POST /Groups — создает новый ресурс группы для добавления участника в
- POST возвращает HTTP 2xx
- POST /Users — создает новый ресурс пользователя, который будет использоваться в качестве члена группы.
- POST возвращает HTTP 2xx
- PATCH /Groups/{id} — добавляет идентификатор только что созданного пользователя в группу с помощью документа исправления JSON.
- Исправление возвращает успешное выполнение
Использование выражений в валидаторе SCIM
Проверяющий элемент SCIM поддерживает использование выражений для создания требуемых значений атрибутов.
Использование выражений
- Перейдите на страницу "Атрибуты".
- Введите нужное выражение в столбце значений атрибута, который требуется настроить.
- Запуск теста
Примечание.
Эти выражения работают как для атрибутов пользователя, так и для групп.
Доступные выражения
В таблице ниже перечислены доступные выражения
| Выражение | Значение | Пример | Результат |
|---|---|---|---|
| сгенерироватьСлучайнуюСтроку {Количество символов в строке} | Создание случайной строки с указанным числом символов алфавита | {%generateRandomString 6%}@contoso.com | CXJHYP@contoso.com |
| сгенерироватьСлучайноеЧисло {Количество Чисел} | Создание случайного числа с указанным числом цифр | {%generateRandomNumber 4%} | 8821 |
| generateAlphaNumeric {Количество символов} | Создание случайной строки с сочетанием алфавитов и чисел с указанным числом символов | {%generateAlphaNumeric 7%} | 59Q2M9W |
| сгенерироватьБуквенноЦифровуюСтрокуСоСпециальнымиСимволами {Количество символов} | Создание случайной строки с сочетанием алфавитов, чисел и специального символа на основе указанного количества символов | {%generateAlphaNumericWithSpecialCharacters 8%}ТЕСТ | D385N05'TEST |
Вы можете добавить значения до или после выражений, чтобы добиться желаемого результата, например при добавлении {% generateRandomString 6 %}@contoso.com в поле значения атрибута userName, оно создаст новое значение userName с каждым тестом при сохранении домена contoso.com.
Очистка ресурсов
Если при тестировании вы создали ресурсы Azure, которые больше не нужны, не забудьте удалить их.
Известные проблемы с проверятелем SCIM Microsoft Entra
- Операции мягкого удаления (отключения) пока не поддерживаются.
- Формат часового пояса создается случайным образом и завершается сбоем для систем, которые пытаются проверить его.
- Операция удаления атрибутов пользователя в PATCH-запросе может попытаться удалить обязательные атрибуты в некоторых системах. Такие сбои следует игнорировать.