Получение IAM-токена для аккаунта на Яндексе
Примечание
Время жизни IAM-токена — не больше 12 часов, но рекомендуется запрашивать его чаще, например каждый час.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
Получите IAM-токен:
yc iam create-token
Внимание
Если вы владелец облака и работаете через API со своего аккаунта, помните — владелец облака может выполнять любые операции с ресурсами в облаке.
Рекомендуем выполнять операции от имени сервисного аккаунта, которому вы можете назначить только необходимые для работы роли.
-
Войдите
в ваш аккаунт на Яндексе. -
Получите OAuth-токен в сервисе Яндекс.OAuth. Для этого перейдите по ссылке
, нажмите Разрешить и скопируйте полученный OAuth-токен. -
Обменяйте OAuth-токен на IAM-токен:
-
с помощью curl
в Bash:curl \ --request POST \ --data '{"yandexPassportOauthToken":"<OAuth-токен>"}' \ https://iam.api.cloud.yandex.net/iam/v1/tokens
-
с помощью встроенной функции в PowerShell:
$yandexPassportOauthToken = "<OAuth-токен>" $Body = @{ yandexPassportOauthToken = "$yandexPassportOauthToken" } | ConvertTo-Json -Compress Invoke-RestMethod -Method 'POST' -Uri 'https://iam.api.cloud.yandex.net/iam/v1/tokens' -Body $Body -ContentType 'Application/json' | Select-Object -ExpandProperty iamToken
-
Полученный IAM-токен указывайте при обращении к ресурсам Yandex Cloud через API. Передайте IAM-токен в заголовке Authorization
в следующем формате:
Authorization: Bearer <IAM-токен>
Примеры
Использование IAM-токена, полученного с помощью CLI
Запишите IAM-токен в переменную с помощью CLI и используйте токен в других запросах из командной строки. Пример запроса на получение списка облаков:
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
$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