IAM-токен
IAM-токен — уникальная последовательность символов, которая выдается пользователю после прохождения аутентификации. Получить IAM-токен можно только с помощью CLI или API.
Использование токена
IAM-токены используются в сервисах Yandex Cloud для аутентификации. IAM-токен выдается для аккаунтов на Яндексе, сервисных аккаунтов и федеративных аккаунтов.
Также IAM-токены используются для аутентификации клиентов Docker и Helm в Yandex Container Registry.
Если вы работаете через консоль управления или интерфейс командной строки (CLI), то получение и использование токена будет незаметным.
Вы можете использовать IAM-токены для аутентификации при вызовах API к сервисам Yandex Cloud. Полученный IAM-токен указывайте при обращении к ресурсам Yandex Cloud через API в заголовке Authorization
в следующем формате:
Authorization: Bearer <IAM-токен>
Для работы с Terraform добавьте IAM-токен в переменные окружения или укажите его в конфигурационном файле с настройками провайдера:
provider "yandex" {
token = "<IAM-токен>"
}
Время жизни
IAM-токен действует не больше 12 часов. Время жизни токена содержится в ответе сервиса, который вернул токен, например, сервис метаданных ВМ.
Чтобы не возникла ситуация, когда токен прекратил действовать, а новый вы еще не получили, запрашивайте токен заранее.
Если вы создадите новый IAM-токен, старый продолжит действовать, пока не закончится его время жизни или вы не отзовете его.
Если токен создан с использованием cookie (например, при аутентификации с помощью федерации), то его время жизни ограничено временем жизни cookie. Если отозвать cookie (например, пользователь разлогинится), то все токены, которые были созданы для cookie, будут аннулированы.
API сервиса IAM может вернуть один и тот же токен на разные запросы, если его время жизни еще велико.
Отзыв IAM-токена
В случае, если IAM-токен оказался скомпрометирован, или в целях безопасности вы хотите прекратить действие старого IAM-токена при выпуске нового, IAM-токен можно отозвать до истечения срока его жизни.
Отозвать IAM-токен может любой аутентифицированный пользователь с помощью YC CLI или API.
Сервисы, поддерживающие этот способ аутентификации
Этот способ аутентификации поддерживают все сервисы, кроме сервисов с AWS-совместимым API (в них IAM-токен нужен только для управления ключами доступа и сервисными аккаунтами).
Представление токена
Следующее регулярное выражение описывает токен:
t1\.[A-Z0-9a-z_-]+[=]{0,2}\.[A-Z0-9a-z_-]{86}[=]{0,2}
С осторожностью используйте регулярное выражение, так как со временем сервис может обновить формат токена. В документации это изменение может отразиться с задержкой.
Совет
Если формат токена изменится, изменится префикс — станет не t1.
.
Пример токена:
t1.7euelSbPyceKx87JqpuRl1qZiY-Ryi3rnpWaksrKaZqUppnLncmDnpeajZvl8_dZNAFl-e8ENXMH_t3z9xljfmT57wQ1cwf-.-LErty1vRh4S__VEp-aDnM5huB5MEfm_Iu1u2IzNgyrn0emiWDYA6rSQXDvzjE0O3HBbUlqoDeCmXYYInzZ6Cg
См. также
- Получение IAM-токена для аккаунта на Яндексе
- Получение IAM-токена для сервисного аккаунта
- Получение IAM-токена для федеративного аккаунта
- Работа с Yandex Cloud изнутри виртуальной машины
- Получение IAM-токена сервисного аккаунта с помощью функции
- Авторизация и аутентификация в Yandex Cloud
- Отзыв IAM-токена