Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • AI Studio
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Object Storage
    • Все инструкции
      • Создание бакета
      • Удаление бакета
      • Ограничение максимального размера бакета
      • Шифрование бакета
      • Управление жизненными циклами объектов
      • Управление конфигурацией CORS
      • Настройка прав доступа с помощью IAM
      • Редактирование ACL бакета
      • Управление политикой доступа
      • Настройка публичного доступа к бакету
      • Доступ в бакет с помощью Security Token Service
      • Доступ в бакет с помощью сервисного подключения из VPC
      • Управление версионированием бакета
      • Включение механизма логирования
      • Управление блокировками версий объектов
      • Управление метками бакета
      • Получение информации и статистики о бакете
      • Просмотр метрик бакета
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Логи бакета
  • История изменений
  • Вопросы и ответы
  • Обучающие курсы

В этой статье:

  • Включите механизм логирования
  • Получите настройки логирования
  • Получите логи
  • Выключить механизм логирования
  1. Пошаговые инструкции
  2. Бакеты
  3. Включение механизма логирования

Работа с механизмом логирования действий с бакетом

Статья создана
Yandex Cloud
Улучшена
Обновлена 24 апреля 2025 г.
  • Включите механизм логирования
  • Получите настройки логирования
  • Получите логи
  • Выключить механизм логирования

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

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

Object Storage не гарантирует полноту и своевременность записи логов.

По умолчанию механизм логирования отключен. После его включения, Object Storage будет записывать информацию о действиях с бакетом раз в час.

Включите механизм логированияВключите механизм логирования

Чтобы логировать обращения к бакету:

  1. Используйте существующий или создайте новый целевой бакет. В этот бакет будут записываться логи.

    Как создать бакет

    Чтобы создать бакет, у вас должна быть минимальная роль storage.editor на каталог.

    Консоль управления
    Yandex Cloud CLI
    AWS CLI
    Terraform
    API
    1. В консоли управления выберите каталог, в котором хотите создать бакет.

    2. Выберите сервис Object Storage.

    3. На панели сверху нажмите Создать бакет.

    4. На странице создания бакета:

      1. Введите имя бакета в соответствии с правилами именования.

        По умолчанию бакет с точкой в имени доступен только по протоколу HTTP. Чтобы поддержать для бакета протокол HTTPS, загрузите собственный сертификат безопасности в Object Storage.

      2. При необходимости добавьте метки:

        1. Нажмите Добавить метку.
        2. Введите метку в формате ключ: значение.
        3. Нажмите Enter.
      3. При необходимости ограничьте максимальный размер бакета.

        Размер 0 означает отсутствие ограничений и аналогичен включенной опции Без ограничения.

      4. Задайте параметры публичного доступа на чтение объектов в бакете, получение списка объектов и чтение настроек бакета:

        • Ограниченный — доступ только для авторизованных пользователей Yandex Cloud.
        • Публичный — доступ для любых пользователей.

        Важно

        Публичный доступ предоставляется неограниченному кругу анонимных пользователей. Используйте его только в случае, когда нет возможности применить другие механизмы предоставления доступа.

      5. Выберите класс хранилища по умолчанию:

        • Стандартное
        • Холодное
        • Ледяное

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

      6. При необходимости включите шифрование: в поле Ключ KMS выберите симметричный ключ или создайте новый.

      7. Нажмите Создать бакет для завершения операции.

    Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

    По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

    1. Посмотрите описание команды CLI для создания бакета:

      yc storage bucket create --help
      
    2. Создайте бакет в каталоге по умолчанию:

      yc storage bucket create --name <имя_бакета>
      

      Где --name — имя бакета. Обязательный параметр. Подробнее см. Правила именования бакетов.

      По умолчанию бакет с точкой в имени доступен только по протоколу HTTP. Чтобы поддержать для бакета протокол HTTPS, загрузите собственный сертификат безопасности в Object Storage.

      Результат:

      name: example
      folder_id: b1gmit33ngp6********
      anonymous_access_flags:
      read: false
      list: false
      default_storage_class: STANDARD
      versioning: VERSIONING_DISABLED
      max_size: "53687091200"
      acl: {}
      created_at: "2022-12-16T14:05:12.196007Z"
      
      Опциональные параметры
      • --default-storage-class — класс хранилища. Доступные значения:
      • standard — стандартное хранилище. Устанавливается по умолчанию.
      • cold — холодное хранилище.
      • ice — ледяное хранилище.

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

      • --max-size — максимальный размер бакета в байтах. Значение по умолчанию — 0 (без ограничений).
      • Параметры для включения публичного доступа к бакету:
      • --public-read — включить публичный доступ на чтение объектов в бакете.
      • --public-list — включить публичный доступ на просмотр списка объектов в бакете.
      • --public-config-read — включить публичный доступ на чтение настроек в бакете.

      По умолчанию публичный доступ к бакету выключен.

      Важно

      Публичный доступ предоставляется неограниченному кругу анонимных пользователей. Используйте его только в случае, когда нет возможности применить другие механизмы предоставления доступа.

      • Параметры для настройки ACL бакета:

      • --acl — предопределенный ACL. Список возможных значений см. в разделе Предопределенные ACL. Нельзя использовать одновременно с параметром --grants.

      • --grants — настройки разрешений для отдельных пользователей, сервисных аккаунтов, групп пользователей и публичных групп (группа всех пользователей интернета, группа всех аутентифицированных пользователей Yandex Cloud). Нельзя использовать одновременно с параметром --acl. Значение параметра указывается в формате: grant-type=<тип_получателя_разрешения>,grantee-id=<идентификатор_получателя>,permission=<тип_разрешения>, где:

        • grant-type — тип получателя разрешения. Возможные значения:
        • grant-type-account — пользователь, сервисный аккаунт или группа пользователей;
        • grant-type-all-authenticated-users — публичная группа всех аутентифицированных пользователей Yandex Cloud;
        • grant-type-all-users — публичная группа всех пользователей интернета.
        • grantee-id — идентификатор пользователя, сервисного аккаунта или группы пользователей, которым нужно дать разрешение. Указывается, только если grant-type=grant-type-account.
        • permission — тип разрешения ACL. Возможные значения: permission-full-control, permission-write, permission-read. Подробнее о разрешениях см. в разделе Виды разрешений.

        Чтобы настроить несколько разрешений, укажите параметр --grants несколько раз.

      По умолчанию для каждого нового бакета создается пустой ACL.

      Подробнее о команде yc storage bucket create см. в Справочнике YC CLI.

    Если у вас еще нет интерфейса командной строки AWS CLI, установите и сконфигурируйте его.

    Чтобы создать бакет, назначьте сервисному аккаунту, через который работает AWS CLI, роль storage.editor.

    В терминале выполните команду:

    aws s3api create-bucket \
      --endpoint-url=https://storage.yandexcloud.net \
      --bucket <имя_бакета>
    

    Где:

    • --endpoint-url — эндпоинт Object Storage.
    • --bucket — имя бакета.

    Примечание

    По умолчанию бакет с точкой в имени доступен только по протоколу HTTP. Чтобы поддержать для бакета протокол HTTPS, загрузите собственный сертификат безопасности в Object Storage. Подробнее см. Правила именования бакетов.

    Результат:

    {
      "Location": "/<имя_бакета>"
    }
    

    Будет создан бакет со следующими параметрами:

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

    Вы можете применить к бакету предопределенный ACL или настроить разрешения для отдельных пользователей, сервисных аккаунтов, групп пользователей и публичных групп (группа всех пользователей интернета, группа всех аутентифицированных пользователей Yandex Cloud). Эти настройки несовместимы: у бакета должен быть либо предопределенный ACL, либо набор отдельных разрешений.

    Примечание

    Чтобы управлять настройками ACL бакета, назначьте сервисному аккаунту, через который работает AWS CLI, роль storage.admin.

    Предопределенный ACL

    aws s3api create-bucket \
      --endpoint-url=https://storage.yandexcloud.net \
      --bucket <имя_бакета> \
      --acl <предопределенный_ACL>
    

    Где --acl — предопределенный ACL. Список значений см. в разделе Предопределенные ACL.

    Отдельные разрешения

    aws s3api create-bucket \
      --endpoint-url=https://storage.yandexcloud.net \
      --bucket <имя_бакета> \
      <тип_разрешения> <получатель_разрешения>
    

    Где:

    • Возможные типы разрешений ACL:

      • --grant-read — доступ к списку объектов в бакете, чтению различных настроек бакета (жизненный цикл, CORS, статический хостинг), чтению всех объектов в бакете.
      • --grant-write — доступ к записи, перезаписи и удалению объектов в бакете. Используется только совместно с --grant-read.
      • --grant-full-control — полный доступ к бакету и объектам в нем.

      Вы можете задать несколько разрешений в одной команде.

    • Возможные получатели разрешений:

      • id=<идентификатор_получателя> — идентификатор пользователя, сервисного аккаунта или группы пользователей, которым нужно дать разрешение.
      • uri=http://acs.amazonaws.com/groups/global/AuthenticatedUsers — публичная группа всех аутентифицированных пользователей Yandex Cloud.
      • uri=http://acs.amazonaws.com/groups/global/AllUsers — публичная группа всех пользователей интернета.

    По умолчанию для каждого нового бакета создается пустой ACL.

    Подробнее о команде aws s3api create-bucket см. в документации AWS.

    Примечание

    Terraform взаимодействует с Object Storage от имени сервисного аккаунта. Назначьте сервисному аккаунту нужную роль, например storage.admin, на каталог, в котором будут создаваться ресурсы.

    Terraform позволяет быстро создать облачную инфраструктуру в Yandex Cloud и управлять ею с помощью файлов конфигураций. В файлах конфигураций хранится описание инфраструктуры на языке HCL (HashiCorp Configuration Language). При изменении файлов конфигураций Terraform автоматически определяет, какая часть вашей конфигурации уже развернута, что следует добавить или удалить.

    Terraform распространяется под лицензией Business Source License, а провайдер Yandex Cloud для Terraform — под лицензией MPL-2.0.

    Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform или в зеркале.

    Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.

    По умолчанию для аутентификации в Object Storage Terraform использует IAM-токен. Кроме IAM-токена для аутентификации в Object Storage можно использовать сервисный аккаунт и статические ключи доступа. Более подробную информацию об особенностях аутентификации Terraform в в Object Storage, см. в документации провайдера.

    Создание бакета с использованием IAM-токена

    1. Получите данные для аутентификации и добавьте их в переменные окружения.

    2. Опишите в конфигурационном файле параметры ресурсов, которые необходимо создать:

      # Создание бакета с использованием IAM-токена
      
      resource "yandex_storage_bucket" "iam-bucket" {
        bucket    = "<имя_бакета>"
        folder_id = "<идентификатор_каталога>"
      }
      

      Где:

      • bucket — имя бакета. Обязательный параметр.

        По умолчанию бакет с точкой в имени доступен только по протоколу HTTP. Чтобы поддержать для бакета протокол HTTPS, загрузите собственный сертификат безопасности в Object Storage.

      • folder_id — идентификатор каталога

        Если вы используете IAM-токен учетной записи пользователя, то в ресурсе yandex_storage_bucket необходимо указывать идентификатор каталога folder_id.

        В случае использования IAM-токена сервисного аккаунта или статических ключей доступа, folder_id указывать необязательно — он потребуется только если вы хотите создать ресурс в каталоге, отличном от каталога сервисного аккаунта.

      Более подробную информацию о параметрах ресурса yandex_storage_bucket в Terraform, см. в документации провайдера.

    3. Создайте ресурсы:

      1. В терминале перейдите в папку, где вы отредактировали конфигурационный файл.

      2. Проверьте корректность конфигурационного файла с помощью команды:

        terraform validate
        

        Если конфигурация является корректной, появится сообщение:

        Success! The configuration is valid.
        
      3. Выполните команду:

        terraform plan
        

        В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.

      4. Примените изменения конфигурации:

        terraform apply
        
      5. Подтвердите изменения: введите в терминале слово yes и нажмите Enter.

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

    Создание бакета с использованием статического ключа

    1. Опишите в конфигурационном файле параметры ресурсов, которые необходимо создать:

      Создание бакета с использованием ключа
      terraform {
        required_providers {
          yandex = {
            source = "yandex-cloud/yandex"
          }
        }
        required_version = ">= 0.13"
      }
      
      # Настройка провайдера
      
      provider "yandex" {
        token     = "<IAM-_или_OAuth-токен>"
        cloud_id  = "<идентификатор_облака>"
        folder_id = "<идентификатор_каталога>"
        zone      = "ru-central1-a"
      }
      
      # Создание сервисного аккаунта
      
      resource "yandex_iam_service_account" "sa" {
        name = "<имя_сервисного_аккаунта>"
      }
      
      # Назначение роли сервисному аккаунту
      
      resource "yandex_resourcemanager_folder_iam_member" "sa-admin" {
        folder_id = "<идентификатор_каталога>"
        role      = "storage.admin"
        member    = "serviceAccount:${yandex_iam_service_account.sa.id}"
      }
      
      # Создание статического ключа доступа
      
      resource "yandex_iam_service_account_static_access_key" "sa-static-key" {
        service_account_id = yandex_iam_service_account.sa.id
        description        = "static access key for object storage"
      }
      
      # Создание бакета с использованием статического ключа
      
      resource "yandex_storage_bucket" "test" {
        access_key            = yandex_iam_service_account_static_access_key.sa-static-key.access_key
        secret_key            = yandex_iam_service_account_static_access_key.sa-static-key.secret_key
        bucket                = "<имя_бакета>"
        max_size              = <максимальный_размер_бакета>
        default_storage_class = "<класс_хранилища>"
        anonymous_access_flags {
          read        = <true|false>
          list        = <true|false>
          config_read = <true|false>
        }
        tags = {
          <ключ_1> = "<значение_1>"
          <ключ_2> = "<значение_2>"
          ...
          <ключ_n> = "<значение_n>"
        }
      }
      

      Где:

      • yandex_iam_service_account — описание сервисного аккаунта, который создаст бакет и будет работать с ним:

        • name — имя сервисного аккаунта. Обязательный параметр.

        • bucket — имя бакета.

          По умолчанию бакет с точкой в имени доступен только по протоколу HTTP. Чтобы поддержать для бакета протокол HTTPS, загрузите собственный сертификат безопасности в Object Storage.

        • max_size — максимальный размер бакета в байтах. Значение по умолчанию — 0, без ограничений.

        • default_storage_class — класс хранилища. Доступные значения:

          • standard — стандартное хранилище. Значение по умолчанию.
          • cold — холодное хранилище.
          • ice — ледяное хранилище.

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

        • anonymous_access_flags — настройки доступа:

          • read — публичный доступ на чтение объектов в бакете.
          • list — публичный доступ на просмотр списка объектов в бакете.
          • config_read — публичный доступ на чтение настроек в бакете. По умолчанию выключен.
        • tags — метки бакета в формате ключ = "значение".

      Более подробную информацию о параметрах ресурса yandex_storage_bucket в Terraform, см. в документации провайдера.

    2. Создайте ресурсы:

      1. В терминале перейдите в папку, где вы отредактировали конфигурационный файл.

      2. Проверьте корректность конфигурационного файла с помощью команды:

        terraform validate
        

        Если конфигурация является корректной, появится сообщение:

        Success! The configuration is valid.
        
      3. Выполните команду:

        terraform plan
        

        В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.

      4. Примените изменения конфигурации:

        terraform apply
        
      5. Подтвердите изменения: введите в терминале слово yes и нажмите Enter.

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

    Чтобы создать бакет, воспользуйтесь методом REST API create для ресурса Bucket, вызовом gRPC API BucketService/Create или методом S3 API create.

    Примечание

    Чтобы записывать логи в целевой бакет, для которого настроена политика доступа, добавьте в нее правило, разрешающее всем учетным записям выполнять действие PutObject, а в качестве ресурса укажите префикс ключа для объектов с логами, например logs/.

  2. Включите механизм логирования в исходном бакете, который вы хотите отслеживать.

    Консоль управления
    AWS CLI
    Terraform
    API
    1. В консоли управления в списке сервисов выберите Object Storage и перейдите в бакет, для которого хотите настроить логирование.
    2. На панели слева выберите Настройки.
    3. Выберите вкладку Логирование.
    4. Включите опцию Запись логов.
    5. Выберите Бакет для хранения логов.
    6. В поле Префикс укажите префикс, с которым будут сохраняться логи.
    7. Нажмите Сохранить.

    Чтобы включить логирование с помощью AWS CLI:

    1. Создайте файл с настройками логирования в формате JSON. Например:

      {
         "LoggingEnabled": {
            "TargetBucket": "<имя_целевого_бакета>",
            "TargetPrefix": "<префикс_ключа>"
         }
      }
      

      Где:

      • TargetBucket — имя целевого бакета, в который будут записываться логи.
      • TargetPrefix — префикс ключа для объектов с логами, например, logs/.
    2. Включите логирование в бакете:

      aws s3api put-bucket-logging \
        --bucket <имя_исходного_бакета> \
        --endpoint-url https://storage.yandexcloud.net \
        --bucket-logging-status file://<путь_к_файлу_настроек>
      

      Где:

      • --bucket — имя исходного бакета, для которого нужно включить логирование действий.
      • --bucket-logging-status — путь к файлу с настройками логирования.

    Примечание

    Terraform взаимодействует с Object Storage от имени сервисного аккаунта. Назначьте сервисному аккаунту нужную роль, например storage.admin, на каталог, в котором будут создаваться ресурсы.

    Terraform позволяет быстро создать облачную инфраструктуру в Yandex Cloud и управлять ею с помощью файлов конфигураций. В файлах конфигураций хранится описание инфраструктуры на языке HCL (HashiCorp Configuration Language). При изменении файлов конфигураций Terraform автоматически определяет, какая часть вашей конфигурации уже развернута, что следует добавить или удалить.

    Terraform распространяется под лицензией Business Source License, а провайдер Yandex Cloud для Terraform — под лицензией MPL-2.0.

    Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform или в зеркале.

    Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.

    Чтобы включить механизм логирования в бакете, который вы хотите отслеживать:

    1. Откройте файл конфигурации Terraform и добавьте блок logging во фрагмент с описанием бакета.

      resource "yandex_storage_bucket" "log_bucket" {
        access_key = "<идентификатор_статического_ключа>"
        secret_key = "<секретный_ключ>"
        bucket     = "<имя_бакета_для_хранения_логов>"
      }
      
      resource "yandex_storage_bucket" "bucket" {
        access_key = "<идентификатор_статического_ключа>"
        secret_key = "<секретный_ключ>"
        bucket     = "<имя_исходного_бакета>"
        acl        = "private"
      
        logging {
          target_bucket = yandex_storage_bucket.log_bucket.id
          target_prefix = "log/"
        }
      }
      

      Где:

      • access_key — идентификатор статического ключа доступа.

        Примечание

        Кроме статических ключей доступа для аутентификации в Object Storage можно использовать IAM-токен. Подробнее смотрите в разделе Создание бакета и в документации провайдера.

      • secret_key — значение секретного ключа доступа.

      • target_bucket — указание на бакет для хранения логов.

      • target_prefix — префикс ключа для объектов с логами, например logs/.

      Более подробную информацию о параметрах ресурса yandex_storage_bucket в Terraform см. в документации провайдера.

      1. В терминале перейдите в папку, где вы отредактировали конфигурационный файл.

      2. Проверьте корректность конфигурационного файла с помощью команды:

        terraform validate
        

        Если конфигурация является корректной, появится сообщение:

        Success! The configuration is valid.
        
      3. Выполните команду:

        terraform plan
        

        В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.

      4. Примените изменения конфигурации:

        terraform apply
        
      5. Подтвердите изменения: введите в терминале слово yes и нажмите Enter.

      После этого в указанном каталоге будут созданы все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления.

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

    Пример тела HTTP-запроса:

    <BucketLoggingStatus xmlns="http://doc.s3.amazonaws.com/2006-03-01">
      <LoggingEnabled>
        <TargetBucket>имя целевого бакета</TargetBucket>
        <TargetPrefix>префикс ключа</TargetPrefix>
      </LoggingEnabled>
    </BucketLoggingStatus>
    

    Где:

    • TargetBucket – имя целевого бакета;
    • TargetPrefix – префикс ключа для объектов с логами, например logs/.

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

Получите настройки логированияПолучите настройки логирования

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

Консоль управления
AWS CLI
Terraform
API
  1. В консоли управления в списке сервисов выберите Object Storage и перейдите в исходный бакет.
  2. На панели слева выберите Настройки.
  3. Выберите вкладку Логирование
  4. В списке Бакет для хранения логов содержится имя целевого бакета.
  5. В поле Префикс содержится префикс, с которым сохраняются логи.

Чтобы получить настройки логирования с помощью AWS CLI:

Выполните команду:

aws s3api get-bucket-logging \
  --bucket <имя_бакета> \
  --output json \
  --endpoint-url https://storage.yandexcloud.net

Результат:

{
    "LoggingEnabled": {
      "TargetBucket": "<имя_бакета>",
      "TargetPrefix": "<префикс_ключа>"
    }
}

Чтобы получить настройки логирования в бакете, который вы хотите отслеживать:

  1. Откройте файл конфигурации Terraform и найдите блок logging в фрагменте с описанием бакета.

    resource "yandex_storage_bucket" "log_bucket" {
      access_key = "<идентификатор_статического_ключа>"
      secret_key = "<секретный_ключ>"
      bucket     = "<имя_бакета_для_хранения_логов>"
    }
    
    resource "yandex_storage_bucket" "bucket" {
      access_key = "<идентификатор_статического_ключа>"
      secret_key = "<секретный_ключ>"
      bucket     = "<имя_исходного_бакета>"
      acl        = "private"
    
      logging {
        target_bucket = yandex_storage_bucket.log_bucket.id
        target_prefix = "log/"
      }
    }
    

    Где:

    • access_key — идентификатор статического ключа доступа.
    • secret_key — значение секретного ключа доступа.
    • target_bucket — указание на бакет для хранения логов.
    • target_prefix — префикс ключа для объектов с логами, например logs/.

    Более подробную информацию о параметрах ресурса yandex_storage_bucket в Terraform см. в документации провайдера.

Воспользуйтесь методом S3 API getBucketLogging.

Пример тела HTTP-ответа:

HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<BucketLoggingStatus>
   <LoggingEnabled>
      <TargetBucket>имя целевого бакета</TargetBucket>
      <TargetPrefix>logs/</TargetPrefix>
   </LoggingEnabled>
</BucketLoggingStatus>

Получите логиПолучите логи

Чтобы получить логи, скачайте из целевого бакета объект с префиксом logs/:

Консоль управления
AWS CLI
API
  1. В консоли управления в списке сервисов выберите Object Storage.
  2. Выберите целевой бакет с логами.
  3. Перейдите в папку logs/.
  4. Напротив объекта с логами, который вы хотите скачать, нажмите и выберите Скачать.

Примечание

Также чтобы скачать объекты с помощью графического интерфейса, вы можете использовать инструменты CyberDuck или WinSCP.

Чтобы получить логи с помощью AWS CLI, скачайте объекты с префиксом logs/, следуя инструкции.

Воспользуйтесь методом S3 API get сервиса Object.

Выключить механизм логированияВыключить механизм логирования

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

Консоль управления
AWS CLI
Terraform
API
  1. В консоли управления в списке сервисов выберите Object Storage и перейдите в бакет, для которого хотите выключить логирование.
  2. На панели слева выберите Настройки.
  3. Выберите вкладку Логирование.
  4. Выключите опцию Запись логов.
  5. Нажмите Сохранить.

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

aws s3api put-bucket-logging \
    --bucket <имя_бакета> \
    --endpoint-url https://storage.yandexcloud.net \
    --bucket-logging-status {}

Где --bucket — имя исходного бакета, для которого нужно выключить логирование действий.

Чтобы выключить механизм логирования:

  1. В файле конфигураций Terraform удалите блок logging во фрагменте с описанием бакета.

    Пример описания бакета в конфигурации Terraform
    ...
    resource "yandex_storage_bucket" "log_bucket" {
      access_key = "<идентификатор_статического_ключа>"
      secret_key = "<секретный_ключ>"
      bucket     = "<имя_бакета_для_хранения_логов>"
    }
    
    resource "yandex_storage_bucket" "bucket" {
      access_key = "<идентификатор_статического_ключа>"
      secret_key = "<секретный_ключ>"
      bucket     = "<имя_исходного_бакета>"
      acl        = "private"
    
      logging {
        target_bucket = yandex_storage_bucket.log_bucket.id
        target_prefix = "log/"
      }
    }
    ...
    
  2. Примените изменения в конфигурации:

    1. В терминале перейдите в папку, где вы отредактировали конфигурационный файл.

    2. Проверьте корректность конфигурационного файла с помощью команды:

      terraform validate
      

      Если конфигурация является корректной, появится сообщение:

      Success! The configuration is valid.
      
    3. Выполните команду:

      terraform plan
      

      В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.

    4. Примените изменения конфигурации:

      terraform apply
      
    5. Подтвердите изменения: введите в терминале слово yes и нажмите Enter.

Проверить изменения можно в консоли управления.

Воспользуйтесь методом S3 API putBucketLogging. В теле запроса передайте параметр <BucketLoggingStatus> с пустым значением.

Пример тела HTTP-запроса:

<BucketLoggingStatus xmlns="http://doc.s3.amazonaws.com/2006-03-01" />

Была ли статья полезна?

Предыдущая
Управление версионированием бакета
Следующая
Управление блокировками версий объектов
Проект Яндекса
© 2025 ООО «Яндекс.Облако»