Skip to content

Утилита YC

Изначально создаем или изменяем профиль

Профиль — это локальная конфигурация CLI (yc), где хранятся: cloud-id, folder-id token или service-account-key.json endpoint и т.д. То есть профиль — это не сущность в Yandex Cloud, а просто набор настроек на твоём компьютере.

yc init

Потом можно выбрать нужный

1
2
3
4
5
6
7
❯ yc config profile list
default
hardway ACTIVE
terraform

❯ yc config profile activate terraform
Profile 'terraform' activated

Создаем сервисный аккаунт Сервисный аккаунт (Service Account, SA) — это учётка, принадлежащая не человеку, а приложению. У него: свой уникальный идентификатор (serviceAccountId), свои IAM-права (Identity and Access Management) (например storage.editor), и может быть создан статический ключ, авторизационный ключ или IAM-токен для доступа.

1
2
3
4
5
6
7
❯ yc iam service-account create --name terra

done (1s)
id: ajefj388645earvs656i
folder_id: b1gt98o9j856o777k9r5
created_at: "2025-11-03T14:24:19.206036538Z"
name: terra

И добавляем ему права

❯ yc resource-manager folder add-access-binding \
  --service-account-name=terra \
  --role=admin \
  --name=default

done (2s)
effective_deltas:
  - action: ADD
    access_binding:
      role_id: admin
      subject:
        id: ajefj388645earvs656i
        type: serviceAccount

Добавить зеркало для провайдера Yandex vim ~/.terraformrc

1
2
3
4
5
6
7
8
9
provider_installation {
  network_mirror {
    url = "https://terraform-mirror.yandexcloud.net/"
    include = ["registry.terraform.io/*/*"]
  }
  direct {
    exclude = ["registry.terraform.io/*/*"]
  }
}

Добавляем переменные окружения для дальнейшей работы

1
2
3
export YC_TOKEN=$(yc iam create-token)
export YC_CLOUD_ID=$(yc config get cloud-id)
export YC_FOLDER_ID=$(yc config get folder-id)