我很难跟踪GCP客户端的docs (https://googleapis.dev/python/iam/latest/index.html)。
我如何使用这个库调用gcloud iam service-accounts add-iam-policy-binding (即没有外壳程序)?
发布于 2021-09-08 03:07:34
API资源管理器对于这类问题非常有用,因为它不仅允许您查找任何Google方法来确定请求和响应类型,而且还经常包含示例代码。
在本例中,gcloud的add-iam-policy-binding映射到两个底层调用。GET对策略进行修改,然后使用相同的eTag对其进行POST返回。
您的代码应该从getIamPolicy更改响应中的策略,以便在setIamPolicy请求中创建策略。
eTag是现有策略的散列,它在POST中用于向平台确认您正在POSTting的值是用来替换您收到的内容的。如果在POST之前更改了值,则服务将拒绝您的POST。
这是setIamPolicy
https://cloud.google.com/iam/docs/reference/rest/v1/projects.serviceAccounts/setIamPolicy
示例(单击Python):
https://cloud.google.com/iam/docs/reference/rest/v1/projects.serviceAccounts/setIamPolicy#examples
另一个窍门是将--log-http附加到gcloud命令中,以查看进行了哪些底层REST调用。
https://stackoverflow.com/questions/69096458
复制相似问题