Примечание
Данные способы получения IAM-токена предназначены для выполнения запросов от имени пользовательского аккаунта на Яндексе и не рекомендуются для автоматизированных решений. Если вы хотите автоматизировать работу с API Yandex Cloud и получать IAM-токены программно, ознакомьтесь с разделом Получение IAM-токена для сервисного аккаунта.
Получение IAM-токена для аккаунта на Яндексе
IAM-токен для аккаунта на Яндексе можно получить с помощью CLI. Для этого необходимо установить YC CLI.
Примечание
Время жизни IAM-токена — не больше 12 часов, но рекомендуется запрашивать его чаще, например каждый час.
Для автоматического перевыпуска IAM-токена можно использовать скрипт export IAM_TOKEN=$(yc iam create-token).
Получить IAM-токен с помощью YC CLI
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
-
Получите IAM-токен:
yc iam create-tokenРезультат:
t1.9euelZrLop7Uz8up********Полученное значение — это IAM-токен. Вы можете скопировать и сохранить его в файле или записать в переменную:
export IAM_TOKEN=`<IAM-токен>`
Полученный IAM-токен указывайте при обращении к ресурсам Yandex Cloud через API. Передайте IAM-токен в заголовке Authorization в следующем формате:
Authorization: Bearer <IAM-токен>
Если вы записали IAM-токен в переменную, используйте ее:
Authorization: Bearer ${IAM_TOKEN}
Пример использования IAM-токена, полученного с помощью CLI
Выполнение запроса на получение списка облаков с помощью IAM-токена:
-
Получите и запишите IAM-токен в переменную:
export IAM_TOKEN=`yc iam create-token` -
Выполните запрос на получение списка облаков:
curl \ --request GET \ --header "Authorization: Bearer ${IAM_TOKEN}" \ https://resource-manager.api.cloud.yandex.net/resource-manager/v1/clouds -
Результат:
{ "clouds": [ { "id": "b1gia87mbaom********", "createdAt": "2019-08-19T06:15:54Z", "name": "my-cloud-1", "organizationId": "my-organization" }, { "id": "b1gue7m154kt********", "createdAt": "2022-08-29T13:27:03Z", "name": "my-cloud-2", "organizationId": "my-organization" } ] }
-
Получите и запишите IAM-токен в переменную:
$IAM_TOKEN=yc iam create-token -
Выполните запрос на получение списка облаков:
curl.exe ` --request GET ` --header "Authorization: Bearer $IAM_TOKEN" ` https://resource-manager.api.cloud.yandex.net/resource-manager/v1/clouds -
Результат:
{ "clouds": [ { "id": "b1gia87mbaom********", "createdAt": "2019-08-19T06:15:54Z", "name": "my-cloud-1", "organizationId": "my-organization" }, { "id": "b1gue7m154kt********", "createdAt": "2022-08-29T13:27:03Z", "name": "my-cloud-2", "organizationId": "my-organization" } ] }