SCIM API
SCIM API в Wrike обеспечивает автоматическое предоставление и управление пользователями за счёт синхронизации данных пользователей из вашего провайдера идентификации. Используйте его для создания, обновления и деактивации пользователей, сохраняя централизованный контроль над доступом и данными идентификации.
|
Доступно: Legacy Enterprise.; Недоступно: Legacy Free, Legacy Professional, Legacy Business.; |
|
Доступность: Pinnacle, Apex. ; Unavailability: Free, Team, Business; |
System for Cross-domain Identity Management (SCIM) — это стандарт для автоматизации обмена информацией об учётных данных пользователей между доменами идентификации или ИТ-системами. Для SCIM-предоставления в Wrike есть готовые решения с OKTA, OneLogin и Azure AD, подробно описанные в указанных справочных статьях. На этой странице описывается кастомное предоставление SCIM через API.
С его помощью можно:
-
Создание новых пользователей в Wrike
-
Предоставление и обновление поддерживаемых атрибутов пользователя
-
Предоставление и обновление настраиваемых атрибутов пользователя
-
Деактивировать или удалять пользователей в Wrike
-
Создавать и обновлять группы пользователей в Wrike
-
Добавлять или удалять участников групп
-
Работает только на уровнях подписки Legacy Enterprise, Pinnacle и Apex.
-
Синхронизация выполняется только в одном направлении — из IdP в Wrike.
-
Пароли пользователей не хранятся в Wrike. Если пользователь создан через SCIM в аккаунте без SAML SSO, ему потребуется использовать страницу сброса пароля, чтобы создать пароль.
-
Поиск поддерживается только по адресу электронной почты.
-
Wrike использует адрес электронной почты в качестве имени пользователя. При предоставлении или интеграции Wrike ищет действительный адрес электронной почты в полях userName или emails, чтобы использовать его в качестве логина.
Примечание
Поскольку способы реализации SCIM у разных провайдеров идентификации (IdP) значительно отличаются (например, сообщения об ошибках, поддерживаемые и неподдерживаемые действия и т. д.), особенности работы SCIM и сообщения об ошибках для конкретного IdP должны изучаться администраторами вашего IdP и в тесном сотрудничестве с ними. Устранение неполадок и консультации по особенностям реализации SCIM у различных провайдеров идентификации не входят в зону ответственности Службы поддержки Wrike.
-
У вас должен быть аккаунт с подпиской уровня Legacy Enterprise, Pinnacle или Apex и права администратора с разрешениями «редактировать имена и адреса электронной почты, добавлять/удалять людей из групп, экспортировать список пользователей, деактивировать и удалять отдельные учётные записи пользователей», «Настраивать расширенные параметры безопасности» и «Предоставлять/отзывать административные права».
-
Add approved domains. Только пользователи из утверждённых доменов будут автоматически предоставляться в Wrike.
-
Создайте постоянный API-токен.
-
В разделе «Приложения и интеграции» скопируйте SCIM-URL вашего аккаунта на вкладке SCIM карточек OKTA, OneLogin или Azure AD.
-
Вы можете воспользоваться Postman, чтобы применить наш готовый набор окружения и коллекцию запросов. Чтобы подготовить окружение Postman, скачайте и импортируйте:
-
Коллекция вызовов Wrike SCIM для Postman: Wrike SCIM.postman_collection.json
-
Скачайте и импортируйте окружение Wrike SCIM, добавьте свой базовый URL и постоянный токен: Wrike_SCIM_API.postman_environment.json
-
. Пользователи
-
Список интегрированных пользователей - GET {{base_url}}/Users - возвращает JSON с информацией о существующих пользователях аккаунта, интегрированных через SCIM. Это пользователи, которые были созданы по приглашению и затем связаны с помощью вызова POST /Users, а также пользователи, которые были сразу предоставлены через SCIM. Если вы создали некоторых пользователей вручную и ещё не интегрировали их с помощью вызова № 2, они не появятся в JSON.
-
Получить интегрированного пользователя — GET {{base_url}}/Users/ — добавьте ID пользователя, чтобы получить JSON с информацией об этом пользователе, например GET {{base_url}}/Users/KUAH4WFR, где KUAH4WFR — это API-ID пользователя.
-
Поиск интегрированных пользователей с помощью фильтра eq — GET {{base_url}}/Users?filter=userName eq \"jerome.chef@scim.test\" — ищет пользователя по полному основному адресу электронной почты.
-
-
Создание пользователя — POST {{base_url}}/Users + корректно оформленное тело запроса (пример приведён ниже) — создаёт пользователя с атрибутами, указанными в теле запроса.
-
Замена атрибутов пользователя — PUT {{base_url}}/Users/{{user_id}} + корректно оформленное тело запроса (пример приведён ниже) — перезаписывает все атрибуты пользователя в соответствии с телом запроса. Этот вызов можно использовать для обновления типа пользователя и деактивации/активации пользователя.
-
Частичное обновление атрибутов пользователя — PATCH {{base_url}}/Users/{{user_id}} + корректно оформленное тело запроса (пример приведён ниже) — почти то же самое, но тело запроса содержит только атрибуты, которые нужно обновить, и их новые значения.
-
Удаление пользователя — DELETE {{base_url}}/Users/{{user_id}}.
Настраиваемые атрибуты пользователя
-
Атрибуты пользователяНастраиваемые атрибуты пользователя можно предоставлять и обновлять через расширение Wrike SCIM в запросах POST /Users, PUT /Users/{{user_id}} и PATCH /Users/{{user_id}}.
Группы
-
Список групп — GET {{base_url}}/Groups — возвращает JSON с информацией о предоставленных группах пользователей Wrike.
-
Получить группу — GET {{base_url}}/Groups/{{group_id}} — возвращает JSON с информацией об этой группе.
-
Создание группы — POST {{base_url}}/Groups + корректно оформленное тело запроса — создаёт группу пользователей Wrike.
-
Частичное обновление группы — PATCH {{base_url}}/Groups/{{group_id}} + корректно оформленное тело запроса — обновляет атрибуты группы и состав участников.
-
Удаление группы — DELETE {{base_url}}/Groups/{{group_id}}.
Ниже приведён пример тела запроса для создания пользователя / привязки существующего пользователя / обновления атрибутов пользователя:
*userName, основные и вторичные адреса электронной почты:
-
userName — обязательное поле.
-
Адреса электронной почты (основной и дополнительные) являются необязательными; в этом блоке может быть любое количество адресов.
-
Если в теле запроса НЕТ основного адреса, то значение userName добавляется как основной адрес электронной почты пользователя в Wrike.
-
Если в теле запроса ЕСТЬ основной адрес, он используется как основной адрес электронной почты пользователя в Wrike.
-
Если в блоке emails указаны адреса, но ни один из них не помечен как основной, то userName добавляется как основной адрес пользователя в Wrike, а остальные — как вторичные.
**Доступные локали и их расшифровка:
Вот пример тела запроса для частичного обновления атрибутов пользователя:
Интеграция Wrike-SCIM позволяет задавать типы пользователей, связанных через SCIM, в запросах на предоставление или обновление с помощью параметра wrikeUserType.
Допустимые значения атрибута wrikeUserType, соответствующие типам пользователей по умолчанию: \"Regular\", \"External\", \"Collaborator\", \"Viewer\" и \"Contributor\" (без учёта регистра).
Примечание
Значения \"Viewer\" и \"Contributor\" принимаются, если эти типы пользователей включены в вашем аккаунте.
Связь с типами пользователей по умолчанию остаётся действительной даже если эти типы были переименованы/изменены (например, если «Regular user» был переименован во «Внешний», запрос со значением «Regular» всё равно будет привязан к тому же типу пользователя).
Значения идентификаторов типов пользователей по умолчанию следующие:
-
Owner: -1
-
Admin: -2
-
Regular: -3
-
External: -4
-
Collaborator: -5
-
Viewer: -8
-
Contributor: -10
Note
Типы пользователей Viewer и Contributor могут быть включены или отключены в вашем аккаунте. Если вы не уверены, обратитесь к своему менеджеру по работе с клиентами, чтобы уточнить, включены ли они.
Более надёжный способ — обращаться к типам пользователей по их UID в API, поэтому всегда отдавайте предпочтение этому методу. UID можно получить одним из следующих способов:
-
с помощью метода GET /user_types в API Wrike.
-
из ответа на методы CREATE, GET или PATCH для существующих пользователей.
-
Служба поддержки Wrike может предоставить UID типов пользователей вашего аккаунта по запросу владельца или администратора аккаунта.
Important
Обратите внимание, что атрибут name.formatted нельзя изменить с помощью метода PATCH. Его значение формируется автоматически на основе атрибутов пользователя name.familyName и name.givenName.
Wrike поддерживает настраиваемые поля на уровне пользователя. Их можно предоставлять через SCIM с помощью пользовательского расширения SCIM:
Каждое настраиваемое поле пользователя указывается как:
Пример:
Предоставление групп позволяет:
-
Автоматическое создание групп пользователей Wrike на основе групп, определённых в IdP
-
Добавление и удаление участников из группы
-
Удаление группы при её удалении в IdP
-
Постоянные дельта-обновления
Синхронизация групп выполняется через конечную точку SCIM /Groups.