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
Улучшена
kvendingoldo
Обновлена 6 марта 2025 г.
  • Добавить шифрование бакету
  • Убрать шифрование бакета

Примечание

В регионе Казахстан доступна только зона доступности kz1-a.

В Object Storage есть возможность шифровать объекты в бакете с помощью ключей KMS:

  • Добавьте шифрование бакету, чтобы все новые объекты шифровались указанным ключом.
  • Указывайте ключ шифрования при загрузке объекта через API.

Внимание

Данные в Object Storage шифруются по схеме envelope encryption. Удаление ключа равносильно уничтожению зашифрованных им данных.

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

  • kms.keys.encrypter — для чтения ключа, шифрования и загрузки объектов;
  • kms.keys.decrypter — для чтения ключа, расшифровки и скачивания объектов;
  • kms.keys.encrypterDecrypter — включает разрешения, предоставляемые ролями kms.keys.encrypter и kms.keys.decrypter.

Подробнее см. Сервисные роли Key Management Service.

Добавить шифрование бакетуДобавить шифрование бакету

Консоль управления
Terraform

Чтобы добавить ключ KMS:

  1. В консоли управления в списке сервисов выберите Object Storage и перейдите в бакет, для которого хотите настроить шифрование.

  2. На панели слева выберите Безопасность.

  3. Выберите вкладку Шифрование.

  4. В поле Ключ KMS выберите ключ или создайте новый:

    1. Если в каталоге еще нет ключей, нажмите кнопку Создать ключ. Если ключи есть, но они вам не подходят, нажмите кнопку Создать.
    2. Введите имя ключа.
    3. Выберите алгоритм шифрования и период ротации.
    4. Нажмите Создать.
  5. Нажмите Сохранить.

Примечание

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

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

Перед началом работы получите IAM-токен для сервисного аккаунта и запишите его в файл.

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

    provider "yandex" {
      cloud_id                 = "<идентификатор_облака>"
      folder_id                = "<идентификатор_каталога>"
      zone                     = "kz1-a"
      service_account_key_file = "key.json"
    }
    
    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_kms_symmetric_key" "key-a" {
      name              = "<имя_ключа>"
      description       = "<описание_ключа>"
      default_algorithm = "AES_128"
      rotation_period   = "8760h" // 1 год
    }
    
    resource "yandex_storage_bucket" "test" {
      bucket     = "<имя_бакета>"
      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
      server_side_encryption_configuration {
        rule {
          apply_server_side_encryption_by_default {
            kms_master_key_id = yandex_kms_symmetric_key.key-a.id
            sse_algorithm     = "aws:kms"
          }
        }
      }
    }
    

    Где:

    • service_account_key_file — путь к файлу, содержащему IAM-токен для сервисного аккаунта (или содержимое файла).
    • default_algorithm — алгоритм шифрования, который будет использоваться с новой версией ключа. Новая версия генерируется при следующей ротации ключа. Значение по умолчанию AES_128.
    • rotation_period — период ротации. Чтобы отключить автоматическую ротацию, не указывайте этот параметр.
    • apply_server_side_encryption_by_default — параметры шифрования по умолчанию на стороне сервера:
      • kms_master_key_id — идентификатор мастер ключа KMS, используемый для шифрования.
      • sse_algorithm — используемый алгоритм шифрования на стороне сервера. Поддерживается только значение aws:kms.
  2. Проверьте корректность конфигурационных файлов.

    1. В командной строке перейдите в папку, где вы создали конфигурационный файл.
    2. Выполните проверку с помощью команды:
      terraform plan
      

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

  3. Разверните облачные ресурсы.

    1. Если в конфигурации нет ошибок, выполните команду:
    terraform apply
    
    1. Подтвердите создание ресурсов.

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

Убрать шифрование бакетаУбрать шифрование бакета

Консоль управления
Terraform

Чтобы убрать шифрование, удалите ключ KMS:

  1. В консоли управления в списке сервисов выберите Object Storage и перейдите в бакет, для которого хотите убрать шифрование.
  2. На панели слева выберите Безопасность.
  3. Выберите вкладку Шифрование.
  4. В поле Ключ KMS выберите Не выбрано.
  5. Нажмите Сохранить.

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

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

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

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

Чтобы убрать шифрование бакета, созданного с помощью Terraform:

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

    Пример описания бакета в конфигурации Terraform
    ...
    resource "yandex_storage_bucket" "test" {
      bucket     = "my-bucket"
      access_key = "123JE02jKxusn********"
      secret_key = "ExamP1eSecReTKeykdo********"
      server_side_encryption_configuration { // Этот блок нужно удалить, чтобы отключить шифрование
        rule {
          apply_server_side_encryption_by_default {
            kms_master_key_id = "abjbeb2bgg4l********"
            sse_algorithm     = "aws:kms"
          }
        }
      }
    }
    ...
    
  2. В командной строке перейдите в папку, где расположен файл конфигурации Terraform.

  3. Проверьте конфигурацию командой:

    terraform validate
    

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

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

    terraform plan
    

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

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

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

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

См. такжеСм. также

  • Шифрование в Object Storage

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

Предыдущая
Ограничение максимального размера бакета
Следующая
Управление жизненными циклами объектов
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»