tocdepth

2

Добавление группы

  1. Создайте группу пользователей:

    curl --location 'https://iam.api.cloud.ru/api/v1/groups' \
         --header 'accept: application/json' \
         --header 'Content-Type: application/json' \
         --header 'Authorization: Bearer <аутентификационный токен>' \
         --data '{
           "name": "testGroupHVA",
           "description": "группа ",
           "target": {
    
             "projectId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx"
           }
         }'
    

    Где:

    • name — Название группы пользователей для отображения. Может содержать буквы unicode в разных регистрах, цифры (0-9) и пробелы. Минимальное количество символов — 2, максимальное — 255.

    • description — Описание группы пользователей для отображения. Может содержать буквы unicode в разных регистрах, цифры (0-9), пробелы и и знаки пунктуации unicode. Минимальное количество символов — 2, максимальное — 255.

    • target — Организация или проект, к которому относится группа. При заполении этого параметра выберите customerId или projectId:

      • customerId — Если группу надо создать на уровне организации.

      • projectId — Если группу надо создать на уровне конкретного проекта в организации, customerId задавать не надо.

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

    {
      "group": {
          "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx",
          "name": "testGroupHVA",
          "description": "группа",
          "target": {
              "project_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx"
          },
          "created_at": "2024-09-03T09:11:01.717153043Z",
          "updated_at": "2024-09-03T09:11:01.717153043Z"
      }
    }
    

    Коды ошибок

    400 Bad Request

    В запросе одновременно переданы customerId и projectId.

    target: invalid value oneof field 'target_id' is already set.
    Cannot set 'projectId' for type one of
    
  2. С помощью запроса назначьте роль, используя id группы из предыдущего шага.

    Обратите внимание: группе уровня проекта нельзя выдать права на организацию или ресурсы, которые не входят в этот проект.

    curl --location 'https://iam.api.cloud.ru/api/v1/permissions' \
         --header 'accept: application/json' \
         --header 'Content-Type: application/json' \
         --header 'Authorization: Bearer <аутентификационный токен>' \
         --data '{
           "role": "platform.project.admin",
           "objectId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx",
           "objectType": "resource",
           "subjectId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx",
           "subjectType": "user_group",
           "expiresAt": "2025-05-28T07:19:34.563Z"
         }'
    

    Где:

    • roleроль, выдаваемая группе;

    • objectId — идентификатор ресурса, на уровень которого выдается роль;

    • object_type — при заполнении этого параметра выберите customer или resource:

      • customer — если роль дается на организацию;

      • resource — если на любой ресурс.

    • subjectId — идентификатор субъекта;

    • subjectType — тип субъекта, которому выдается роль:

      • user_group — если роль выдается группе пользователей.

    • expiresAt - 2025-05-28 — дата, после которой роль будет удалена.

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

Запустили Evolution free tier
для Dev & Test
Получить