Событие журнала GCP Stackdriver для неудачных попыток API из-за недостаточных областей доступа

Я хотел бы отслеживать учетные записи службы Compute Engine, которые пытаются вызывать API за пределами заданной ими области доступа. Это может быть через команду gcloud или ручное взаимодействие с API с использованием токена OAuth с сервера метаданных.

Вот конкретный пример:

  • Вычислительный экземпляр запускается с общими настройками GCP по умолчанию, включая учетная запись службы по умолчанию и области доступа по умолчанию.
  • Пользователь входит в сеанс SSH на этом экземпляре вычислений, и список аутентификации gcloud показывает, что активная учетная запись является учетной записью службы по умолчанию.
  • Пользователь запускает список экземпляров вычислений gcloud . Это не удается из-за Недостаточное разрешение: запрос имел недостаточные области проверки подлинности из-за ограничения области доступа.

Однако я не могу найти в StackDriver ничего, связанного с этой попыткой. Я настроил журналы аудита Cloud для чтения администратором , чтения данных и записи данных для всех служб.

Я вижу события журнала для успешного API вызовы, например, если я удалю ограничение области и повторю описанные выше шаги.

Я также вижу события журнала для неудачных вызовов API, которые имели надлежащую область доступа, но не имели разрешений IAM.

Однако ничего для попыток, которые терпят неудачу конкретно из-за области доступа.

Кто-нибудь знает, возможно ли это?

0
задан 5 February 2020 в 12:03
1 ответ

Это возможно. Используя расширенные запросы журнала . Перейдите в "Журнал" > "Просмотр журнала" и используйте этот запрос: resource.type="api" для сопоставления с соответствующим типом ресурса.

Несмотря на то, что приведенная выше информация является точной, она не относится к вашему случаю. Это действительно было недоразумение.

UPDATE:

Я считаю, что если пользователь не имеет разрешений на выполнение команды gsutil из-за ограничения области видимости, команда не будет выполнена на системном уровне и это сообщение не будет записано (например, попробуйте выполнить tail /var/log/auth.log с обычным пользователем и найдите запись этого вызова). Как было сказано здесь будет сохранена только специфическая информация.

Может быть хорошей идеей использовать Anomaly Detection вместо этого. Надеюсь, это поможет.

0
ответ дан 26 February 2020 в 00:43

Теги

Похожие вопросы