Как начать работать с сервисными аккаунтами
Сервис IAM позволяет вам создавать сервисные аккаунты — дополнительные аккаунты, с помощью которых программы могут выполнять операции в Yandex Cloud. Сервисные аккаунты бесплатны и позволяют гибко управлять доступами ваших программ. Подробнее в разделе Сервисные аккаунты.
Эта инструкция для владельцев облака и пользователей с ролью администратора на облако или каталог. Пользователи с ролью editor
тоже могут создавать сервисные аккаунты, но не могут назначать роли, поэтому не смогут разрешить сервисному аккаунту выполнение операций в Yandex Cloud.
Проверка наличия необходимых ролей описана в разделе Перед началом работы.
Вы научитесь:
- Создавать сервисные аккаунты и назначать им роли.
- Выполнять операции в CLI.
- Удалять сервисные аккаунты.
Перед началом работы
-
Войдите в консоль управления
. Если вы еще не зарегистрированы, перейдите в консоль управления и следуйте инструкциям. -
Убедитесь, что у вас есть нужные роли:
-
В консоли управления в списке слева выберите нужное облако. Пример:
-
Перейдите на вкладку Права доступа.
-
В строке поиска введите свою учетную запись.
-
Проверьте, что для вашей учетной записи указаны роли:
- владельца (
organization-manager.organizations.owner
) или администратора (organization-manager.admin
) организации; - владельца (
resource-manager.clouds.owner
) или администратора (admin
) облака.
- владельца (
-
-
На странице Биллинг
убедитесь, что у вас подключен платежный аккаунт и он находится в статусеACTIVE
илиTRIAL_ACTIVE
. Если платежного аккаунта нет, создайте его.
Создайте сервисный аккаунт
Чтобы создать сервисный аккаунт и назначить ему роли:
-
Войдите в консоль управления
. -
В левой части экрана нажмите на строку с именем каталога, в котором вы хотите создать сервисный аккаунт.
-
В списке сервисов выберите Identity and Access Management.
-
Нажмите кнопку Создать сервисный аккаунт.
-
Введите имя сервисного аккаунта.
Требования к формату имени:
- длина — от 3 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
Имя сервисного аккаунта должно быть уникальным в рамках облака.
-
Чтобы назначить сервисному аккаунту роль на текущий каталог, нажмите Добавить роль и выберите роль, например
editor
.Чтобы назначить роль на другой ресурс, воспользуйтесь CLI или API по инструкции Назначение роли сервисному аккаунту.
-
Нажмите кнопку Создать.
Примечание
Настройте CLI для работы от имени сервисного аккаунта
От имени сервисного аккаунта вы можете выполнять операции через интерфейс командной строки Yandex Cloud (CLI), API и другие инструменты, которые поддерживают аутентификацию с сервисным аккаунтом.
Настройте CLI для работы от имени сервисного аккаунта:
-
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
-
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра
--folder-name
или--folder-id
. -
Получите список доступных сервисных аккаунтов в каталоге по умолчанию:
yc iam service-accounts list
Результат:
+----------------------+----------+--------+ | ID | NAME | LABELS | +----------------------+----------+--------+ | ajeb9l33h6mu******** | my-robot | | +----------------------+----------+--------+
-
Создайте авторизованный ключ для вашего сервисного аккаунта и запишите его в файл:
yc iam key create --output <путь_к_файлу_ключа> --service-account-name <имя_сервисного_аккаунта>
Где:
--output
— путь к файлу для записи авторизованного ключа в формате JSON. Обязательный параметр.--service-account-name
— имя сервисного аккаунта.
Например:
yc iam key create --output key.json --service-account-name my-service-account
Результат:
id: aje4lue48687******** service_account_id: ajeb9l33h6m******** created_at: "2024-08-01T11:58:52.313177213Z" key_algorithm: RSA_2048
Подробнее о команде
yc iam key create
см. в справочнике CLI. -
Создайте профиль, который будет использоваться для выполнения операций от имени сервисного аккаунта:
yc config profile create <имя_профиля>
-
Укажите в конфигурации профиля авторизованный ключ сервисного аккаунта:
yc config set service-account-key <путь_к_файлу_ключа>
Теперь вы можете выполнять операции от имени сервисного аккаунта, например посмотреть список каталогов, доступных этому аккаунту:
yc resource-manager folder list
Удалите сервисный аккаунт
Если сервисный аккаунт больше не нужен, удалите его:
- В консоли управления
перейдите в каталог, которому принадлежит сервисный аккаунт. - В списке сервисов выберите Identity and Access Management.
- На панели слева выберите
Сервисные аккаунты. - В строке с нужным сервисным аккаунтом нажмите значок
и выберите Удалить. - В открывшемся окне нажмите кнопку Удалить.
Что дальше
- Пошаговые инструкции помогут вам решить конкретные задачи, возникающие при использовании Identity and Access Management.
- Подробнее про сервисные аккаунты написано в концепциях.
- Посмотрите рекомендации по безопасному использованию сервисных аккаунтов.