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

Материал из Документация Ключ-АСТРОМ
(Полностью удалено содержимое страницы)
 
Строка 1: Строка 1:
Этот вызов API предоставляет разрешение на удаленный доступ определенному пользователю.


Вы можете указать роль пользователя, продолжительность и причину запроса на удаленный доступ. Запрос потребляет и создает полезную нагрузку <code>application/json</code>.
==Аутентификация==
Для выполнения этого запроса вам необходимо разрешение одной из областей API <code>(ClusterTokenManagement, ServiceProvider или Nodekeeper)</code>, назначенное вашему токену API. Создайте свой токен API с помощью консоли управления кластером (CMC). Чтобы узнать, как его получить и использовать, см. [https://doc.ruscomtech.ru/index.php/%D0%90%D1%83%D1%82%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F_%D0%BA%D0%BB%D0%B0%D1%81%D1%82%D0%B5%D1%80%D0%B0 Аутентификация кластера].
==Конечная точка==
<code>/api/cluster/v2/remoteaccess/requests</code>
==Параметры==
{| class="wikitable"
!Параметр
!Тип
!Описание
!Обязательно
|-
|body
|CreateAccessRequestDto
|Тело запроса в формате JSON, содержащее параметры запроса доступа
|body
|Нет
|}
=== Объекты тела запроса ===
==== Объект <code>CreateAccessRequestDto</code> ====
{| class="wikitable"
!Element
!Type
!Description
!Required
|-
|userId
|string
|ID пользователя
|Нет
|-
|reason
|string
|Описание причины запроса
|Нет
|-
|requestedDays
|integer
|На сколько дней запрашивается доступ
|Нет
|-
|role
|string
|Запрошенная роль
Элемент может содержать эти значения
* <code>devops-admin</code>
* <code>devops-user</code>
* <code>devops-viewer</code>
|Нет
|}
=== JSON-модель тела запроса ===
<code>{
  "userId": "string",
  "reason": "string",
  "requestedDays": 1,
  "role": "devops-admin"
}</code>
==Ответ==
===Коды ответа===
{| class="wikitable"
!Код
!Тип
!Описание
|-
|'''201'''
|AccessRequestData
|Создано успешно
|-
|'''400'''
|
|Недопустимые параметры
|-
|'''403'''
|
|Утверждение запроса на удаленный доступ отключено
|-
|'''500'''
|
|Операция не удалась
|-
|'''513'''
|
|КонтрольЗадач недоступен
|}
===Объекты тела ответа===
====Объект <code>AccessRequestData</code>====
{| class="wikitable"
!Элемент
!Тип
!Описание
|-
|requestId
|string
|Идентификатор запроса
|-
|userId
|string
|ID пользователя
|-
|reason
|string
|Описание причины запроса
|-
|requestedDays
|integer
|На сколько дней запрашивается доступ
|-
|role
|string
|Запрошенная роль
Элемент может содержать эти значения:
*<code>devops-admin</code>
*<code>devops-user</code>
*<code>devops-viewer</code>
|-
|createdTimestamp
|integer
|Запрос на доступ создан в (отметка времени)
|-
|expirationTimestamp
|integer
|Доступ истекает в (отметка времени)
|-
|state
|string
|Состояние запроса доступа
Элемент может содержать эти значения
*<code>ACCEPTED</code>
*<code>EXPIRED</code>
*<code>PENDING</code>
*<code>REJECTED</code>
|-
|stateModifiedByUser
|string
|Состояние запроса на доступ было изменено пользователем
|}
===JSON-модель тела ответа===
<code>{
  "requestId": "string",
  "userId": "string",
  "reason": "string",
  "requestedDays": 1,
  "role": "devops-admin",
  "createdTimestamp": 1,
  "expirationTimestamp": 1,
  "state": "ACCEPTED",
  "stateModifiedByUser": "string"
}</code>
==Пример==
В этом примере вы предоставляете пользователю <code>john.smith@dynatrace.com</code> разрешение удаленного кластера с ролью администратора на <code>7</code> дней.
====Curl====
<code>curl -X POST "<nowiki>https://myManaged.cluster.com/api/cluster/v2/remoteaccess/requests</nowiki>" -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\"}"</code>
====URL-адрес запроса====
<code><nowiki>https://myManaged.cluster.com/api/cluster/v2/remoteaccess/requests</nowiki></code>
==== Тело запроса ====
<code>{
  "userId": "john.smith@dynatrace.com",
  "reason": "SUP-123456 Verifying cluster state after upgrade",
  "requestedDays": 7,
  "role": "devops-admin"
}</code>
====Тело ответа====
<code>{
  "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"
}</code>
====Код ответа====
<code>201</code>

Текущая версия на 22:04, 5 сентября 2023