Deployment Manager,如何在资源文件中获取Google存储服务帐户

问题描述 投票:0回答:1

我使用Deployment Manager并尝试在python文件中描述我的资源(Deployment Manager允许使用Python或Jinja创建配置)。其实,

我使用json格式创建主题资源 -

return
{ 
    'name': topic, 
    'type': 'pubsub.v1.topic',
    'properties': { 
        'topic': topic 
    },
    'accessControl': {
        'gcpIamPolicy': { 
            'bindings': [ 
                { 
                    'role': 
                    'roles/pubsub.publisher',
                    'members': [ 'service_account = project_name + '@gs-project-accounts.iam.gserviceaccount.com' ]
                } 
            ] 
        }  
    }
}

格式[project_name]@gs-project-accounts.iam.gserviceaccount.com几周前工作正常但是对于新创建的项目,找不到这样的服务帐户。

  1. 对于新创建的项目,Google云端存储服务帐户的格式是否更改是不正确的service account ... doesn't exist?它是 - [project-name]@gs-project-accounts.iam.gserviceaccount.com,目前是service-[projectId]@gs-project-accounts.iam.gserviceaccount.com。我通过this API和我得到的特殊新创建的项目检查它 - 这种格式:service-[project_Id]@gs-project-accounts.iam.gserviceaccount.com
  2. 我们如何在Deployment Manager配置文件中动态获取Google云端存储服务帐户?正如我在这里看到的,只有几个环境变量,如project_name,project_id,time等,并且没有任何storage_service_account环境变量
google-cloud-storage google-deployment-manager google-api-explorer
1个回答
0
投票

GCS服务帐户格式最近更改为以下格式:

service-[PROJECT_NUMBER]@gs-project-accounts.iam.gserviceaccount.com

现有项目将继续使用以前的格式。

对于新项目,新格式将是前进的方式。

要验证格式,您可以get projects.serviceAccount

© www.soinside.com 2019 - 2024. All rights reserved.