我正在尝试使用Golang API GetIamPolicy
来获取类似于Google控制台页面(IAM /审计日志)中显示的审计日志的列表,如下所述:
https://cloud.google.com/resource-manager/reference/rest/v1/projects/getIamPolicy
如果一项服务的日志类型至少设置了一种(数据读取,数据写入或管理员读取),则GetIamPolicy
将返回它,但是如果没有任何设置,则该服务将从列表中省略响应。
例如,如果我的项目具有三个服务A,B和C,并且A启用了数据读取,B启用了管理员读取,而C没有启用任何功能,则GetIamPolicy
仅返回A和B
GetIamPolicyRequest
结构似乎具有为此场景设计的字段(NullFields
和ForceSendFields
),但我无法使其工作。示例:
rb := &cloudresourcemanager.GetIamPolicyRequest{}
rb.ForceSendFields = []string{"LogType"}
rb.NullFields = []string{"LogType"}
policyOptions := &cloudresourcemanager.GetPolicyOptions{}
policyOptions.ForceSendFields = []string{"LogType"}
policyOptions.NullFields = []string{"LogType"}
policyOptions.RequestedPolicyVersion = 3
rb.Options = policyOptions
关于如何找回丢失的服务的任何想法?