Я хотел бы отслеживать учетные записи службы Compute Engine, которые пытаются вызывать API за пределами заданной ими области доступа. Это может быть через команду gcloud
или ручное взаимодействие с API с использованием токена OAuth с сервера метаданных.
Вот конкретный пример:
список аутентификации gcloud
показывает, что активная учетная запись является учетной записью службы по умолчанию. список экземпляров вычислений gcloud
. Это не удается из-за Недостаточное разрешение: запрос имел недостаточные области проверки подлинности
из-за ограничения области доступа. Однако я не могу найти в StackDriver ничего, связанного с этой попыткой. Я настроил журналы аудита Cloud для чтения администратором
, чтения данных
и записи данных
для всех служб.
Я вижу события журнала для успешного API вызовы, например, если я удалю ограничение области и повторю описанные выше шаги.
Я также вижу события журнала для неудачных вызовов API, которые имели надлежащую область доступа, но не имели разрешений IAM.
Однако ничего для попыток, которые терпят неудачу конкретно из-за области доступа.
Кто-нибудь знает, возможно ли это?
Это возможно. Используя расширенные запросы журнала . Перейдите в "Журнал" > "Просмотр журнала" и используйте этот запрос:
resource.type="api"
для сопоставления с соответствующим типом ресурса.
Несмотря на то, что приведенная выше информация является точной, она не относится к вашему случаю. Это действительно было недоразумение.
UPDATE:
Я считаю, что если пользователь не имеет разрешений на выполнение команды gsutil
из-за ограничения области видимости, команда не будет выполнена на системном уровне и это сообщение не будет записано (например, попробуйте выполнить tail /var/log/auth.log
с обычным пользователем и найдите запись этого вызова). Как было сказано здесь будет сохранена только специфическая информация.
Может быть хорошей идеей использовать Anomaly Detection вместо этого. Надеюсь, это поможет.