Токены и аутентификация (API): различия между версиями

Материал из Документация Ключ-АСТРОМ
 
Строка 1: Строка 1:
'''''[[API Ключ-АСТРОМ]] / [https://doc.ruscomtech.ru/index.php/API_Ключ-АСТРОМ#.D0.9E.D1.81.D0.BD.D0.BE.D0.B2.D0.BD.D0.BE.D0.B5 Основное] / Токены и аутентификация (API)'''''
'''''[[API Ключ-АСТРОМ]] / [https://doc.ruscomtech.ru/index.php/API_Ключ-АСТРОМ#.D0.9E.D1.81.D0.BD.D0.BE.D0.B2.D0.BD.D0.BE.D0.B5 Основное] / Токены и аутентификация (API)'''''


Чтобы пройти аутентификацию для использования Ключ-АСТРОМ API, вам понадобится действующий [[токен доступа]] или действительный [[токен личного доступа]] . Доступ к API детализирован, что означает, что вам также потребуются соответствующие разрешения, назначенные токену. См. описание каждого запроса, чтобы узнать, какие разрешения требуются для его использования.
 
Для аутентификации и использования API Ключ-АСТРОМ вам потребуется токен доступа или личный токен доступа. Доступ к API ограничен, то есть токену также должны быть назначены соответствующие области действия. Чтобы узнать, какие области действия необходимы для его использования, см. описание каждого запроса.


== Формат токена ==
== Формат токена ==
Ключ-АСТРОМ использует уникальный формат токенов, состоящий из трех компонентов, разделенных точками (.). Например:<br>
Ключ-АСТРОМ использует уникальный формат токена, состоящий из трех компонентов, разделенных точками (<code>.</code>).
<code>dt0c01.ST2EY72KQINMH574WMNVI7YN.G3DFPBEJYMODIDAEX454M7YWBUVEFOWKPRVMWFASS64NFH52PX6BNDVFFM572RZM</code>


* <code>dt0c01</code> - Префикс для идентификации токена.
=== Пример токена ===
* <code>ST2...7YN</code> - Открытая часть токена. 24-значный открытый идентификатор токена. Это значение можно безопасно отображать в пользовательском интерфейсе и использовать для ведения журнала.
<code>dt0s01.ST2EY72KQINMH574WMNVI7YN.G3DFPBEJYMODIDAEX454M7YWBUVEFOWKPRVMWFASS64NFH52PX6BNDVFFM572RZM</code>
* <code>G3D...RZM</code> - Секретная часть токена. 64-символьная секретная часть токена, которую можно рассматривать как пароль, поэтому она не отображается в веб-интерфейсе Ключ-АСТРОМ (после первоначального создания) и не сохраняется в файлах журнала.
 
== Создание токена ==
=== Компоненты токена ===
=== Токен API ===
{| class="wikitable"
Чтобы сгенерировать токен доступа
!Название компонента
!Описание компонена
|-
|Префик
|Префикс идентифицирует тип токена.
 
В нашем примере: <code>dt0s01</code>
 
Таблицу стандартных префиксов см. в разделе Префиксы токенов ниже.
|-
|Общедоступная часть
|Общедоступная часть токена представляет собой 24-символьный общедоступный идентификатор.
 
В нашем примере: <code>ST2EY72KQINMH574WMNVI7YN</code>
|-
|Идентификатор токена
|Идентификатор токена представляет собой комбинацию префикса и общедоступной части. Идентификатор токена можно безопасно отображать в пользовательском интерфейсе и использовать для ведения логов.
 
В нашем примере: <code>dt0s01.ST2EY72KQINMH574WMNVI7YN</code>
|-
|Секретная часть
|Секретная часть токена представляет собой строку из 64 символов, которую следует рассматривать как пароль:
 
* Не показывайте это
* Не сохраняйте это в файлах логов
* Если произошла утечка данных, немедленно перезапишите токен
 
В нашем примере: <code>G3DFPBEJYMODIDAEX454M7YWBUVEFOWKPRVMWFASS64NFH52PX6BNDVFFM572RZM</code>
|}
 
=== Префиксы токенов ===
{| class="wikitable"
!Префикс
!Описание
|-
|<code>dt0s01</code>
|Это API-токен. Он используется для авторизации: токен позволяет пользователю вносить изменения в учётную запись Ключ-АСТРОМ через SCIM.


# В меню Ключ-АСТРОМ выберите маркеры доступа.
* Генерируется один раз.
# Выберите Создать новый токен .
* Не разглашайте секретную часть <code>dt0s01</code> токена.
# Введите имя для вашего токена.
* Общедоступная часть используется для идентификации в веб-интерфейсе, но, как правило, ее (или любую часть этого токена) не следует раскрывать.
# Выберите необходимые разрешения для токена.
* Этот токен остается в силе до тех пор, пока клиент не сделает его недействительным, поэтому в случае его утечки вам следует немедленно его изменить.
# Выберите «Создать» .
|-
# Скопируйте сгенерированный токен в буфер обмена. Сохраните токен в диспетчере паролей для использования в будущем.<br>
|<code>dt0s02</code>
'''Вы можете получить доступ к своему токену только один раз после его создания.'''
|Клиенты OAuth2, созданные пользователями через управление учетными записями для использования с приложениями Ключ-АСТРОМ и API управления учетными записями.
|-
|<code>dt0s03</code>
|Клиенты OAuth2 для внутренних и внешних сервисов и интеграций.
|-
|<code>dt0s04</code>
|Чат и привязка личных данных.
|-
|<code>dt0s06</code>
|Это токен обновления OAuth2, который используется для получения нового токена доступа и обычно часто меняется (обычно каждые 5–15 минут).
|-
|<code>dt0s08</code>
|Клиенты OAuth2 для внутренних и внешних сервисов и интеграций.
|-
|<code>dt0s09</code>
|Чат и привязка личных данных.
|}


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


В качестве альтернативы вы можете использовать [[POST запрос (токен)]] к API токенов аутентификации для создания токена.
=== Токен доступа ===
Чтобы сгенерировать токен доступа:


Ключ-АСТРОМ не требует уникальных имен токенов. Вы можете создать несколько токенов с одним и тем же именем. Обязательно укажите понятное имя для каждого генерируемого токена. Правильное именование поможет вам эффективно управлять своими токенами и, возможно, удалять их, когда они больше не нужны.
# Перейдите к '''токенам''' доступа.
# Выберите '''Сгенерировать новый токен'''.
# Введите '''название''' для вашего токена. Ключ-АСТРОМ не требует использования уникальных имён для токенов. Вы можете создать несколько токенов с одинаковым именем. Обязательно укажите понятное имя для каждого сгенерированного токена. Правильное наименование поможет вам эффективно управлять токенами и, возможно, удалить их, когда они больше не понадобятся.
# Выберите необходимые '''области''' действия токена.
# Выберите '''Да, создать токен'''.
# Скопируйте сгенерированный токен в буфер обмена. Сохраните его в менеджере паролей для дальнейшего использования. Доступ к токену возможен только один раз после его создания. После этого вы не сможете его раскрыть.


=== Токен персонального доступа ===
=== Токен личного доступа ===
Для создания токена личного доступа
Для создания токена личного доступа


# Выберите меню пользователя в правом верхнем углу страницы.
# Перейдите в раздел Токены личного доступа (доступ к которым можно было получить через меню пользователя в предыдущей версии Ключ-АСТРОМ).
# Выберите токены личного доступа .
# Выберите '''Сгенерировать новый токен'''.
# Выберите Создать новый токен .
# Введите '''название''' для вашего токена. Ключ-АСТРОМ не требует использования уникальных имён для токенов. Вы можете создать несколько токенов с одинаковым именем. Обязательно укажите понятное имя для каждого сгенерированного токена. Правильное наименование поможет вам эффективно управлять токенами и, возможно, удалить их, когда они больше не понадобятся.
# Введите имя для вашего токена.
# Выберите необходимые '''области''' действия токена.
# Выберите необходимые разрешения для токена.
# Выберите '''Сгенерировать токен'''.
# Выберите «Создать» .
# Скопируйте сгенерированный токен в буфер обмена. Сохраните его в менеджере паролей для дальнейшего использования. Доступ к токену возможен только один раз после его создания. После этого вы не сможете его раскрыть.
# Скопируйте сгенерированный токен в буфер обмена. Сохраните токен в диспетчере паролей для использования в будущем.<br>
'''Вы можете получить доступ к своему токену только один раз после его создания.'''


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


В качестве альтернативы вы можете использовать [[POST запрос (токен)]] к API токенов аутентификации для создания токена личного доступа.
Чтобы изменить '''область действия''' существующего токена, используйте вызов <code>PUT a token API Access tokens</code>. Обратите внимание, что для сохранения существующих '''областей действия''' необходимо отправить их. Любая существующая область действия, отсутствующая в полезной нагрузке, удаляется.


Ключ-АСТРОМ не требует уникальных имен токенов. Вы можете создать несколько токенов с одним и тем же именем. Обязательно укажите понятное имя для каждого генерируемого токена. Правильное именование поможет вам эффективно управлять своими токенами и, возможно, удалять их, когда они больше не нужны.
В качестве альтернативы вы можете использовать вызов <code>POST a token</code> для генерации токена.


== Разрешения токена ==
== Области действия токенов ==
=== Токен API ===
Ключ-АСТРОМ предоставляет следующие разрешения для токенов API. Вы можете установить их в пользовательском интерфейсе, как описано выше, или через [[API токенов аутентификации]]. Некоторые области доступны только через API.<br>


=== Токен доступа ===
{| class="wikitable"
{| class="wikitable"
|+API v2
!Название
!Имя
!Значение API
!Значение API
!Описание
!Описание
|-
|-
|Чтение метрик
| colspan="3" |
|metrics.read
==== OpenPipeline ====
|Предоставляет доступ к GET-запросам [[Metrics API v2]] .
|-
|OpenPipeline — захват событий
|<code>openpipeline.events</code>
|Предоставляет доступ к встроенному общему запросу событий POST API OpenPipeline Ingest.
|-
|OpenPipeline — прием событий, жизненный цикл разработки ПО
|<code>openpipeline.events_sdlc</code>
|Предоставляет доступ к запросам встроенных событий SLDC POST API OpenPipeline Ingest.
|-
|OpenPipeline — прием событий, жизненный цикл разработки ПО (на заказ)
|<code>openpipeline.events_sdlc.custom</code>
|Предоставляет доступ к запросам событий POST Custom SLDC API OpenPipeline Ingest.
|-
|OpenPipeline — прием событий безопасности (встроенный)
|<code>openpipeline.events_security</code>
|Предоставляет доступ к встроенным запросам событий безопасности POST API OpenPipeline Ingest.
|-
|OpenPipeline — прием событий безопасности (пользовательский)
|<code>openpipeline.events_security.custom</code>
|Предоставляет доступ к запросу POST Custom событий безопасности API OpenPipeline Ingest.
|-
|OpenPipeline — захват событий (пользовательский)
|<code>openpipeline.events.custom</code>
|Предоставляет доступ к запросу конечной точки общего события POST Custom API OpenPipeline Ingest.
|-
| colspan="3" |
==== API v2 ====
|-
|Чтение АктивногоШлюза
|<code>activeGates.read</code>
|Предоставляет доступ к GET-запросам API АктивныхШлюзов.
|-
|Записать АктивногоШлюза
|<code>activeGates.write</code>
|Предоставляет доступ к запросам POST и DELETE API АктивныхШлюзов.
|-
|Создать токены АктивногоШлюза
|<code>activeGateTokenManagement.create</code>
|Предоставляет доступ к POST-запросу API токенов АктивногоШлюза.
|-
|Чтение токенов АктивногоШлюза
|<code>activeGateTokenManagement.read</code>
|Предоставляет доступ к GET-запросам API токенов АктивногоШлюза.
|-
|Запись токенов АктивногоШлюза
|<code>activeGateTokenManagement.write</code>
|Предоставляет доступ к запросам POST и DELETE API токенов АктивногоШлюза.
|-
|Чтение токенов API
|<code>apiTokens.read</code>
|Предоставляет доступ к запросам GET API токенов доступа.
|-
|Запись API-токенов
|<code>apiTokens.write</code>
|Предоставляет доступ к запросам POST, PUT и DELETE API токенов доступа.
|-
|Чтение атаки
|<code>attacks.read</code>
|Предоставляет доступ к запросам GET API атак и API настроек для защиты приложений (<code>builtin:appsec.attack-protection-settings</code>, <code>builtin:appsec.attack-protection-advanced-config</code>, и <code>builtin:appsec.attack-protection-allowlist-config schemas</code>).
|-
|Запись настроек защиты приложений
|<code>attacks.write</code>
|Предоставляет доступ к запросам POST, PUT и DELETE API настроек для защиты приложений (<code>builtin:appsec.attack-protection-settings</code>, <code>builtin:appsec.attack-protection-advanced-config</code>, и <code>builtin:appsec.attack-protection-allowlist-config schemas</code>).
|-
|Чтение логов аудита
|<code>auditLogs.read</code>
|Предоставляет доступ к логу аудита.
|-
|Чтение записей хранилища учетных данных
|<code>credentialVault.read</code>
|Предоставляет доступ к запросам GET API хранилища учетных данных.
|-
|Запись в хранилище учетных данных
|<code>credentialVault.write</code>
|Предоставляет доступ к запросам POST, PUT и DELETE API хранилища учетных данных.
|-
|Чтение сущности
|<code>entities.read</code>
|Предоставляет доступ к запросам GET отслеживаемых сущностей и API пользовательских тегов.
|-
|Запись сущности
|<code>entities.write</code>
|Предоставляет доступ к запросам POST, PUT и DELETE отслеживаемых сущностей и API пользовательских тегов.
|-
|Обработка событий
|<code>events.ingest</code>
|Предоставляет доступ к POST-запросу Events API v2.
|-
|Чтение событий
|<code>events.read</code>
|Предоставляет доступ к GET-запросам Events API v2.
|-
|Чтение конфигураций мониторинга расширений
|<code>extensionConfigurations.read</code>
|Предоставляет доступ к запросам GET из раздела конфигурации мониторинга расширений API расширений 2.0.
|-
|Запись конфигурации мониторинга расширений
|<code>extensionConfigurations.write</code>
|Предоставляет доступ к запросам POST, PUT и DELETE из раздела конфигурации мониторинга расширений API расширений 2.0.
|-
|Чтение конфигурации среды расширений
|<code>extensionEnvironment.read</code>
|Предоставляет доступ к запросам GET из раздела конфигурации среды расширений API расширений 2.0.
|-
|Запись конфигурации среды расширений
|<code>extensionEnvironment.write</code>
|Предоставляет доступ к запросам POST, PUT и DELETE из раздела конфигурации среды расширений API Extensions 2.0.
|-
|Чтение расширений
|<code>extensions.read</code>
|Предоставляет доступ к запросам GET из раздела «Расширения» API расширений 2.0.
|-
|Запись расширений
|<code>extensions.write</code>
|Предоставляет доступ к запросам POST, PUT и DELETE из раздела «Расширения» API расширений 2.0.
|-
|-
|Запись метрик
|Чтение географических регионов
|metrics.write
|<code>geographicRegions.read</code>
|Предоставляет доступ к [[удалению пользовательской метрики]] для запроса к Metrics API v2.
|Предоставляет доступ к API географических регионов.
|-
|-
|Метрики загрузки
|Установка и обновление элементов Hub
|metrics.ingest
|<code>hub.install</code>
|Предоставляет доступ к POST запросу ingest data points Metrics API v2.
|Предоставляет разрешение на установку и обновление расширений через API элементов Hub.
|-
|-
|Чтение логов
|Данные, связанные с Read Hub
|logs.read
|<code>hub.read</code>
|Предоставляет доступ к GET запросам [[Log Monitoring API v2]].
|Предоставляет доступ к запросам GET API элементов Hub.
|-
|-
|Логи загрузки
|Управление метаданными элементов Hub
|logs.ingest
|<code>hub.write</code>
|Предоставляет доступ к POST запросу логов загрузки Log Monitoring API v2.
|Предоставляет разрешение на управление метаданными элементов Hub через API элементов Hub.
|-
|-
|Чтение файлов сопоставления JavaScript
|<code>javaScriptMappingFiles.read</code>
|
|
|-
|Запись файлов сопоставления JavaScript
|<code>javaScriptMappingFiles.write</code>
|
|
|
|-
 
|Прием логов
|<code>logs.ingest</code>
|Предоставляет доступ к запросу логов приема POST API мониторинга логов v2, а также к API приема логов OpenTelemetry.
|-
|Чтение логов
|<code>logs.read</code>
|Предоставляет доступ к запросам GET API мониторинга логов v2
|-
|Прием метрик
|<code>metrics.ingest</code>
|Предоставляет доступ к запросу точек данных POST для API Metrics v2, а также к API для приема метрик OpenTelemetry.
|-
|Чтение показателей
|<code>metrics.read</code>
|Предоставляет доступ к GET-запросам Metrics API v2.
|-
|Запись метрик
|<code>metrics.write</code>
|Предоставляет доступ к DELETE пользовательскому метрическому запросу Metrics API v2.
|-
|Чтение сетевых зон
|<code>networkZones.read</code>
|Предоставляет доступ к GET-запросам API сетевых зон.
|-
|Запись сетевых зон
|<code>networkZones.write</code>
|Предоставляет доступ к запросам POST, PUT и DELETE API сетевых зон.
|-
|Чтение ЕдиныхАгентов
|<code>oneAgents.read</code>
|Предоставляет доступ к GET-запросам API ЕдиныхАгентов.
|-
|Запись ЕдиныхАгентов
|<code>oneAgents.write</code>
|Предоставляет доступ к запросам POST и DELETE API ЕдиныхАгентов.
|-
|Прием трассировок OpenTelemetry
|<code>openTelemetryTrace.ingest</code>
|Дает разрешение на прием трассировок OpenTelemetry.
|-
|Чтение проблем
|<code>problems.read</code>
|Предоставляет доступ к GET-запросам Problems API v2.
|-
|Запись проблем
|<code>problems.write</code>
|Предоставляет доступ к запросам POST, PUT и DELETE API проблем v2.
|-
|Чтение релизов
|<code>releases.read</code>
|Предоставляет доступ к API релизов.
|-
|Чтение проблем безопасности
|<code>securityProblems.read</code>
|Предоставляет доступ к запросам GET API проблем безопасности.
|-
|Запись проблем безопасности
|<code>securityProblems.write</code>
|Предоставляет доступ к POST-запросам API проблем безопасности.
|-
|Чтение настроек
|<code>settings.read</code>
|Предоставляет доступ к GET-запросам API настроек.
|-
|Запись настроек
|<code>settings.write</code>
|Предоставляет доступ к запросам POST и DELETE API настроек.
|-
|Чтение SLO
|<code>slo.read</code>
|Предоставляет доступ к запросам GET API целей уровня обслуживания.
|-
|Запись SLO
|<code>slo.write</code>
|Предоставляет доступ к запросам POST, PUT и DELETE API целей уровня обслуживания.
|-
|Чтение результатов выполнения синтетического монитора
|<code>syntheticExecutions.read</code>
|Предоставляет доступ к GET-запросам API <code>/synthetic/executions</code>.
|-
|Запись результатов выполнения синтетического монитора
|<code>syntheticExecutions.write</code>
|Предоставляет доступ к POST-запросам API <code>/synthetic/executions</code>.
|-
|Чтение синтетических локаций
|<code>syntheticLocations.read</code>
|Предоставляет доступ к запросам GET API синтетических местоположений v2 и API синтетических узлов v2.
|-
|Запись синтетических локаций
|<code>syntheticLocations.write</code>
|Предоставляет доступ к запросам POST, PUT и DELETE API синтетических местоположений v2 и API синтетических узлов v2.
|-
|Запись ротаций токенов арендаторов
|<code>tenantTokenRotation.write</code>
|Предоставляет доступ к API токенов арендатора.
|-
|Найти одину трассировку
|<code>traces.lookup</code>
|Проверяет наличие трассировок при трассировке между средами.
|-
|Чтение страниц унифицированного анализа
|<code>unifiedAnalysis.read</code>
|Предоставляет доступ к унифицированной схеме анализа в API настроек.
|-
| colspan="3" |
==== API v1 ====
|-
|Проблемы доступа и лента событий, метрики и топология
|<code>DataExport</code>
|Предоставляет доступ к различным вызовам Environment API.
|-
|Создание и чтение синтетических мониторов, местоположений и узлов
|<code>ExternalSyntheticIntegration</code>
|Предоставляет доступ к Synthetic API.
|-
|Чтение синтетических мониторов, местоположений и узлов
|<code>ReadSyntheticData</code>
|Предоставляет доступ к GET-запросам Synthetic API.
|-
|Чтение конфигурации
|<code>ReadConfig</code>
|Предоставляет доступ к вызовам GET конфигурационного API.
|-
|Запись конфигурации
|<code>WriteConfig</code>
|Предоставляет доступ к вызовам POST, PUT и DELETE API конфигурации.
|-
|Изменить настройки конфиденциальности данных
|<code>DataPrivacy</code>
|Предоставляет доступ к API конфиденциальности данных и вызовам API конфигурации веб-приложений.
|-
|Пользовательские сеансы
|<code>DTAQLAccess</code>
|Предоставляет доступ к API сеансов пользователя.
|-
|Анонимизировать сеансы пользователей в целях обеспечения конфиденциальности данных
|<code>UserSessionAnonymization</code>
|Предоставляет доступ к API анонимизации.
|-
|Управление файлами мобильных символов
|<code>DssFileManagement</code>
|Предоставляет доступ к API мобильной символики.
|-
|Мониторинг реальных пользователей Управление тегами JavaScript
|<code>RumJavaScriptTagManagement</code>
|Предоставляет доступ к JavaScript API для мониторинга реальных пользователей.
|-
|Управление сертификатами ActiveGate
|<code>ActiveGateCertManagement</code>
|Предоставляет разрешение на настройку сертификата на частных АктивныхШлюзах.
|-
|Извлечение данных из удаленной среды
|<code>RestRequestForwarding</code>
|Предоставляет разрешение на извлечение данных из удаленных сред Ключ-АСТРОМ для создания панели мониторинга нескольких сред.
|-
|Данные запроса на захват
|<code>CaptureRequestData</code>
|Предоставляет доступ к API атрибутов запроса.
|-
|Чтение содержимого логов
|<code>LogExport</code>
|Предоставляет доступ к API мониторинга логов.
|-
| colspan="3" |
==== PaaS ====
|-
|Загрузка установщиков ЕдиногоАгента и АктивногоШлюза
|<code>InstallerDownload</code>
|Позволяет загружать установщики через API развертывания.
|-
|Создание оповещений поддержки
|<code>SupportAlert</code>
|Позволяет создавать оповещения службы поддержки для анализа сбоев.
|-
| colspan="3" |
==== Другое ====
|-
|Загрузка плагинов с помощью командной строки
|<code>PluginUpload</code>
|Предоставляет разрешение на загрузку расширений ЕдиногоАгента через Extension SDK.
|}
|}


=== Токен персонального доступа ===
=== Токен личного доступа ===
Ключ-АСТРОМ предоставляет следующие разрешения для токенов личного доступа. Вы можете установить их в пользовательском интерфейсе, как описано выше, или через [[API токенов аутентификации]].<br>
Ключ-АСТРОМ предоставляет следующие разрешения для персональных токенов доступа. Вы можете настроить их в веб-интерфейсе, как описано выше, или через API токенов доступа.
 
{| class="wikitable"
{| class="wikitable"
!Имя
!Название
!Значение API
!Значение API
!Описание
!Описание
|-
|-
|Чтение токенов API
|Чтение токенов API
|apiTokens.read
|<code>apiTokens.read</code>
|Предоставляет доступ к GET запросам  [[API токенов аутентификации]]
|Предоставляет доступ к запросам GET API токенов доступа.
|-
|-
|Запись токенов API
|Запись токенов API
|apiTokens.write
|<code>apiTokens.write</code>
|Предоставляет доступ к POST, PUT и DELETE запросам [[API токенов аутентификации]]
|Предоставляет доступ к запросам POST, PUT и DELETE API токенов доступа.
|-
|Чтение сущности
|<code>entities.read</code>
|Предоставляет доступ к запросам GET отслеживаемых сущностей и API пользовательских тегов.
|-
|Запись сущности
|<code>entities.write</code>
|Предоставляет доступ к запросам POST, PUT и DELETE отслеживаемых сущностей и API пользовательских тегов.
|-
|Чтение метрик
|<code>metrics.read</code>
|Предоставляет доступ к GET-запросам Metrics API v2.
|-
|Запись метрик
|<code>metrics.write</code>
|Предоставляет доступ к DELETE пользовательскому метрическому запросу Metrics API v2.
|-
|Чтение сетевых зон
|<code>networkZones.read</code>
|Предоставляет доступ к GET-запросам API сетевых зон.
|-
|Запись сетевых зон
|<code>networkZones.write</code>
|Предоставляет доступ к запросам POST, PUT и DELETE API сетевых зон.
|-
|Чтение проблем
|<code>problems.read</code>
|Предоставляет доступ к GET-запросам Problems API v2.
|-
|Запись проблем
|<code>problems.write</code>
|Предоставляет доступ к запросам POST, PUT и DELETE API проблем v2.
|-
|Чтение релизов
|<code>releases.read</code>
|Предоставляет доступ к API релизов.
|-
|Чтение проблем безопасности
|<code>securityProblems.read</code>
|Предоставляет доступ к запросам GET API проблем безопасности.
|-
|Запись проблем безопасности
|<code>securityProblems.write</code>
|Предоставляет доступ к POST-запросам API проблем безопасности.
|-
|Чтение настроек
|<code>settings.read</code>
|Предоставляет доступ к GET-запросам API настроек.
|-
|Запись настроек
|<code>settings.write</code>
|Предоставляет доступ к запросам POST и DELETE API настроек.
|-
|Чтение SLO
|<code>slo.read</code>
|Предоставляет доступ к запросам GET API целей уровня обслуживания.
|-
|Запись SLO
|<code>slo.write</code>
|Предоставляет доступ к запросам POST, PUT и DELETE API целей уровня обслуживания.
|}
|}


== Аутентификация ==
== Аутентификация ==
У вас есть два варианта передачи токена API: в HTTP-заголовке авторизации или в параметре запроса '''api-token''' .
У вас есть два варианта передачи вашего API-токена: в '''HTTP-заголовке''' авторизации или в параметре запроса '''api-token'''.


Мы рекомендуем использовать заголовок авторизации, поскольку URL-адреса (вместе с переданными в них токенами) могут регистрироваться в разных местах. Пользователи также могут добавлять URL-адреса в закладки или делиться ими в виде обычного текста. Следовательно, размещение токенов аутентификации в URL-адресе увеличивает риск того, что они будут захвачены злоумышленником.
Мы рекомендуем использовать заголовок '''Authorization''', поскольку '''URL'''-адреса (вместе с передаваемыми по ним токенами) могут регистрироваться в различных местах. Пользователи также могут добавлять '''URL'''-адреса в закладки или делиться ими в виде обычного текста. Поэтому размещение токенов аутентификации в '''URL'''-адресе увеличивает риск их перехвата злоумышленником.


=== Используя заголовок HTTP ===
=== HTTP-заголовок ===
Вы можете пройти аутентификацию, прикрепив токен к HTTP-заголовку авторизации. В следующем примере показана аутентификация через HTTP-заголовок:<br>
Вы можете выполнить аутентификацию, прикрепив токен к '''HTTP'''-заголовку '''Authorization''' , предшествующему области '''Api-Token'''.
{| class="wikitable"
|<nowiki>--header 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890'</nowiki>
|}
В следующем примере показана аутентификация через '''HTTP'''-заголовок.
{| class="wikitable"
|curl --request GET \


<code>
  --url <nowiki>https://mySampleEnv.live.astromkey.com/api/v1/config/clusterversion</nowiki> \
curl --request GET \<br>
--url <nowiki>https://mySampleEnv.ruscomtech.ru/api/v1/config/clusterversion</nowiki> \<br>
--header 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890' \ </code>


=== Используя параметр запроса ===
  --header 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890'
Вы можете пройти аутентификацию, добавив токен в качестве значения параметра запроса api-token.
|}


<code>
=== Параметр запроса ===
curl --request GET \<br>
Вы можете выполнить аутентификацию, добавив токен в качестве значения параметра запроса '''api-token'''.
--url '<nowiki>https://mySampleEnv.live.ruscomtech.eu/api/v1/config/clusterversion?api-token=abcdefjhij1234567890'</nowiki> \ </code>
{| class="wikitable"
|curl --request GET \


  --url '<nowiki>https://mySampleEnv.live.astromkey.com/api/v1/config/clusterversion?api-token=abcdefjhij1234567890'</nowiki> \
|}


== Аутентификация в API Explorer ==
=== Аутентификация в API Explorer ===
Выберите значок замока рядом с любым эндпоинтом, чтобы отобразить информацию о токенах API, которые защищают этот эндпоинт. Каждый эндпоинт требует определенного типа токена.
Нажмите на значок замка рядом с любой конечной точкой, чтобы отобразить информацию о токенах '''OAuth 2.0''', которые защищают эту конечную точку. Для каждой конечной точки требуется токен определённого типа.


Вы также можете разблокировать все эндпоинты, выбрав '''Авторизовать'''. В отображаемом диалоговом окне вы можете увидеть, какие разрешения токена необходимы для каждого эндпоинта API. Введя свой токен API в диалоговое окно Доступные авторизации , вы можете разблокировать все связанные эндпоинты API.
Вы также можете разблокировать все конечные точки, выбрав '''Авторизовать'''. В открывшемся диалоговом окне вы увидите, какие разрешения токена необходимы для каждой конечной точки '''API'''. Введя свой токен '''OAuth 2.0''' в глобальное диалоговое окно '''Доступные авторизации''', вы сможете разблокировать все связанные конечные точки '''API'''.

Текущая версия на 17:09, 11 июля 2025

API Ключ-АСТРОМ / Основное / Токены и аутентификация (API)


Для аутентификации и использования API Ключ-АСТРОМ вам потребуется токен доступа или личный токен доступа. Доступ к API ограничен, то есть токену также должны быть назначены соответствующие области действия. Чтобы узнать, какие области действия необходимы для его использования, см. описание каждого запроса.

Формат токена

Ключ-АСТРОМ использует уникальный формат токена, состоящий из трех компонентов, разделенных точками (.).

Пример токена

dt0s01.ST2EY72KQINMH574WMNVI7YN.G3DFPBEJYMODIDAEX454M7YWBUVEFOWKPRVMWFASS64NFH52PX6BNDVFFM572RZM

Компоненты токена

Название компонента Описание компонена
Префик Префикс идентифицирует тип токена.

В нашем примере: dt0s01

Таблицу стандартных префиксов см. в разделе Префиксы токенов ниже.

Общедоступная часть Общедоступная часть токена представляет собой 24-символьный общедоступный идентификатор.

В нашем примере: ST2EY72KQINMH574WMNVI7YN

Идентификатор токена Идентификатор токена представляет собой комбинацию префикса и общедоступной части. Идентификатор токена можно безопасно отображать в пользовательском интерфейсе и использовать для ведения логов.

В нашем примере: dt0s01.ST2EY72KQINMH574WMNVI7YN

Секретная часть Секретная часть токена представляет собой строку из 64 символов, которую следует рассматривать как пароль:
  • Не показывайте это
  • Не сохраняйте это в файлах логов
  • Если произошла утечка данных, немедленно перезапишите токен

В нашем примере: G3DFPBEJYMODIDAEX454M7YWBUVEFOWKPRVMWFASS64NFH52PX6BNDVFFM572RZM

Префиксы токенов

Префикс Описание
dt0s01 Это API-токен. Он используется для авторизации: токен позволяет пользователю вносить изменения в учётную запись Ключ-АСТРОМ через SCIM.
  • Генерируется один раз.
  • Не разглашайте секретную часть dt0s01 токена.
  • Общедоступная часть используется для идентификации в веб-интерфейсе, но, как правило, ее (или любую часть этого токена) не следует раскрывать.
  • Этот токен остается в силе до тех пор, пока клиент не сделает его недействительным, поэтому в случае его утечки вам следует немедленно его изменить.
dt0s02 Клиенты OAuth2, созданные пользователями через управление учетными записями для использования с приложениями Ключ-АСТРОМ и API управления учетными записями.
dt0s03 Клиенты OAuth2 для внутренних и внешних сервисов и интеграций.
dt0s04 Чат и привязка личных данных.
dt0s06 Это токен обновления OAuth2, который используется для получения нового токена доступа и обычно часто меняется (обычно каждые 5–15 минут).
dt0s08 Клиенты OAuth2 для внутренних и внешних сервисов и интеграций.
dt0s09 Чат и привязка личных данных.

Генерация токена

Токен доступа

Чтобы сгенерировать токен доступа:

  1. Перейдите к токенам доступа.
  2. Выберите Сгенерировать новый токен.
  3. Введите название для вашего токена. Ключ-АСТРОМ не требует использования уникальных имён для токенов. Вы можете создать несколько токенов с одинаковым именем. Обязательно укажите понятное имя для каждого сгенерированного токена. Правильное наименование поможет вам эффективно управлять токенами и, возможно, удалить их, когда они больше не понадобятся.
  4. Выберите необходимые области действия токена.
  5. Выберите Да, создать токен.
  6. Скопируйте сгенерированный токен в буфер обмена. Сохраните его в менеджере паролей для дальнейшего использования. Доступ к токену возможен только один раз после его создания. После этого вы не сможете его раскрыть.

Токен личного доступа

Для создания токена личного доступа

  1. Перейдите в раздел Токены личного доступа (доступ к которым можно было получить через меню пользователя в предыдущей версии Ключ-АСТРОМ).
  2. Выберите Сгенерировать новый токен.
  3. Введите название для вашего токена. Ключ-АСТРОМ не требует использования уникальных имён для токенов. Вы можете создать несколько токенов с одинаковым именем. Обязательно укажите понятное имя для каждого сгенерированного токена. Правильное наименование поможет вам эффективно управлять токенами и, возможно, удалить их, когда они больше не понадобятся.
  4. Выберите необходимые области действия токена.
  5. Выберите Сгенерировать токен.
  6. Скопируйте сгенерированный токен в буфер обмена. Сохраните его в менеджере паролей для дальнейшего использования. Доступ к токену возможен только один раз после его создания. После этого вы не сможете его раскрыть.

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

Чтобы изменить область действия существующего токена, используйте вызов PUT a token API Access tokens. Обратите внимание, что для сохранения существующих областей действия необходимо отправить их. Любая существующая область действия, отсутствующая в полезной нагрузке, удаляется.

В качестве альтернативы вы можете использовать вызов POST a token для генерации токена.

Области действия токенов

Токен доступа

Название Значение API Описание

OpenPipeline

OpenPipeline — захват событий openpipeline.events Предоставляет доступ к встроенному общему запросу событий POST API OpenPipeline Ingest.
OpenPipeline — прием событий, жизненный цикл разработки ПО openpipeline.events_sdlc Предоставляет доступ к запросам встроенных событий SLDC POST API OpenPipeline Ingest.
OpenPipeline — прием событий, жизненный цикл разработки ПО (на заказ) openpipeline.events_sdlc.custom Предоставляет доступ к запросам событий POST Custom SLDC API OpenPipeline Ingest.
OpenPipeline — прием событий безопасности (встроенный) openpipeline.events_security Предоставляет доступ к встроенным запросам событий безопасности POST API OpenPipeline Ingest.
OpenPipeline — прием событий безопасности (пользовательский) openpipeline.events_security.custom Предоставляет доступ к запросу POST Custom событий безопасности API OpenPipeline Ingest.
OpenPipeline — захват событий (пользовательский) openpipeline.events.custom Предоставляет доступ к запросу конечной точки общего события POST Custom API OpenPipeline Ingest.

API v2

Чтение АктивногоШлюза activeGates.read Предоставляет доступ к GET-запросам API АктивныхШлюзов.
Записать АктивногоШлюза activeGates.write Предоставляет доступ к запросам POST и DELETE API АктивныхШлюзов.
Создать токены АктивногоШлюза activeGateTokenManagement.create Предоставляет доступ к POST-запросу API токенов АктивногоШлюза.
Чтение токенов АктивногоШлюза activeGateTokenManagement.read Предоставляет доступ к GET-запросам API токенов АктивногоШлюза.
Запись токенов АктивногоШлюза activeGateTokenManagement.write Предоставляет доступ к запросам POST и DELETE API токенов АктивногоШлюза.
Чтение токенов API apiTokens.read Предоставляет доступ к запросам GET API токенов доступа.
Запись API-токенов apiTokens.write Предоставляет доступ к запросам POST, PUT и DELETE API токенов доступа.
Чтение атаки attacks.read Предоставляет доступ к запросам GET API атак и API настроек для защиты приложений (builtin:appsec.attack-protection-settings, builtin:appsec.attack-protection-advanced-config, и builtin:appsec.attack-protection-allowlist-config schemas).
Запись настроек защиты приложений attacks.write Предоставляет доступ к запросам POST, PUT и DELETE API настроек для защиты приложений (builtin:appsec.attack-protection-settings, builtin:appsec.attack-protection-advanced-config, и builtin:appsec.attack-protection-allowlist-config schemas).
Чтение логов аудита auditLogs.read Предоставляет доступ к логу аудита.
Чтение записей хранилища учетных данных credentialVault.read Предоставляет доступ к запросам GET API хранилища учетных данных.
Запись в хранилище учетных данных credentialVault.write Предоставляет доступ к запросам POST, PUT и DELETE API хранилища учетных данных.
Чтение сущности entities.read Предоставляет доступ к запросам GET отслеживаемых сущностей и API пользовательских тегов.
Запись сущности entities.write Предоставляет доступ к запросам POST, PUT и DELETE отслеживаемых сущностей и API пользовательских тегов.
Обработка событий events.ingest Предоставляет доступ к POST-запросу Events API v2.
Чтение событий events.read Предоставляет доступ к GET-запросам Events API v2.
Чтение конфигураций мониторинга расширений extensionConfigurations.read Предоставляет доступ к запросам GET из раздела конфигурации мониторинга расширений API расширений 2.0.
Запись конфигурации мониторинга расширений extensionConfigurations.write Предоставляет доступ к запросам POST, PUT и DELETE из раздела конфигурации мониторинга расширений API расширений 2.0.
Чтение конфигурации среды расширений extensionEnvironment.read Предоставляет доступ к запросам GET из раздела конфигурации среды расширений API расширений 2.0.
Запись конфигурации среды расширений extensionEnvironment.write Предоставляет доступ к запросам POST, PUT и DELETE из раздела конфигурации среды расширений API Extensions 2.0.
Чтение расширений extensions.read Предоставляет доступ к запросам GET из раздела «Расширения» API расширений 2.0.
Запись расширений extensions.write Предоставляет доступ к запросам POST, PUT и DELETE из раздела «Расширения» API расширений 2.0.
Чтение географических регионов geographicRegions.read Предоставляет доступ к API географических регионов.
Установка и обновление элементов Hub hub.install Предоставляет разрешение на установку и обновление расширений через API элементов Hub.
Данные, связанные с Read Hub hub.read Предоставляет доступ к запросам GET API элементов Hub.
Управление метаданными элементов Hub hub.write Предоставляет разрешение на управление метаданными элементов Hub через API элементов Hub.
Чтение файлов сопоставления JavaScript javaScriptMappingFiles.read
Запись файлов сопоставления JavaScript javaScriptMappingFiles.write
Прием логов logs.ingest Предоставляет доступ к запросу логов приема POST API мониторинга логов v2, а также к API приема логов OpenTelemetry.
Чтение логов logs.read Предоставляет доступ к запросам GET API мониторинга логов v2
Прием метрик metrics.ingest Предоставляет доступ к запросу точек данных POST для API Metrics v2, а также к API для приема метрик OpenTelemetry.
Чтение показателей metrics.read Предоставляет доступ к GET-запросам Metrics API v2.
Запись метрик metrics.write Предоставляет доступ к DELETE пользовательскому метрическому запросу Metrics API v2.
Чтение сетевых зон networkZones.read Предоставляет доступ к GET-запросам API сетевых зон.
Запись сетевых зон networkZones.write Предоставляет доступ к запросам POST, PUT и DELETE API сетевых зон.
Чтение ЕдиныхАгентов oneAgents.read Предоставляет доступ к GET-запросам API ЕдиныхАгентов.
Запись ЕдиныхАгентов oneAgents.write Предоставляет доступ к запросам POST и DELETE API ЕдиныхАгентов.
Прием трассировок OpenTelemetry openTelemetryTrace.ingest Дает разрешение на прием трассировок OpenTelemetry.
Чтение проблем problems.read Предоставляет доступ к GET-запросам Problems API v2.
Запись проблем problems.write Предоставляет доступ к запросам POST, PUT и DELETE API проблем v2.
Чтение релизов releases.read Предоставляет доступ к API релизов.
Чтение проблем безопасности securityProblems.read Предоставляет доступ к запросам GET API проблем безопасности.
Запись проблем безопасности securityProblems.write Предоставляет доступ к POST-запросам API проблем безопасности.
Чтение настроек settings.read Предоставляет доступ к GET-запросам API настроек.
Запись настроек settings.write Предоставляет доступ к запросам POST и DELETE API настроек.
Чтение SLO slo.read Предоставляет доступ к запросам GET API целей уровня обслуживания.
Запись SLO slo.write Предоставляет доступ к запросам POST, PUT и DELETE API целей уровня обслуживания.
Чтение результатов выполнения синтетического монитора syntheticExecutions.read Предоставляет доступ к GET-запросам API /synthetic/executions.
Запись результатов выполнения синтетического монитора syntheticExecutions.write Предоставляет доступ к POST-запросам API /synthetic/executions.
Чтение синтетических локаций syntheticLocations.read Предоставляет доступ к запросам GET API синтетических местоположений v2 и API синтетических узлов v2.
Запись синтетических локаций syntheticLocations.write Предоставляет доступ к запросам POST, PUT и DELETE API синтетических местоположений v2 и API синтетических узлов v2.
Запись ротаций токенов арендаторов tenantTokenRotation.write Предоставляет доступ к API токенов арендатора.
Найти одину трассировку traces.lookup Проверяет наличие трассировок при трассировке между средами.
Чтение страниц унифицированного анализа unifiedAnalysis.read Предоставляет доступ к унифицированной схеме анализа в API настроек.

API v1

Проблемы доступа и лента событий, метрики и топология DataExport Предоставляет доступ к различным вызовам Environment API.
Создание и чтение синтетических мониторов, местоположений и узлов ExternalSyntheticIntegration Предоставляет доступ к Synthetic API.
Чтение синтетических мониторов, местоположений и узлов ReadSyntheticData Предоставляет доступ к GET-запросам Synthetic API.
Чтение конфигурации ReadConfig Предоставляет доступ к вызовам GET конфигурационного API.
Запись конфигурации WriteConfig Предоставляет доступ к вызовам POST, PUT и DELETE API конфигурации.
Изменить настройки конфиденциальности данных DataPrivacy Предоставляет доступ к API конфиденциальности данных и вызовам API конфигурации веб-приложений.
Пользовательские сеансы DTAQLAccess Предоставляет доступ к API сеансов пользователя.
Анонимизировать сеансы пользователей в целях обеспечения конфиденциальности данных UserSessionAnonymization Предоставляет доступ к API анонимизации.
Управление файлами мобильных символов DssFileManagement Предоставляет доступ к API мобильной символики.
Мониторинг реальных пользователей Управление тегами JavaScript RumJavaScriptTagManagement Предоставляет доступ к JavaScript API для мониторинга реальных пользователей.
Управление сертификатами ActiveGate ActiveGateCertManagement Предоставляет разрешение на настройку сертификата на частных АктивныхШлюзах.
Извлечение данных из удаленной среды RestRequestForwarding Предоставляет разрешение на извлечение данных из удаленных сред Ключ-АСТРОМ для создания панели мониторинга нескольких сред.
Данные запроса на захват CaptureRequestData Предоставляет доступ к API атрибутов запроса.
Чтение содержимого логов LogExport Предоставляет доступ к API мониторинга логов.

PaaS

Загрузка установщиков ЕдиногоАгента и АктивногоШлюза InstallerDownload Позволяет загружать установщики через API развертывания.
Создание оповещений поддержки SupportAlert Позволяет создавать оповещения службы поддержки для анализа сбоев.

Другое

Загрузка плагинов с помощью командной строки PluginUpload Предоставляет разрешение на загрузку расширений ЕдиногоАгента через Extension SDK.

Токен личного доступа

Ключ-АСТРОМ предоставляет следующие разрешения для персональных токенов доступа. Вы можете настроить их в веб-интерфейсе, как описано выше, или через API токенов доступа.

Название Значение API Описание
Чтение токенов API apiTokens.read Предоставляет доступ к запросам GET API токенов доступа.
Запись токенов API apiTokens.write Предоставляет доступ к запросам POST, PUT и DELETE API токенов доступа.
Чтение сущности entities.read Предоставляет доступ к запросам GET отслеживаемых сущностей и API пользовательских тегов.
Запись сущности entities.write Предоставляет доступ к запросам POST, PUT и DELETE отслеживаемых сущностей и API пользовательских тегов.
Чтение метрик metrics.read Предоставляет доступ к GET-запросам Metrics API v2.
Запись метрик metrics.write Предоставляет доступ к DELETE пользовательскому метрическому запросу Metrics API v2.
Чтение сетевых зон networkZones.read Предоставляет доступ к GET-запросам API сетевых зон.
Запись сетевых зон networkZones.write Предоставляет доступ к запросам POST, PUT и DELETE API сетевых зон.
Чтение проблем problems.read Предоставляет доступ к GET-запросам Problems API v2.
Запись проблем problems.write Предоставляет доступ к запросам POST, PUT и DELETE API проблем v2.
Чтение релизов releases.read Предоставляет доступ к API релизов.
Чтение проблем безопасности securityProblems.read Предоставляет доступ к запросам GET API проблем безопасности.
Запись проблем безопасности securityProblems.write Предоставляет доступ к POST-запросам API проблем безопасности.
Чтение настроек settings.read Предоставляет доступ к GET-запросам API настроек.
Запись настроек settings.write Предоставляет доступ к запросам POST и DELETE API настроек.
Чтение SLO slo.read Предоставляет доступ к запросам GET API целей уровня обслуживания.
Запись SLO slo.write Предоставляет доступ к запросам POST, PUT и DELETE API целей уровня обслуживания.

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

У вас есть два варианта передачи вашего API-токена: в HTTP-заголовке авторизации или в параметре запроса api-token.

Мы рекомендуем использовать заголовок Authorization, поскольку URL-адреса (вместе с передаваемыми по ним токенами) могут регистрироваться в различных местах. Пользователи также могут добавлять URL-адреса в закладки или делиться ими в виде обычного текста. Поэтому размещение токенов аутентификации в URL-адресе увеличивает риск их перехвата злоумышленником.

HTTP-заголовок

Вы можете выполнить аутентификацию, прикрепив токен к HTTP-заголовку Authorization , предшествующему области Api-Token.

--header 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890'

В следующем примере показана аутентификация через HTTP-заголовок.

curl --request GET \

  --url https://mySampleEnv.live.astromkey.com/api/v1/config/clusterversion \

  --header 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890'

Параметр запроса

Вы можете выполнить аутентификацию, добавив токен в качестве значения параметра запроса api-token.

curl --request GET \

  --url 'https://mySampleEnv.live.astromkey.com/api/v1/config/clusterversion?api-token=abcdefjhij1234567890' \

Аутентификация в API Explorer

Нажмите на значок замка рядом с любой конечной точкой, чтобы отобразить информацию о токенах OAuth 2.0, которые защищают эту конечную точку. Для каждой конечной точки требуется токен определённого типа.

Вы также можете разблокировать все конечные точки, выбрав Авторизовать. В открывшемся диалоговом окне вы увидите, какие разрешения токена необходимы для каждой конечной точки API. Введя свой токен OAuth 2.0 в глобальное диалоговое окно Доступные авторизации, вы сможете разблокировать все связанные конечные точки API.