我使用Google Cloud Deployment Manager部署了logging.v2.sink
,但是部署因权限被拒绝而失败。
问题也发生在this logsink example of Google Cloud Deployment Manager。
结果如下:
- code: RESOURCE_ERROR
location: /deployments/my-project-id/resources/sink
message:
{
"ResourceType": "logging.v2.sink",
"ResourceErrorCode": "403",
"ResourceErrorMessage": {
"code": 403,
"message": "The\n caller does not have permission",
"status": "PERMISSION_DENIED",
"statusMessage": "Forbidden",
"requestPath": "https://logging.googleapis.com/v2/projects/my-project-id/sinks",
"httpMethod": "POST"
}
}
部署由所有者角色执行,而且我可以使用cli创建日志记录接收器。在本地安装的gcloud
是最新的(v217.0.0)。
为什么会出现这个问题?
我误解了云部署管理器的权限。我注意到部署模板和创建资源的帐户是不同的(https://cloud.google.com/deployment-manager/docs/access-control)。
当我将Logging Admin角色添加到服务帐户时,部署成功。
[PROJECT_NUMBER]@cloudservices.gserviceaccount.com