尝试使用Google API存储桶:特定服务帐户的testIamPermissions

时间:2019-05-24 07:36:56

标签: google-api google-cloud-storage google-iam

我可以使用Buckets: testIamPermissions来测试存储桶中已登录用户的权限。

有没有一种方法可以对服务帐户进行测试。

任何帮助将不胜感激。谢谢...

2 个答案:

答案 0 :(得分:0)

Google documentation中所述:

  

要查看服务帐户是否有权访问资源,请在目标资源上调用getIamPolicy方法。例如,要查看项目的拨款,请调用projects.getIamPolicy方法。

因此,要检查服务帐户是否有权访问存储桶,必须使用Buckets: getIamPolicy指定要检查的存储桶。

答案 1 :(得分:0)

再次查看您的问题之后,我找到了一种将Buckets: testIamPermissions与服务帐户结合使用的方法:

您必须在您的环境中下载service account’s key.json file(已设置gcloud)并使用以下命令创建环境变量:

GOOGLE_APPLICATION_CREDENTIALS=[key.json]

然后,您可以通过以下方式获得此服务帐户的令牌:

gcloud auth application-default print-access-token

最后,您可以curl testIamPermissions URL并将该令牌作为授权标头传递:

curl 'https://www.googleapis.com/storage/v1/b/[BUCKET]/iam/testPermissions?permissions=[PERMISSION]'   -H 'Authorization: Bearer [TOKEN]’