我正在使用https://dataproc.googleapis.com/v1/projects/{projectId}/regions/{region}/clusters
来创建GCP Dataproc集群,如https://cloud.google.com/dataproc/docs/reference/rest/v1/projects.regions.clusters/create所述。
我正在使用已导出到JSON密钥文件中的服务帐户凭据。该服务帐户(myserviceaccount@projectA.iam.gserviceaccount.com
已存在于projectA中,并且我已经能够使用它在projectA中成功创建Dataproc集群。
我现在需要使用相同的服务帐户在projectB中创建Dataproc集群。我使用完全相同的凭据运行完全相同的代码,唯一的不同是我在其中创建项目。我向myserviceaccount@projectA.iam.gserviceaccount.com
授予了projectB与projectA完全相同的权限,但是当我尝试创建失败的集群:
2019-03-22 10:58:47 INFO: _retrieve_discovery_doc():272: URL being requested: GET https://www.googleapis.com/discovery/v1/apis/dataproc/v1/rest
2019-03-22 10:58:54 INFO: method():873: URL being requested: GET https://dataproc.googleapis.com/v1/projects/dh-coop-no-test-35889/regions/europe-west1/clusters?alt=json
2019-03-22 10:58:54 INFO: new_request():157: Attempting refresh to obtain initial access_token
2019-03-22 10:58:54 DEBUG: make_signed_jwt():100: [b'blahblahblah', b'blahblahblah']
2019-03-22 10:58:54 INFO: _do_refresh_request():777: Refreshing access_token
2019-03-22 10:58:55 WARNING: _should_retry_response():121: Encountered 403 Forbidden with reason "forbidden"
因此,该服务帐户被禁止在projectB中创建集群,但是我没有得到任何有关原因的信息。我希望有一些审核日志可以详细说明为什么禁止该请求,但是我查看了https://console.cloud.google.com/logs/viewer?project=projectB却找不到。
有人可以告诉我在哪里可以获取更多信息以诊断此请求失败的原因吗?
答案 0 :(得分:4)
如评论中所述,获取有关失败请求的更多信息的一种方法是设置gcloud以使用服务帐户。使用--log-http运行gcloud命令可能还会提供其他信息。
在此处重新粘贴,以提高可读性/可见性。