Google Cloud получает информацию об использовании ключа API в журнале

#google-cloud-platform #google-api #google-cloud-translate

#google-cloud-platform #google-api #google-cloud-translate

Вопрос:

Я создаю чат и использую функцию с Cloud translation API, для каждого клиента я создаю новый ключ API, чтобы иметь возможность определять использование каждого клиента, проблема заключается в следующем:

Я хочу видеть использование всех ключей API внутри проекта, что-то вроде регистрации операций:

Пример ведения журнала операций

Но раскрывает информацию о метке времени и имени ключа API, чтобы я мог отслеживать использование сервиса каждым клиентом и определять, сколько я собираюсь выставить им счет.

Обновить

Выполнение некоторых дополнительных исследований подходит к этой статье, в которой дается пошаговое руководство для получения информации о ключах учетной записи службы (аналогично, но не то, что мне было нужно). В этом руководстве они создают приемник журналов для отправки журналов в BigQuery.

Проблема в том, что фильтр, используемый для извлечения журналов, следующий:

 logName:"projects/<PROJECT>/logs/cloudaudit.googleapis.com" 
protoPayload.authenticationInfo.serviceAccountKeyName:"*"
 

Во второй строке извлекается журнал, который принадлежит имени ключа учетной записи службы. Но, как было указано в начале вопроса, я ищу журнал ключей API, а не ключ учетной записи службы.

Комментарии:

1. Эта функция называется «Журналы аудита доступа к данным». Это должно быть включено и генерирует большое количество информации о регистрации, которая оплачивается ($ 0.50 / гигабайт). AFAIK, регистрируется только активность пользователя IAM, ключи API не регистрируются. Я думаю, что, возможно, есть лучшие варианты дизайна, такие как создание собственной службы, которая вызывает Translate, использует Google OAuth для авторизации, а ваша служба хранит активность пользователей в базе данных. Ключи API являются устаревшими и имеют проблемы с безопасностью.

Ответ №1:

Вы можете использовать журналы аудита облака 1, Журналы аудита облака предоставляет следующие журналы аудита для каждого облачного проекта, папки и организации:

-Журналы аудита активности администратора

-Журналы аудита доступа к данным

-Журналы аудита системных событий

-Политика отказала в регистрации журналов аудита

Облачные службы Google записывают записи журнала аудита в эти журналы, чтобы помочь вам ответить на вопросы «кто что сделал, где и когда?» в ваших облачных ресурсах Google.

Для этого сценария могут быть полезны журналы аудита доступа к данным 2, он содержит вызовы API, которые считывают конфигурацию или метаданные ресурсов, а также управляемые пользователем вызовы API, которые создают, изменяют или считывают предоставленные пользователем данные ресурса. В журналах аудита доступа к данным не записываются операции доступа к данным на общедоступных ресурсах (доступных для всех пользователей или всех пользователей, прошедших проверку подлинности) или к которым можно получить доступ без входа в Google Cloud.

Как упоминалось в предыдущем комментарии, эти журналы по умолчанию отключены, поскольку они могут быть довольно большими; они должны быть явно включены для записи.

Однако самый простой способ просмотреть показатели вашего API — это использовать панель управления API 3 Google Cloud Console. Вы можете просмотреть обзор всего использования вашего API или перейти к использованию конкретного API.

Комментарии:

1. 1) Регистрируются ли в журналах аудита доступа к данным действия ключа API? 2) Отображает ли панель управления API консоли использование API по ключу API?

2. Как упоминал Джон Хэнли, журналы аудита доступа к данным и панель управления API, похоже, не отображают конкретное использование для каждого ключа (отображает информацию для каждой службы). Итак, как вы могли бы включить журналы операций доступа к данным на ключевом ресурсе API @GabrielTorres?