Вы сможете добавить разрешения для учетной записи службы, получив текущую политику разрешений для вашего проекта из 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"
]
},
]
}
}
Этот вызов подтвердит вновь примененную политику в ответе. Это документально подтверждено здесь .