Как начать работать с сервисными аккаунтами
Сервис IAM позволяет вам создавать сервисные аккаунты — дополнительные аккаунты, с помощью которых программы могут выполнять операции в Yandex Cloud. Сервисные аккаунты бесплатны и позволяют гибко управлять доступами ваших программ. Подробнее в разделе Сервисные аккаунты.
Эта инструкция для владельцев облака и пользователей с ролью администратора на облако или каталог. Пользователи с ролью editor
тоже могут создавать сервисные аккаунты, но не могут назначать роли, поэтому не смогут разрешить сервисному аккаунту выполнение операций в Yandex Cloud.
Проверка наличия необходимых ролей описана в разделе Перед началом работы.
Вы научитесь:
- Создавать сервисные аккаунты и назначать им роли.
- Выполнять операции в CLI.
- Удалять сервисные аккаунты.
Перед началом работы
-
Войдите в консоль управления
. Если вы еще не зарегистрированы, перейдите в консоль управления и следуйте инструкциям. -
Убедитесь, что у вас есть нужные роли:
-
В консоли управления в списке слева выберите нужное облако. Пример:
-
Перейдите на вкладку Права доступа.
-
В строке поиска введите свою учетную запись.
-
Проверьте, что для вашей учетной записи указаны роли:
- владельца (
organization-manager.organizations.owner
) или администратора (organization-manager.admin
) организации; - владельца (
resource-manager.clouds.owner
) или администратора (admin
) облака.
- владельца (
-
-
На странице Биллинг
убедитесь, что у вас подключен платежный аккаунт и он находится в статусеACTIVE
илиTRIAL_ACTIVE
. Если платежного аккаунта нет, создайте его.
Создайте сервисный аккаунт
Чтобы создать сервисный аккаунт и назначить ему роли:
-
Войдите в консоль управления
. -
Нажмите на строку с именем каталога, в котором вы хотите создать сервисный аккаунт.
-
В верхней части экрана перейдите на вкладку Сервисные аккаунты.
-
Нажмите кнопку Создать сервисный аккаунт.
-
Введите имя сервисного аккаунта.
Требования к формату имени:
- длина — от 3 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
Имя сервисного аккаунта должно быть уникальным в рамках облака.
-
Чтобы назначить сервисному аккаунту роль на текущий каталог, нажмите Добавить роль и выберите роль, например
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 b1gnbfd11bq5******** --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.
- Подробнее про сервисные аккаунты написано в концепциях.
- Посмотрите рекомендации по безопасному использованию сервисных аккаунтов.