我试图使用curl
,特别是organizations.roles.list
方法调用IAM。
https://cloud.google.com/iam/reference/rest/v1/organizations.roles/list
从文档中,我的请求应该像这样构造:
https://iam.googleapis.com/v1/organizations/<org-id>/roles
但是,调用它会导致以下错误:
{“错误”:{“代码”:404,“消息”:“未找到用于服务iam.googleapis.com的方法iam.googleapis.com",”状态“:"NOT_FOUND”}
完整请求:curl -H "Authorization: Bearer $(gcloud auth print-access-token)" https://iam.googleapis.com/v1/organizations/<org-id>/roles
我做错了什么?
发布于 2018-06-23 08:55:35
根据医生的说法,端点https://iam.googleapis.com/v1/organizations/<ORG_ID>/roles
用于列出在组织级别定义的角色(即自定义角色)。
要获得默认角色的列表(预定义的角色、管理角色,无论您想要调用它们.),您必须调用API而不指定任何资源:
curl -H"Authorization: Bearer $(gcloud auth print-access-token)" https://iam.googleapis.com/v1/roles
因此,要获得资源(无论是项目还是组织)中的角色的完整列表,您必须获得管理角色,并将它们聚合到在资源级别定义的自定义角色,以及在父资源上定义的自定义角色(因此,要获取项目中的角色,您必须获得已管理的ones+project自定义roles+parent组织自定义角色)。
至于您所收到的错误,我现在在测试时没有收到它。我做了一些测试,我收到了:
{}
)的200由于问题来自于7月17日,以及自定义角色9月17日开始测试,我假设您测试API的速度太快了,这就是您所收到的404的原因。
https://stackoverflow.com/questions/45156074
复制相似问题