【问题标题】:How to set service account permission from IAM api如何从 IAM api 设置服务帐户权限
【发布时间】:2018-04-27 10:28:20
【问题描述】:

我正在尝试为谷歌云平台生成的帐户设置管理员权限。现在,我从以下位置获取服务帐户:

https://cloud.google.com/iam/reference/rest/v1/projects.serviceAccounts/list

但我不知道在获得此信息后如何继续。

非常感谢

【问题讨论】:

    标签: google-cloud-platform


    【解决方案1】:

    您可以通过从 API 检索项目的当前权限策略、修改策略并应用新策略来向服务帐号添加权限。

    首先,您将通过以下方式获取项目的权限政策:

    POST https://cloudresourcemanager.googleapis.com/v1beta1/projects/$your-project-id:getIamPolicy
    

    您将在响应中获得政策,例如:

    {
        "bindings": [
        {
            "role": "roles/editor",
            "members": [
              "serviceAccount:your-project-id@appspot.gserviceaccount.com"
            ]
        },
        {
            "role": "roles/owner",
            "members": [
              "user:email1@gmail.com",
              "user:email2@gmail.com",
              "user:email3@gmail.com"
            ]
        }
        ]
    }
    

    如果您想将此项目的服务帐户授予所有者角色,您只需修改策略并使用setIamPolicy() 编写它,如下所示:

    POST https://cloudresourcemanager.googleapis.com/v1/projects/$our-project-123:setIamPolicy
    
         {
             "policy": {
                 "bindings": [
                 {
                     "role": "roles/owner",
                     "members": [
                       "user:email1@gmail.com",
                       "user:email2@gmail.com",
                       "user:email3@gmail.com",
                       "serviceAccount:your-project-id@appspot.gserviceaccount.com"
                     ]
                 },
                 ]
             }
        }
    

    此调用将确认响应中新应用的策略。这记录了here

    【讨论】:

      猜你喜欢
      • 2021-01-14
      • 1970-01-01
      • 1970-01-01
      • 2014-03-10
      • 2020-07-03
      • 1970-01-01
      • 1970-01-01
      • 2019-05-23
      • 2017-04-30
      相关资源
      最近更新 更多