Токены и аутентификация (API)

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

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.