Создание сервисного аккаунта
Создайте сервисный аккаунт, чтобы управлять ресурсами от имени другой учетной записи.
Чтобы создать сервисный аккаунт, у вас должна быть роль iam.serviceAccounts.admin
или выше на каталог.
Примечание
Сервисный аккаунт создается внутри каталога. После создания сервисного аккаунта сменить каталог нельзя.
Сервисному аккаунту можно назначать роли на любые ресурсы в любом облаке, если эти ресурсы относятся к той же организации, что и сервисный аккаунт. Также сервисному аккаунту можно назначать роли на саму организацию.
Создать сервисный аккаунт
-
Войдите в консоль управления
. -
В левой части экрана нажмите на строку с именем каталога, в котором вы хотите создать сервисный аккаунт.
-
В списке сервисов выберите Identity and Access Management.
-
Нажмите кнопку Создать сервисный аккаунт.
-
Введите имя сервисного аккаунта.
Требования к формату имени:
- длина — от 2 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
Имя сервисного аккаунта должно быть уникальным в рамках облака.
-
Нажмите кнопку Создать.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
-
Посмотрите описание команды создания сервисного аккаунта:
yc iam service-account create --help
-
Создайте сервисный аккаунт с именем
my-robot
:yc iam service-account create --name my-robot
Требования к формату имени:
- длина — от 2 до 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