Как получить статус GCP Audit Log программно - PullRequest
0 голосов
/ 12 февраля 2020

Я пытаюсь получить список журналов аудита, аналогичный тому, который отображается на странице консоли Google (IAM / Audit Logs) с использованием Golang API GetIamPolicy, как описано здесь:

https://cloud.google.com/resource-manager/reference/rest/v1/projects/getIamPolicy

Если для одной службы задан хотя бы один из типов журналов (чтение данных, запись данных или чтение с правами администратора), GetIamPolicy вернет его, но если у него нет установить, то служба в ответе не указывается.

Например, если в моем проекте три службы A, B и C, а для A включена функция чтения данных, для B включена функция чтения с правами администратора, а для C нет. ничего не включено, GetIamPolicy вернет только A и B.

GetIamPolicyRequest struct, кажется, имеет поля, предназначенные для этого сценария (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

Есть какие-нибудь идеи о том, как восстановить отсутствующие службы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...