代码之家  ›  专栏  ›  技术社区  ›  Dean Christian Armada

尝试在部署管理器中创建serviceaccount密钥时出错

  •  1
  • Dean Christian Armada  · 技术社区  · 7 年前

    错误如下:

    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)
    

    附笔。 我对这些房产的参考是基于 https://cloud.google.com/iam/reference/rest/v1/projects.serviceAccounts.keys

    1 回复  |  直到 7 年前
        1
  •  2
  •   dany L    7 年前

    为了社区的利益,我将发布@John的回复作为答案。

    父母失踪了,需要一个现有的 service account :

    projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}
    

    其中帐户值可以是电子邮件或服务帐户的唯一ID。

    关于模板,请删除包装privateKeyType和keyAlgoritm的枚举。

    上述部署为现有服务帐户创建服务帐户凭据,为了检索这个可下载的json密钥文件,可以使用 outputs 然后使用publicKeyData属性对其进行解码。

    推荐文章