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

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

Обзор

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

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

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

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

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
indexing.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
операции.получить
операции.список
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 applications.get
debug.identitysources.items.listForunmappedidentity
debug.identitysources.unmappedids.list
debug.datasources.items.unmappedids.list
query.sources.list
запрос.предложить
запрос.поиск
stats.getSearchapplication

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

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

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

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

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

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

Имя журнала

Имена ресурсов журналов аудита Cloud указывают на проект Cloud или другую сущность 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 Cloud, где вы хотите хранить журналы. Чтобы узнать, как получить идентификатор проекта, см. раздел «Идентификация проектов» .

  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, полученный на шаге 4а.
    • PROJECT_ID — идентификатор проекта, полученный на шаге 2.
    • CATEGORY1 , CATEGORY2 , — категории, которые вы выбрали для включения на шаге 3. Допустимые значения: logAdminReadActions , logDataWriteActions и logDataReadActions . Действия администратора по записи включены по умолчанию и не могут быть отключены. Чтобы вести журнал аудита для методов запросов, необходимо включить категорию «Чтение данных».

    После обновления AuditLoggingSettings дальнейшие запросы к Cloud Search API генерируют журнал аудита в идентификаторе проекта, указанном в 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. Используйте следующий фильтр, чтобы просматривать только журналы аудита Cloud Search:

protoPayload.serviceName="cloudsearch.googleapis.com"

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

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

Разрешения и роли управления удостоверениями и доступом определяют, какие журналы аудита вы можете просматривать или экспортировать. Журналы хранятся в облачных проектах и некоторых других сущностях, включая организации, папки и учетные записи Cloud Billing. Подробнее см. в разделе «Основные роли» .

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

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

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

Просмотреть журналы

Для поиска и просмотра журналов аудита вам необходимо знать идентификатор облачного проекта, папки или организации, для которых вы хотите просмотреть информацию журнала аудита. Вы можете указать другие индексируемые поля LogEntry , например, resource.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

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

Консоль

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

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

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

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

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

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

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

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

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

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

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 , то указанный вами идентификатор проекта должен относиться к текущему выбранному облачному проекту.

Чтобы использовать 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 и соответствующие экспорту данных, не проверяются.