Я хотел бы отслеживать учетные записи служб Compute Engine, которые пытаются вызывать API за пределами заданной ими области доступа. Это могло быть через gcloud
командное или ручное взаимодействие с API с использованием токена OAuth с сервера метаданных.
Вот конкретный пример:
gcloud auth list
показывает, что активная учетная запись является учетной записью службы по умолчанию.gcloud compute instances list
. Это не с Insufficient Permission: Request had insufficient authentication scopes
из-за ограничения области доступа.Однако я не могу найти в StackDriver ничего, связанного с этой попыткой. Я настроил журналы облачного аудита для Admin Read
, Data Read
, и Data Write
на все услуги.
Я вижу события журнала для успешных вызовов API, например, если я сниму ограничение области и повторю описанные выше шаги.
Я также вижу события журнала для неудачных вызовов API, которые имели надлежащую область доступа, но не имели разрешений IAM.
Однако ничего для попыток, которые терпят неудачу именно из-за области доступа.
Кто-нибудь знает возможно ли это?
Это возможно. С помощью расширенные запросы журналов. Перейдите в Logging> Logs Viewer и используйте этот запрос: resource.type="api"
соответствовать соответствующему тип ресурса.
Несмотря на то, что приведенная выше информация точна, она не имеет отношения к вашему делу. Это действительно было недоразумение.
ОБНОВИТЬ:
Я считаю, что если у пользователя нет разрешений на выполнение gsutil
из-за ограничения области действия команда завершится ошибкой на системном уровне, и это сообщение не будет записано (например, попробуйте запустить tail /var/log/auth.log
с обычным пользователем и найдите запись этого звонка). Как указано Вот будет сохранена только конкретная информация.
Было бы неплохо использовать Обнаружение аномалий вместо. Надеюсь на эту помощь.