Токены и аутентификация (API)
API Ключ-АСТРОМ / Основное / Токены и аутентификация (API)
Для аутентификации и использования API Ключ-АСТРОМ вам потребуется токен доступа или личный токен доступа. Доступ к API ограничен, то есть токену также должны быть назначены соответствующие области действия. Чтобы узнать, какие области действия необходимы для его использования, см. описание каждого запроса.
Формат токена
Ключ-АСТРОМ использует уникальный формат токена, состоящий из трех компонентов, разделенных точками (.).
Пример токена
dt0s01.ST2EY72KQINMH574WMNVI7YN.G3DFPBEJYMODIDAEX454M7YWBUVEFOWKPRVMWFASS64NFH52PX6BNDVFFM572RZM
Компоненты токена
| Название компонента | Описание компонена |
|---|---|
| Префик | Префикс идентифицирует тип токена.
В нашем примере: Таблицу стандартных префиксов см. в разделе Префиксы токенов ниже. |
| Общедоступная часть | Общедоступная часть токена представляет собой 24-символьный общедоступный идентификатор.
В нашем примере: |
| Идентификатор токена | Идентификатор токена представляет собой комбинацию префикса и общедоступной части. Идентификатор токена можно безопасно отображать в пользовательском интерфейсе и использовать для ведения логов.
В нашем примере: |
| Секретная часть | Секретная часть токена представляет собой строку из 64 символов, которую следует рассматривать как пароль:
В нашем примере: |
Префиксы токенов
| Префикс | Описание |
|---|---|
dt0s01
|
Это API-токен. Он используется для авторизации: токен позволяет пользователю вносить изменения в учётную запись Ключ-АСТРОМ через SCIM.
|
dt0s02
|
Клиенты OAuth2, созданные пользователями через управление учетными записями для использования с приложениями Ключ-АСТРОМ и API управления учетными записями. |
dt0s03
|
Клиенты OAuth2 для внутренних и внешних сервисов и интеграций. |
dt0s04
|
Чат и привязка личных данных. |
dt0s06
|
Это токен обновления OAuth2, который используется для получения нового токена доступа и обычно часто меняется (обычно каждые 5–15 минут). |
dt0s08
|
Клиенты OAuth2 для внутренних и внешних сервисов и интеграций. |
dt0s09
|
Чат и привязка личных данных. |
Генерация токена
Токен доступа
Чтобы сгенерировать токен доступа:
- Перейдите к токенам доступа.
- Выберите Сгенерировать новый токен.
- Введите название для вашего токена. Ключ-АСТРОМ не требует использования уникальных имён для токенов. Вы можете создать несколько токенов с одинаковым именем. Обязательно укажите понятное имя для каждого сгенерированного токена. Правильное наименование поможет вам эффективно управлять токенами и, возможно, удалить их, когда они больше не понадобятся.
- Выберите необходимые области действия токена.
- Выберите Да, создать токен.
- Скопируйте сгенерированный токен в буфер обмена. Сохраните его в менеджере паролей для дальнейшего использования. Доступ к токену возможен только один раз после его создания. После этого вы не сможете его раскрыть.
Токен личного доступа
Для создания токена личного доступа
- Перейдите в раздел Токены личного доступа (доступ к которым можно было получить через меню пользователя в предыдущей версии Ключ-АСТРОМ).
- Выберите Сгенерировать новый токен.
- Введите название для вашего токена. Ключ-АСТРОМ не требует использования уникальных имён для токенов. Вы можете создать несколько токенов с одинаковым именем. Обязательно укажите понятное имя для каждого сгенерированного токена. Правильное наименование поможет вам эффективно управлять токенами и, возможно, удалить их, когда они больше не понадобятся.
- Выберите необходимые области действия токена.
- Выберите Сгенерировать токен.
- Скопируйте сгенерированный токен в буфер обмена. Сохраните его в менеджере паролей для дальнейшего использования. Доступ к токену возможен только один раз после его создания. После этого вы не сможете его раскрыть.
Вы можете назначить несколько областей действия одному токену или создать несколько токенов с разными уровнями доступа и использовать их соответствующим образом.
Чтобы изменить область действия существующего токена, используйте вызов 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.