tocdepth

2

Членство в группе

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

Добавление пользователей в группу

Выполните запрос:

curl --location 'https://iam.api.cloud.ru/api/v1/groups/<groupId>/users/<userId>' \
     --header 'accept: application/json' \
     --header 'Content-Type: application/json' \
     --header 'Authorization: Bearer <аутентификационный токен>' \
     --data '{}'

Где:

  • groupId — идентификатор группы, в которую добавляется пользователь;

  • userId — идентификатор пользователя, добавляемого в группу.

Исключение пользователя из группы

Пользователя можно исключить из группы:

curl --location --request DELETE 'https://iam.api.cloud.ru/api/v1/groups/<groupId>/users/<userId>' \
     --header 'accept: application/json' \
     --header 'Content-Type: application/json' \
     --header 'Authorization: Bearer <аутентификационный токен>' \
     --data '{}'

Где:

  • groupId — идентификатор группы;

  • userId — идентификатор пользователя.

Коды ошибок

400 Bad Request

Задан некорректный userId.

{
  "code": 3,
  "message": "invalid user id: invalid UUID length: 4",
  "details": []
}

404 Not Found

Пользователя с заданным id нет в группе.

{
  "code": 5,
  "message": "failed to delete user from group: get user by id: user not found: record not found",
  "details": []
}

404 Not Found

Пользователь с заданным id существует, но его нет в группе.

{
  "code": 5,
  "message": "failed to delete user from group: delete user from group: failed to remove the user from the group: user_in_group not found",
  "details": []
}

Включить в группу одних пользователей и исключить других

Включить в группу новых пользователей и исключить из нее всех текущих можно с помощью запроса:

curl --location 'https://iam.api.cloud.ru/api/v1/groups/<groupId>/users' \
     --header 'accept: application/json' \
     --header 'Content-Type: application/json' \
     --header 'Authorization: Bearer <аутентификационный токен>' \
     --data '{
       "userIds": [
         "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx",
         "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyyy",
       ]
     }'

Где:

  • groupId — идентификатор группы;

  • userIds — массив идентификаторов добавляемых в группу пользователей.

Проверить участие в группе

Проверить, является ли пользователь участником группы, можно с помощью запроса:

curl --location 'https://iam.api.cloud.ru/api/v1/groups/<groupId>/users/<userId>' \
     --header 'accept: application/json' \
     --header 'Authorization: Bearer <аутентификационный токен>'

Где:

  • groupId — идентификатор группы;

  • userId — идентификатор пользователя.

Пример ответа

Если пользователь — член группы, вернется значение true.

{
  "group_id": "462a8087-233b-4efd-87f6-f8fe5676e004",
  "user_id": "e8e2984a-54c8-4d2b-93f0-049d2b61fcaa",
  "is_member": true
}

Если пользователь — не член группы, вернется значение false.

{
  "group_id": "462a8087-233b-4efd-87f6-f8fe5676e004",
  "user_id": "e8e2984a-54c8-4d2b-93f0-049d2b61fcaa",
  "is_member": false
}

Посмотреть всех участников группы

Чтобы посмотреть всех участников группы, выполните запрос:

curl --location 'https://iam.api.cloud.ru/api/v1/groups/<groupId>/users?limit=10' \
     --header 'accept: application/json' \
     --header 'Authorization: Bearer <аутентификационный токен>'

Где:

  • groupId — Идентификатор группы.

  • limit — Количество возвращаемых записей. Если лимит не задан, то по умолчанию вернется 1 000 записей.

  • before— Курсор для получения предыдущей страницы пользователей.

  • after — Курсор для получения следующей страницы пользователей.

Пример ответа

{
  "users": [
      {
        "user_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx",
        "username": "ivanovivan@gmail.com",
        "email": "mivanovivan@gmail.com",
        "first_name": "Иван",
        "last_name": "Иванов",
        "middle_name": "",
        "enabled": true,
        "account_type": "USER_ACCOUNT_TYPE_LOCAL"
      },
      {
        "user_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx",
        "username": "petrovpetr@gmail.com",
        "email": "petrovpetr@gmail.com",
        "first_name": "Петр",
        "last_name": "Петров",
        "middle_name": "Петрович",
        "enabled": true,
        "account_type": "USER_ACCOUNT_TYPE_LOCAL"
      }
  ],
  "limit": 10,
  "cursor": {
      "before": "",
      "after": ""
  }
}
Запустили Evolution free tier
для Dev & Test
Получить