Аутентификация от имени сервисного аккаунта
Узнайте как аутентифицироваться в CLI:
Сервисный аккаунт отличается от аккаунта пользователя или федеративного пользователя. Сервисный аккаунт нельзя использовать для входа в консоль управления
Перед началом работы
- Аутентифицируйтесь в CLI как пользователь или как федеративный пользователь.
- Если у вас еще нет сервисного аккаунта, создайте его и настройте права доступа для него.
Аутентифицируйтесь от имени сервисного аккаунта
Чтобы аутентифицироваться от имени сервисного аккаунта:
-
Получите список сервисных аккаунтов, которые существуют в вашем облаке:
yc iam service-account --folder-id <ID_каталога> list
Результат:
+----------------------+------------+ | ID | NAME | +----------------------+------------+ | aje3932acd0c5ur7dagp | default-sa | +----------------------+------------+
-
Создайте авторизованный ключ для сервисного аккаунта и сохраните его в файл
key.json
:yc iam key create --service-account-name default-sa --output key.json --folder-id <ID_каталога>
Результат:
id: aje83v701b1un777sh40 service_account_id: aje3932acd0c5ur7dagp created_at: "2019-08-26T12:31:25Z" key_algorithm: RSA_2048
-
Добавьте авторизованный ключ сервисного аккаунта в профиль CLI.
-
Создайте новый профиль CLI:
yc config profile create sa-profile
-
Добавьте авторизованный ключ:
yc config set service-account-key key.json
-
-
Проверьте, что параметры для сервисного аккаунта добавлены верно:
yc config list
Результат:
service-account-key: id: aje83v701b1un777sh40 service_account_id: aje3932acd0c5ur7dagp created_at: "2019-08-26T12:31:25Z" key_algorithm: RSA_2048 public_key: | -----BEGIN PUBLIC KEY----- MIIBIjANBg... -----END PUBLIC KEY----- private_key: | -----BEGIN PRIVATE KEY----- MIIEvwIBAD... -----END PRIVATE KEY-----
-
Настройте профиль для запуска команд.
Для некоторых команд требуется указание уникального идентификатора облака и каталога. Вы можете указать информацию о них в профиле или запускать такие команды с соответствующим флагом.
-
Укажите облако в профиле:
yc config set cloud-id <идентификатор_облака>
Или запускайте команды с параметром
--cloud-id
. -
Укажите каталог в профиле:
yc config set folder-id <идентификатор_каталога>
Или запускайте команды с параметром
--folder-id
.
Все операции в этом профиле будут выполняться от имени привязанного сервисного аккаунта. Вы можете изменить параметры профиля или сменить его.
-
Аутентифицируйтесь от имени сервисного аккаунта изнутри виртуальной машины
Для сервисного аккаунта процесс аутентификации изнутри виртуальной машины упрощен:
-
Привяжите сервисный аккаунт к виртуальной машине.
-
Аутентифицируйтесь изнутри виртуальной машины:
-
Подключитесь к виртуальной машине по SSH.
-
Создайте новый профиль:
yc config profile create my-robot-profile
-
-
Настройте профиль для запуска команд.
Для некоторых команд требуется указание уникального идентификатора облака и каталога. Вы можете указать информацию о них в профиле или запускать такие команды с соответствующим флагом.
-
Укажите облако в профиле:
yc config set cloud-id <идентификатор_облака>
Или запускайте команды с параметром
--cloud-id
. -
Укажите каталог в профиле:
yc config set folder-id <идентификатор_каталога>
Или запускайте команды с параметром
--folder-id
.
Все операции в этом профиле будут выполняться от имени привязанного сервисного аккаунта. Вы можете изменить параметры профиля или сменить его.
-
Подробная информация про работу с Yandex Cloud из ВМ в разделе Работа с Yandex Cloud изнутри виртуальной машины.