如何使用 Python 调用 add-iam-policy-binding?
How can I call add-iam-policy-binding with Python?
我正在努力遵循 GCP Python IAM 客户端的文档 (https://googleapis.dev/python/iam/latest/index.html)。
如何使用此库调用 gcloud iam service-accounts add-iam-policy-binding
(即 没有 shell 退出)?
APIs Explorer 对于此类问题非常有用,因为它不仅允许您查找任何 Google 服务方法以确定请求和响应类型,而且它通常包含示例代码.
在这种情况下,gcloud
的 add-iam-policy-binding
映射到 2 个底层调用。 GET
修改政策,修改它,然后 POST
使用相同的 eTag 修改它。
您的代码应更改来自 getIamPolicy
的响应中的政策,以在 setIamPolicy
的请求中创建政策。
eTag 是现有政策的散列,它在 POST
中用于向平台确认,您 POST
ting 的值旨在替换您收到的值。如果值在您的 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 调用。
我正在努力遵循 GCP Python IAM 客户端的文档 (https://googleapis.dev/python/iam/latest/index.html)。
如何使用此库调用 gcloud iam service-accounts add-iam-policy-binding
(即 没有 shell 退出)?
APIs Explorer 对于此类问题非常有用,因为它不仅允许您查找任何 Google 服务方法以确定请求和响应类型,而且它通常包含示例代码.
在这种情况下,gcloud
的 add-iam-policy-binding
映射到 2 个底层调用。 GET
修改政策,修改它,然后 POST
使用相同的 eTag 修改它。
您的代码应更改来自 getIamPolicy
的响应中的政策,以在 setIamPolicy
的请求中创建政策。
eTag 是现有政策的散列,它在 POST
中用于向平台确认,您 POST
ting 的值旨在替换您收到的值。如果值在您的 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 调用。