Refresh-токен
Refresh-токен — это тип учетных данных, позволяющий OAuth-приложению при истечении срока действия IAM-токена пользователя автоматически получать новый IAM-токен. Refresh-токен выпускается для пользователя и передается в OAuth-приложение, которое выполняет аутентификацию пользователя в Yandex Cloud.
Одним из OAuth-приложений, поддерживающих использование refresh-токенов, является Yandex Cloud CLI. При этом refresh-токены могут выпускаться только для федеративных пользователей организации Yandex Cloud Organization.
С помощью Yandex Cloud CLI и API вы можете просматривать список выпущенных для пользователя refresh-токенов и отзывать такие токены.
Срок жизни refresh-токенов
Срок жизни refresh-токена составляет 31 день. Refresh-токен автоматически перевыпускается при его использовании для получения IAM-токена, если до окончания срока действия refresh-токена остается менее семи дней.
Если срок действия refresh-токена истек, необходимо получить новый refresh-токен. Новый refresh-токен будет создан автоматически при следующем получении IAM-токена. При этом пользователю придется повторно выполнить аутентификацию в браузере.
Refresh-токены автоматически удаляются через семь дней после истечения срока их действия.
Включение возможности использования refresh-токенов в Yandex Cloud CLI
Чтобы использовать refresh-токены в Yandex Cloud CLI, эту функциональность необходимо включить на уровне организации Cloud Organization. Для этого:
-
Войдите в сервис Yandex Cloud Organization
с учетной записью администратора или владельца организации.При необходимости переключитесь на нужную организацию.
-
На панели слева выберите
Настройки безопасности. -
В блоке Настройки аутентификации включите опцию Разрешить использовать refresh-токены.
-
(Опционально) Если вы хотите использовать усиленную защиту refresh-токенов с помощью DPoP-ключей с обязательным их сохранением на устройстве YubiKey
, включите опцию Разрешить хранение DPoP-ключей только на устройствах YubiKey.Если эта опция отключена, для защиты refresh-токенов можно можно будет использовать DPoP-ключи, сохраненные как на устройстве YubiKey, так и в файловой системе на компьютере пользователя.
Чтобы федеративные пользователи могли использовать refresh-токены в Yandex Cloud CLI, после включения этой функциональности на уровне организации каждый пользователь должен выполнить инициализацию DPoP-защиты.
Защита refresh-токенов с помощью DPoP в Yandex Cloud CLI
Чтобы подтвердить подлинность запроса на получение IAM-токена с помощью refresh-токена, используется механизм DPoP
Если опция Разрешить хранение DPoP-ключей только на устройствах YubiKey в настройках организации отключена, для защиты refresh-токенов можно будет использовать DPoP-ключи, сохраненные как на устройстве YubiKey, так и в файловой системе на компьютере пользователя (менее безопасно).
Включите опцию Разрешить хранение DPoP-ключей только на устройствах YubiKey, чтобы повысить степень защиты refresh-токенов и оставить возможность использовать только DPoP-ключи, сохраненные на специализированном устройстве YubiKey, которое обеспечивает неизвлекаемость ключей.
Инициализация DPoP-защиты refresh-токенов в Yandex Cloud CLI
DPoP-ключ, подтверждающий подлинность пользователя и устройства, которые отправляют запрос на получение IAM-токена, должен быть создан на стороне пользовательского устройства. Механизм создания, хранения и использования такого DPoP-ключа должен быть реализован внутри OAuth-приложения, использующего refresh-токены.
Чтобы инициализировать DPoP-защиту refresh-токенов федеративного пользователя в Yandex Cloud CLI:
-
Убедитесь, что на уровне вашей организации Cloud Organization включена возможность использования refresh-токенов.
-
Инициализируйте DPoP-защиту refresh-токенов на устройстве пользователя:
Yandex Cloud CLI-
Создайте профиль CLI федеративного пользователя и аутентифицируйтесь от его имени в Yandex Cloud.
-
Запустите инициализацию DPoP-защиты:
yc init --dpop
Yandex Cloud CLI предложит вам пройти процедуру конфигурации DPoP-защиты:
Welcome! This command will take you through the configuration process. Do you want to initialize file system auth keys? [y/N]
-
Пройдите процедуру конфигурации. Для этого введите
y
и нажмитеENTER
.Следуйте инструкциям конфигуратора, чтобы сгенерировать и сохранить DPoP-ключ в файловой системе компьютера или на устройстве YubiKey.
-
После выполнения инициализации при следующем получении нового IAM-токена для пользователя будет создан refresh-токен. В дальнейшем Yandex Cloud CLI станет самостоятельно обновлять IAM-токены данного федеративного пользователя без необходимости регулярно выполнять аутентификацию в браузере.
При хранении DPoP-ключа в файловой системе IAM-токен перевыпускается сразу. При использовании устройства YubiKey перевыпуск IAM-токена выполняется только после подтверждения действия на устройстве YubiKey.