84 lines
2.5 KiB
Markdown
84 lines
2.5 KiB
Markdown
# IAM Impersonation API
|
|
|
|
> Источник: Swagger `https://auth-api-dev.ngcloud.ru/api/v1/documentation/`
|
|
> Дата: 2026-06-16
|
|
|
|
## Все эндпоинты имперсонации
|
|
|
|
| Метод | Путь | Описание |
|
|
|-------|------|----------|
|
|
| `POST` | `/api/v1/impersonation/start` | Начать имперсонацию |
|
|
| `POST` | `/api/v1/impersonation/end` | Завершить имперсонацию |
|
|
| `POST` | `/api/v1/impersonation/extend` | Продлить сессию имперсонации |
|
|
| `GET` | `/api/v1/impersonation/status` | Статус текущей имперсонации |
|
|
| `GET` | `/api/v1/impersonation/history` | История своих имперсонаций |
|
|
| `GET` | `/api/v1/impersonation/history/all` | История имперсонаций всех админов |
|
|
|
|
## Формат ImpersonationStartRequest
|
|
|
|
```json
|
|
{
|
|
"type": "user",
|
|
"entity_id": "UUID контакта (contactId из userInfo)",
|
|
"reason": "описание причины"
|
|
}
|
|
```
|
|
|
|
- `entity_id` — **UUID таргета** (кого имперсонируем), не свой
|
|
- `type` — всегда `"user"`
|
|
|
|
## curl-команды
|
|
|
|
### Начать имперсонацию
|
|
|
|
```bash
|
|
curl --http2 -X POST \
|
|
-H "Authorization: Bearer $TOKEN" \
|
|
-H "Content-Type: application/json" \
|
|
-H "Accept: application/json" \
|
|
"https://auth-api.ngcloud.ru/api/v1/impersonation/start" \
|
|
-d '{"type":"user","entity_id":"UUID_таргета","reason":"тест"}'
|
|
```
|
|
|
|
### Статус
|
|
|
|
```bash
|
|
curl --http2 \
|
|
-H "Authorization: Bearer $TOKEN" \
|
|
-H "Accept: application/json" \
|
|
"https://auth-api.ngcloud.ru/api/v1/impersonation/status"
|
|
```
|
|
|
|
### История
|
|
|
|
```bash
|
|
curl --http2 \
|
|
-H "Authorization: Bearer $TOKEN" \
|
|
-H "Accept: application/json" \
|
|
"https://auth-api.ngcloud.ru/api/v1/impersonation/history"
|
|
```
|
|
|
|
### Продлить
|
|
|
|
```bash
|
|
curl --http2 -X POST \
|
|
-H "Authorization: Bearer $TOKEN" \
|
|
-H "Accept: application/json" \
|
|
"https://auth-api.ngcloud.ru/api/v1/impersonation/extend"
|
|
```
|
|
|
|
### Завершить
|
|
|
|
```bash
|
|
curl --http2 -X POST \
|
|
-H "Authorization: Bearer $TOKEN" \
|
|
-H "Accept: application/json" \
|
|
"https://auth-api.ngcloud.ru/api/v1/impersonation/end"
|
|
```
|
|
|
|
## Примечания
|
|
|
|
- Требуется роль IAM-админа или право на объект `impersonation`
|
|
- `--http2` обязателен для обхода ddos-guard
|
|
- Стенды: `auth-api.ngcloud.ru` (prod), `auth-api-test.ngcloud.ru` (test), `auth-api-dev.ngcloud.ru` (dev)
|