Выдача удалённого доступа пользователю

Материал из Документация Ключ-АСТРОМ

Этот вызов API предоставляет разрешение на удаленный доступ определенному пользователю.

Вы можете указать роль пользователя, продолжительность и причину запроса на удаленный доступ. Запрос потребляет и создает полезную нагрузку application/json.

Аутентификация

Для выполнения этого запроса вам необходимо разрешение одной из областей API (ClusterTokenManagement, ServiceProvider или Nodekeeper), назначенное вашему токену API. Создайте свой токен API с помощью консоли управления кластером (CMC). Чтобы узнать, как его получить и использовать, см. Аутентификация кластера.

Конечная точка

/api/cluster/v2/remoteaccess/requests

Параметры

Параметр Тип Описание В Обязательно
body CreateAccessRequestDto Тело запроса в формате JSON, содержащее параметры запроса доступа body Нет

Объекты тела запроса

Объект CreateAccessRequestDto

Element Type Description Required
userId string ID пользователя Нет
reason string Описание причины запроса Нет
requestedDays integer На сколько дней запрашивается доступ Нет
role string Запрошенная роль

Элемент может содержать эти значения

  • devops-admin
  • devops-user
  • devops-viewer
Нет

JSON-модель тела запроса

{
  "userId": "string",
  "reason": "string",
  "requestedDays": 1,
  "role": "devops-admin"
}

Ответ

Коды ответа

Код Тип Описание
201 AccessRequestData Создано успешно
400 Недопустимые параметры
403 Утверждение запроса на удаленный доступ отключено
500 Операция не удалась
513 КонтрольЗадач недоступен

Объекты тела ответа

Объект AccessRequestData

Элемент Тип Описание
requestId string Идентификатор запроса
userId string ID пользователя
reason string Описание причины запроса
requestedDays integer На сколько дней запрашивается доступ
role string Запрошенная роль

Элемент может содержать эти значения:

  • devops-admin
  • devops-user
  • devops-viewer
createdTimestamp integer Запрос на доступ создан в (отметка времени)
expirationTimestamp integer Доступ истекает в (отметка времени)
state string Состояние запроса доступа

Элемент может содержать эти значения

  • ACCEPTED
  • EXPIRED
  • PENDING
  • REJECTED
stateModifiedByUser string Состояние запроса на доступ было изменено пользователем

JSON-модель тела ответа

{
  "requestId": "string",
  "userId": "string",
  "reason": "string",
  "requestedDays": 1,
  "role": "devops-admin",
  "createdTimestamp": 1,
  "expirationTimestamp": 1,
  "state": "ACCEPTED",
  "stateModifiedByUser": "string"
}

Пример

В этом примере вы предоставляете пользователю john.smith@dynatrace.com разрешение удаленного кластера с ролью администратора на 7 дней.

Curl

curl -X POST "https://myManaged.cluster.com/api/cluster/v2/remoteaccess/requests" -H  "accept: application/json" -H  "Content-Type: */*"-d "{\"userId\":\"john.smith@dynatrace.com\",\"reason\":\"SUP-123456 Verifying cluster state after upgrade\",\"requestedDays\":7,\"role\":\"devops-admin\"}"

URL-адрес запроса

https://myManaged.cluster.com/api/cluster/v2/remoteaccess/requests

Тело запроса

{
  "userId": "john.smith@dynatrace.com",
  "reason": "SUP-123456 Verifying cluster state after upgrade",
  "requestedDays": 7,
  "role": "devops-admin"
}

Тело ответа

{
  "requestId": "7a397770-86b7-473b-b23e-4a07d79f2eff",
  "userId": "john.smith@dynatrace.com",
  "reason": "SUP-123456 Verifying cluster state after upgrade",
  "requestedDays": 7,
  "role": "devops-admin",
  "createdTimestamp": 1586452866661,
  "expirationTimestamp": 1587081600000,
  "state": "ACCEPTED",
  "stateModifiedByUser": "katie.novak"
}

Код ответа

201