Ведение журнала аудита

На этой странице описаны журналы аудита, созданные Cloud Search как часть журналов аудита Cloud .

Обзор

Службы Google Cloud записывают журналы аудита, которые помогут вам ответить на вопросы «Кто, где и когда сделал» в ваших ресурсах. Ваши облачные проекты содержат только журналы аудита ресурсов, которые находятся непосредственно в проекте. Другие объекты, такие как папки, организации и учетные записи Cloud Billing, содержат журналы аудита для самого объекта.

Общий обзор журналов облачного аудита см. в разделе Журналы облачного аудита . Чтобы получить более глубокое представление о журналах аудита облака, ознакомьтесь с разделом «Понимание журналов аудита» .

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

  • Журналы аудита активности администратора, содержащие записи, соответствующие методам, выполняющим операции записи администратора. Методы, соответствующие действиям администратора: операции записи администратора, описаны в следующем разделе «Проверяемые операции» .
  • Журналы аудита доступа к данным, содержащие записи, соответствующие методам, выполняющим операции административного чтения, записи данных и чтения данных. Методы, соответствующие операциям «Доступ к данным: административное чтение», «Доступ к данным: запись данных», «Доступ к данным: чтение данных», описаны в следующем разделе «Проверяемые операции» .
  • Журналы аудита системных событий
  • Журналы аудита «Отказано в политике»

Cloud Search ведет журналы аудита активности администратора, в которых фиксируются операции, изменяющие конфигурацию или метаданные ресурса. Вы не можете отключить журналы аудита активности администратора.

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

Cloud Search не ведет журналы аудита системных событий.

Cloud Search не записывает журналы аудита «Отказано в соответствии с политикой».

Проверенные операции

Ниже приведены сведения о том, какие операции API соответствуют каждому типу журнала аудита в Cloud Search:

Категория журналов аудита Операции облачного поиска
Действия администратора: запись администратора indexing.datasources.updateSchema
indexing.datasources.deleteSchema
settings.datasources.create
settings.datasources.delete
settings.datasources.update
settings.searchapplications.create
settings.searchapplications.delete
settings.searchapplications.reset
settings.searchapplications.update
settings.updateCustomer
Cloudsearch.IdentitySourceService.create
Cloudsearch.IdentitySourceService.update
Cloudsearch.IdentitySourceService.delete
Доступ к данным: чтение администратором indexing.datasources.getSchema
settings.datasources.get
settings.datasources.list
settings.searchapplications.get
settings.searchapplications.list
settings.getCustomer
Cloudsearch.IdentitySourceService.get
Cloudsearch.IdentitySourceService.list
Доступ к данным: запись данных indexing.datasources.items.delete
indexing.datasources.items.deleteQueueItems
индексирование.datasources.items.index
indexing.datasources.items.poll
indexing.datasources.items.push
indexing.datasources.items.unreserve
indexing.datasources.items.upload
media.upload
Доступ к данным: чтение данных indexing.datasources.items.get
indexing.datasources.items.list
операции.get
операции.список
debug.datasources.items.checkAccess
debug.datasources.items.searchByViewUrl
stats.getIndex
stats.getQuery
stats.getSession
stats.getUser
stats.index.datasources.get
stats.query.searchapplications.get
stats.session.searchapplications.get
stats.user.search apps.get
debug.identitysources.items.listForunmappedidentity
debug.identitysources.unmappedids.list
debug.datasources.items.unmappedids.list
запрос.источники.список
запрос.предложить
запрос.поиск
stats.getSearchapplication

Формат журнала аудита

Записи журнала аудита, которые можно просмотреть в Cloud Logging с помощью обозревателя журналов, API Cloud Logging или инструмента командной строки gcloud, включают следующие объекты:

Сама запись журнала, которая является объектом типа LogEntry . Полезные поля включают в себя следующее:

  • logName содержит идентификатор ресурса и тип журнала аудита.
  • resource содержит цель проверяемой операции.
  • timeStamp содержит время проверяемой операции.
  • protoPayload содержит проверенную информацию.
  • Данные журнала аудита, которые представляют собой объект AuditLog, хранящийся в поле protoPayload записи журнала.

Необязательная информация аудита, специфичная для службы, которая является объектом, специфичным для службы. В более ранних интеграциях этот объект хранится в поле serviceData объекта AuditLog ; более поздние интеграции используют поле metadata .

Информацию о других полях в этих объектах и ​​о том, как их интерпретировать, см. в разделе Общие сведения о журналах аудита .

Имя журнала

Названия ресурсов журналов аудита облака указывают на облачный проект или другой объект Google Cloud, которому принадлежат журналы аудита, а также на то, содержит ли журнал данные журнала действий администратора, доступа к данным, отказа в политике или системных событий. Например, ниже показаны имена журналов аудита действий администратора на уровне проекта и журналов аудита доступа к данным организации. Переменные обозначают идентификаторы проекта и организации.

projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity
organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access

Название службы

В журналах аудита Cloud Search используется имя службы cloudsearch.googleapis.com .

Типы ресурсов

В журналах аудита Cloud Search для всех журналов аудита используется тип ресурса audited_resource .

Список других типов ресурсов см. в разделе «Отслеживаемые типы ресурсов» .

Включить ведение журнала аудита

По умолчанию ведение журнала аудита для Cloud Search API отключено. Чтобы включить ведение журнала аудита для Google Cloud Search:

  1. (необязательно) Если вы еще не создали проект Google Cloud Platform для хранения журналов, см. раздел Настройка доступа к API Google Cloud Search .

  2. Получите идентификатор проекта для облака Google, в котором вы хотите хранить журналы. Чтобы узнать, как получить идентификатор проекта, обратитесь к разделу Идентификация проектов .

  3. Чтобы включить ведение журнала аудита для определенного API, вам необходимо определить категорию журнала, которую нужно включить. Сведения об API и соответствующих им категориях см. в разделе Проверяемые операции ранее в этом документе.

  4. Используйте метод REST API updateCustomer() , чтобы обновить в AuditLogSettings категории журналов, чтобы включить:

    1. Получите токен доступа OAuth 2.0 с сервера авторизации Google. Информацию о получении токена см. в шаге 2 статьи «Использование OAuth 2.0 для доступа к API Google» . При получении токена доступа используйте одну из следующих областей OAuth:

      • https://www.googleapis.com/auth/cloud_search.settings.indexing
      • https://www.googleapis.com/auth/cloud_search.settings
      • https://www.googleapis.com/auth/cloud_search
    2. Выполните следующую команду Curl.

    curl --request PATCH \
    'https://cloudsearch.googleapis.com/v1/settings/customer?updateMask=auditLoggingSettings&key=[YOUR_API_KEY]' \
    --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
    --header 'Content-Type: application/json' \
    --data '{"auditLoggingSettings": { "project": "projects/PROJECT_ID", "CATEGORY1": "true", "CATEGORY2": "true" } }'
    

    Где:

    • YOUR_ACCESS_TOKEN — это токен доступа OAuth 2.0, полученный на шаге 4a.
    • PROJECT_ID — это идентификатор проекта, полученный на шаге 2.
    • CATEGORY1 , CATEGORY2 , — это категории, которые вы выбрали для включения на шаге 3. Допустимые значения: logAdminReadActions , logDataWriteActions и logDataReadActions . Действия администратора по записи включены по умолчанию и не могут быть отключены. Если вы хотите вести журнал аудита для методов запроса, необходимо включить категорию «Чтение данных».

    После обновления AuditLoggingSettings дальнейшие запросы к API Cloud Search создают журнал аудита с идентификатором проекта, указанным в AuditLoggingSettings .

  5. Для ведения журнала аудита для методов запроса необходимо включить категорию «Чтение данных» (выполняется на шаге 4). Чтобы включить ведение журнала аудита для методов запроса ( query.sources.list , query.suggest и query.search ), выполните следующие дополнительные шаги:

    1. Для каждого приложения поиска, для которого вы хотите включить ведение журнала аудита, получите имя. Имя должно быть в форме searchapplications/<search_application_id> .

    2. Используйте это имя для вызова settings.searchapplications.update с enableAuditLog установленным в true .

  6. Чтобы включить ведение журнала аудита для вызовов с cloudsearch.google.com , убедитесь, что включена категория «Чтение данных» (шаг 4). Кроме того, выполните шаг 5b с name searchapplications/default .

После включения журналы можно будет просмотреть в разделе «Обозреватель журналов» Google Cloud Console. Используйте следующий фильтр, чтобы просмотреть только журналы аудита Cloud Search:

protoPayload.serviceName="cloudsearch.googleapis.com"

Информацию о том, как просматривать журналы, см. в разделе Обзор обозревателя журналов .

Разрешения журнала аудита

Разрешения и роли управления идентификацией и доступом определяют, какие журналы аудита вы можете просматривать или экспортировать. Журналы хранятся в облачных проектах и ​​в некоторых других объектах, включая организации, папки и платежные учетные записи Cloud. Дополнительные сведения см. в разделе Понимание ролей .

Чтобы просмотреть журналы аудита активности администратора, у вас должна быть одна из следующих ролей IAM в проекте, который содержит ваши журналы аудита:

Для просмотра журналов аудита доступа к данным у вас должна быть одна из следующих ролей в проекте, который содержит ваши журналы аудита:

Если вы используете журналы аудита из объекта, не связанного с проектом, например организации, измените роли облачного проекта на подходящие роли организации.

Просмотр журналов

Чтобы найти и просмотреть журналы аудита, вам необходимо знать идентификатор облачного проекта, папки или организации, для которых вы хотите просмотреть информацию журналов аудита. Вы также можете указать другие индексированные поля LogEntry , например resources.type; Подробности см. в разделе Построение запросов в обозревателе журналов .

Ниже приведены имена журналов аудита; они включают переменные для идентификаторов облачного проекта, папки или организации:

   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fpolicy

   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Factivity
   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fpolicy

   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity
   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fpolicy

У вас есть несколько вариантов просмотра записей журнала аудита.

Консоль

Вы можете использовать обозреватель журналов в Cloud Console для получения записей журнала аудита для вашего облачного проекта:

  1. В Cloud Console перейдите на страницу Ведение журнала > Обозреватель журналов .

    Перейдите на страницу обозревателя журналов.

  2. На странице обозревателя журналов выберите существующий облачный проект.

  3. На панели «Конструктор запросов» выполните следующие действия:

    • В разделе Ресурс выберите тип ресурса Google Cloud, журналы аудита которого вы хотите просмотреть.

    • В поле «Имя журнала » выберите тип журнала аудита, который вы хотите видеть:

      • Для журналов аудита активности администратора выберите активность .
      • Для журналов аудита доступа к данным выберите data_access .
      • Для журналов аудита системных событий выберите system_event .
      • Для журналов аудита «Отказано в политике» выберите политику .

    Если вы не видите эти параметры, значит, в облачном проекте нет журналов аудита этого типа.

    Дополнительные сведения о запросах с помощью нового обозревателя журналов см. в разделе Создание запросов в обозревателе журналов .

gcloud

Gcloud предоставляет интерфейс командной строки для API ведения журналов. Укажите действительный PROJECT_ID , FOLDER_ID или ORGANIZATION_ID в каждом имени журнала.

Чтобы прочитать записи журнала аудита на уровне проекта Google Cloud, выполните следующую команду:

gcloud logging read "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" \
    --project=PROJECT_ID

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

gcloud logging read "logName : folders/FOLDER_ID/logs/cloudaudit.googleapis.com" \
    --folder=FOLDER_ID

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

gcloud logging read "logName : organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com" \
    --organization=ORGANIZATION_ID

Дополнительную информацию об использовании инструмента gcloud см. в gcloud logging read .

API

При построении запросов замените переменные допустимыми значениями, замените соответствующие имена или идентификаторы журнала аудита на уровне проекта, папки или организации, указанные в именах журналов аудита. Например, если ваш запрос включает PROJECT_ID , то идентификатор проекта, который вы указываете, должен относиться к выбранному в данный момент проекту Cloud.

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

  1. Перейдите в раздел «Попробуйте этот API» в документации по методу entries.list .

  2. Вставьте следующее в часть тела запроса формы «Попробуйте этот API» . Нажатие на эту предварительно заполненную форму автоматически заполняет тело запроса, но вам необходимо указать действительный PROJECT_ID в каждом имени журнала.

    {
      "resourceNames": [
        "projects/PROJECT_ID"
      ],
      "pageSize": 5,
      "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com"
    }
    
  3. Нажмите «Выполнить» .

Дополнительные сведения о запросах см. в разделе Язык запросов ведения журнала .

Пример записи журнала аудита и способы поиска в нем наиболее важной информации см. в разделе Общие сведения о журналах аудита .

Экспорт журналов аудита

Журналы аудита можно экспортировать так же, как и другие виды журналов. Подробную информацию об экспорте журналов см. в разделе Экспорт журналов . Вот некоторые приложения экспорта журналов аудита:

  • Чтобы хранить журналы аудита в течение более длительного периода времени или использовать более мощные возможности поиска, вы можете экспортировать копии журналов аудита в Cloud Storage, BigQuery или Pub/Sub. Используя Pub/Sub, вы можете экспортировать в другие приложения, другие репозитории и третьим лицам.

  • Чтобы управлять журналами аудита во всей организации, вы можете создать агрегированные приемники , которые смогут экспортировать журналы из любого или всех облачных проектов в организации.

  • Если включенные журналы аудита доступа к данным вытесняют ваши облачные проекты за пределы выделенных им журналов, вы можете экспортировать и исключить журналы аудита доступа к данным из журнала. Подробности см. в разделе Исключение журналов .

Цены и удержание

Cloud Logging не взимает плату за журналы аудита, которые невозможно отключить, включая все журналы аудита действий администратора. Cloud Logging взимает плату за журналы аудита доступа к данным, которые вы явно запрашиваете.

Дополнительную информацию о ценах на журналы аудита см. в разделе цены на операционный пакет Google Cloud .

Продолжительность хранения журналов аудита Cloud Search составляет:

  • Журналы активности администратора (или записи администратора). Эти журналы хранятся в течение 400 дней.
  • Журналы доступа к данным (административное чтение, запись данных и чтение данных). Эти журналы хранятся в течение 30 дней.

Дополнительные сведения о продолжительности хранения см. в разделе Периоды хранения журналов .

Текущие ограничения

Ведение журнала аудита Cloud Search имеет следующие ограничения:

  • Размер записи журнала должен быть меньше 512 КБ. Если размер превышает 512 КБ, ответ удаляется из записи журнала. Если это не уменьшит размер до 512 КБ или меньше, запрос отбрасывается. Наконец, если размер по-прежнему превышает 512 КБ, запись журнала удаляется.

  • Тела ответов не регистрируются для методов list() , get() и suggest() . Однако статусы ответов доступны.

  • Регистрируются только вызовы API запросов от cloudsearch.google.com (если включено) и приложений поиска клиентов.

  • Для вызовов search() в запросе регистрируются только Query , RequestOptions и DataSourceRestriction . В ответе проверяются только URL-адрес и метаданные (source и objectType ) для каждого SearchResult .

  • Вызовы, отправленные в серверную часть Cloud Search и соответствующие экспорту данных, не проверяются.