Ошибка при попытке создать ключ учетной записи службы в диспетчере развертывания

Ошибка ниже:

ERROR: (gcloud.deployment-manager.deployments.update) Error in Operation [operation-1544517871651-57cbb1716c8b8-4fa66ff2-9980028f]: errors:
- code: MISSING_REQUIRED_FIELD
  location: /deployments/infrastructure/resources/projects/resources-practice/serviceAccounts/storage-buckets-backend/keys/json->$.properties->$.parent
  message: |-
    Missing required field 'parent' with schema:
    {
      "type" : "string"
    }

Ниже приведено содержание моего шаблона jinja:

resource:
- name: {{ name }}-keys
    type: iam.v1.serviceAccounts.key
    properties:
      name: projects/{{ properties["projectID"] }}/serviceAccounts/{{ serviceAccount["name"] }}/keys/json
      privateKeyType: enum(TYPE_GOOGLE_CREDENTIALS_FILE)
      keyAlgorithm: enum(KEY_ALG_RSA_2048)

PS Моя ссылка на свойства основана на https://cloud.google.com/iam/reference/rest/v1/projects.serviceAccounts.keys

1 ответ

Я опубликую ответ @John как ответ на благо сообщества.

Родитель отсутствовал, ему нужна существующая учетная запись службы:

projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}

где значением ACCOUNT может быть адрес электронной почты или уникальный идентификатор учетной записи службы.

Что касается шаблона, пожалуйста, удалите enum, включающий privateKeyType и keyAlgoritm.

Приведенное выше развертывание создает учетные данные учетной записи службы для существующей учетной записи службы, и для извлечения этого загружаемого файла ключа json его можно открыть с помощью выходных данных, используя свойство publicKeyData, а затем закодировать его base64.

Другие вопросы по тегам