Создание сервисного аккаунта
Важно
Создание сервисных аккаунтов может быть запрещено политиками авторизации на уровне каталога, облака или организации.
Создайте сервисный аккаунт, чтобы управлять ресурсами от имени другой учетной записи.
Чтобы создать сервисный аккаунт, у вас должна быть роль iam.serviceAccounts.admin или выше на каталог.
Примечание
Сервисный аккаунт создается внутри каталога. После создания сервисного аккаунта сменить каталог нельзя.
Сервисному аккаунту можно назначать роли на любые ресурсы в любом облаке, если эти ресурсы относятся к той же организации, что и сервисный аккаунт. Также сервисному аккаунту можно назначать роли на саму организацию.
Создать сервисный аккаунт
-
В консоли управления
на панели сверху нажмите или и выберите нужный каталог. -
Перейдите в сервис Identity and Access Management.
-
Нажмите кнопку Создать сервисный аккаунт.
-
Введите имя сервисного аккаунта.
Требования к формату имени:
- длина — от 3 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
Имя сервисного аккаунта должно быть уникальным в рамках облака.
-
Нажмите кнопку Создать.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
-
Посмотрите описание команды создания сервисного аккаунта:
yc iam service-account create --help -
Создайте сервисный аккаунт с именем
my-robot:yc iam service-account create --name my-robotТребования к формату имени:
- длина — от 3 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
Опишите в конфигурационном файле параметры ресурсов, которые необходимо создать:
resource "yandex_iam_service_account" "sa" { name = "<имя_сервисного_аккаунта>" description = "<описание_сервисного_аккаунта>" folder_id = "<идентификатор_каталога>" }name— имя сервисного аккаунта. Обязательный параметр.description— описание сервисного аккаунта. Необязательный параметр.folder_id— идентификатор каталога. Необязательный параметр. По умолчанию будет использовано значение, указанное в настройках провайдера.
Более подробную информацию о параметрах ресурса
yandex_iam_service_accountв Terraform, см. в документации провайдера. -
Проверьте корректность конфигурационных файлов.
-
В командной строке перейдите в папку, где вы создали конфигурационный файл.
-
Выполните проверку с помощью команды:
terraform plan
Если конфигурация описана верно, в терминале отобразится информация о сервисном аккаунте. Если в конфигурации есть ошибки, Terraform на них укажет.
-
-
Разверните облачные ресурсы.
-
Если в конфигурации нет ошибок, выполните команду:
terraform apply -
Подтвердите создание сервисного аккаунта: введите в терминал слово
yesи нажмите Enter.После этого будет создан сервисный аккаунт. Проверить появление сервисного аккаунта можно в консоли управления
или с помощью команды CLI:yc iam service-account list
-
Чтобы создать сервисный аккаунт, воспользуйтесь методом REST API create для ресурса ServiceAccount или вызовом gRPC API ServiceAccountService/Create.
Примеры
Добавить описание при создании
Создайте сервисный аккаунт с именем и описанием:
yc iam service-account create --name my-robot \
--description "this is my favorite service account"
resource "yandex_iam_service_account" "sa" {
name = "my-robot"
description = "this is my favorite service account"
}
curl \
--request POST \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer <IAM-токен>" \
--data '{
"folderId": "b1gvmob95yys********",
"name": "my-robot",
"description": "this is my favorite service account"
}' \
https://iam.api.cloud.yandex.net/iam/v1/serviceAccounts