我正在尝试为Google云平台生成的帐户设置管理员权限。现在,我从以下地址获得服务帐户:
https://cloud.google.com/iam/reference/rest/v1/projects.serviceAccounts/list
但我不知道如何在获取此信息后继续进行。
非常感谢
答案 0 :(得分: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。