Как начать работать c сервисными аккаунтами
Сервис IAM позволяет вам создавать сервисные аккаунты — дополнительные аккаунты, с помощью которых программы могут выполнять операции в Yandex.Cloud. Сервисные аккаунты бесплатны и позволяют гибко управлять доступами ваших программ. Подробнее в разделе Сервисные аккаунты.
Эта инструкция для владельцев облака и пользователей с ролью администратора на облако или каталог. Пользователи с ролью editor
тоже могут создавать сервисные аккаунты, но не могут назначать роли, поэтому не смогут разрешить сервисному аккаунту выполнение операций в Yandex.Cloud.
Вы научитесь:
- Создавать сервисные аккаунты и назначать им роли.
- Выполнять операции в CLI.
- Удалять сервисные аккаунты.
Перед началом
- Если вы еще не зарегистрированы в Yandex.Cloud, перейдите в консоль управления.
- На странице биллинга убедитесь, что у вас подключен платежный аккаунт и он находится в статусе
ACTIVE
илиTRIAL_ACTIVE
. Если платежного аккаунта нет, создайте его.
Создайте сервисный аккаунт
Чтобы создать сервисный аккаунт и назначить ему роли:
-
Войдите в консоль управления.
-
Нажмите на строку с именем каталога, в котором вы хотите создать сервисный аккаунт.
-
Выберите вкладку Сервисные аккаунты.
-
Нажмите кнопку Создать сервисный аккаунт.
-
Введите имя сервисного аккаунта.
-
Чтобы назначить сервисному аккаунту роль на текущий каталог, нажмите Добавить роль и выберите роль, например
editor
.Чтобы назначить роль на другой ресурс, воспользуйтесь CLI или API по инструкции Назначение роли сервисному аккаунту.
-
Нажмите кнопку Создать.
Настройте CLI для работы от имени сервисного аккаунта
От имени сервисного аккаунта вы можете выполнять операции через API, CLI и другие инструменты, которые поддерживают аутентификацию с сервисным аккаунтом. В консоль управления войти с помощью сервисного аккаунта нельзя.
Настройте CLI для работы от имени сервисного аккаунта:
-
Если у вас еще нет интерфейса командной строки Yandex.Cloud, установите и инициализируйте его.
-
Создайте авторизованный ключ для вашего сервисного аккаунта и запишите его файл:
yc iam key create --service-account-name my-robot --output key.json
Если вы получили ошибку
ERROR: service account with name "my-robot" not found
, значит в каталоге по умолчанию нет сервисного аккаунта с таким именем. Если имя правильное, то выполните одну из команд:- Укажите каталог с сервисным аккаунтом с помощью параметра
--folder-name
или--folder-id
:yc iam key create --folder-name my-folder --service-account-name my-robot --output key.json
- Укажите сервисный аккаунт по идентификатору с помощью параметра
--service-account-id
:yc iam key create --service-account-id b1gnbfd11bq5g5vnjgr4 --output key.json
- Укажите каталог с сервисным аккаунтом с помощью параметра
-
Создайте профиль, который будет использоваться для выполнения операций от имени сервисного аккаунта:
yc config profile create my-robot-profile
-
Укажите в конфигурации профиля авторизованный ключ сервисного аккаунта:
yc config set service-account-key key.json
Теперь вы можете выполнять операции от имени сервисного аккаунта, например посмотреть список каталогов, доступных этому аккаунту:
yc resource-manager folder list
Удалите сервисный аккаунт
Если сервисный аккаунт больше не нужен, удалите его:
- Перейдите в каталог, которому принадлежит сервисный аккаунт.
- Выберите вкладку Сервисные аккаунты.
- Нажмите значок напротив сервисного аккаунта и выберите Удалить сервисный аккаунт.
- Подтвердите удаление.
Что дальше
- Пошаговые инструкции помогут вам решить конкретные задачи, возникающие при использовании Identity and Access Management.
- Подробнее про сервисные аккаунты написано в концепциях.
- Посмотрите рекомендации по безопасному использованию сервисных аккаунтов.