В описании сервиса Object Storage используются следующие основные понятия:
Логическая сущность для организации хранения бакетов.
Логическая сущность для организации хранения объектов. Допускается хранение объектов, имеющих различные классы хранения данных.
Если при загрузке данных в бакет указать нужный класс хранения из числа доступных, то объект будет сохранен с указанным классом хранения.
Object Lock — это механизм блокировки, запрещающий удаление и редактирование версии объекта в версионируемом бакете.
Object Lock поддерживает два способа управления блокировками:
Retention period — временная блокировка объекта.
Legal hold — бессрочная блокировка.
Виды временных блокировок Retention period:
Временная управляемая блокировка (governance-mode retention) — устанавливается до определенной даты и времени. Блокировка может быть снята или сокращена с помощью заголовка X-Amz-Bypass-Governance-Retention. Он также позволяет перезаписать или удалить версию объекта.
Временная строгая блокировка (compliance-mode retention) — устанавливается до определенной даты и времени. Может быть только продлена. Версии объектов не могут быть удалены с помощью заголовка X-Amz-Bypass-Governance-Retention.
Временные и бессрочная блокировка управляются независимо друг от друга. На версию объекта одновременно могут быть установлены одна временная и одна бессрочная блокировка. Поскольку единственным возможным значением для поля ObjectLockEnabled является Enabled, то отключить поддержку блокировок в бакете нельзя. Пока блокировка активна, отключить версионирование бакета нельзя. В таком случае, нужно создать новый бакет с отключенной блокировкой.
Роли пользователей при работе с Object Lock:
Просматривать настройки блокировок с помощью методов GetObjectLockConfiguration, GetObjectLegalHold, GetObjectRetention.
Просматривать заголовки X-Amz-Object-Lock-Mode, X-Amz-Object-Lock-Retain-Until-Date, X-Amz-Object-Lock-Legal-Hold при вызове методов GetObject и HeadObject.
Просматривать настройки блокировок с помощью методов GetObjectLockConfiguration, GetObjectLegalHold, GetObjectRetention.
Устанавливать настройки блокировок при загрузке объектов с помощью заголовков X-Amz-Object-Lock-Mode, X-Amz-Object-Lock-Retain-Until-Date, X-Amz-Object-Lock-Legal-Hold при вызове методов PutObject, CopyObject и CreateMultiPartUpload.
То же, что и роли выше.
Устанавливать настройки блокировок с помощью методов PutObjectLockConfiguration, PutObjectLegalHold, PutObjectRetention.
Подробнее о ролевой модели — в статье «Роли»
Файл с данными в произвольном формате, является основной единицей хранения. Объекты размещаются в бакетах.
Присвоение пары ключ-значение для логической маркировки объекта.
Средство хранения нескольких копий объекта в бакете. Каждая версия является полной копией объекта и занимает соответствующий объем в Object Storage.
Идентификатор объекта в бакете. Ключи можно записать как путь в файловой системе. Ключ состоит из символов формата UTF-8, занимает меньше 1024 байт и не содержит символов : * ? » < > | !.
В структуре хранилища нет папок, но графические файловые менеджеры имитируют папки. В роли папки выступает объект с нулевым размером, ключ которого входит в ключи других объектов как префикс.
С объектом хранятся метаданные в виде пар «имя-значение». Метаданные могут быть системными и пользовательскими.
Способ загрузки больших объектов частями.
Object Storage имеет четыре класса хранения объектов: стандартный, холодный, ледяной и однозонный.
Стандартный класс подходит для хранения данных, к которым нужен частый доступ.
Более холодные классы предназначены для хранения объектов с низкой частотой обращения к ним. Чем холоднее выбранный класс хранения, тем дешевле хранение данных и дороже их чтение и запись.
Стандартный, холодный и ледяной классы хранения подразумевают репликацию хранимых данных во всех дата-центрах, доступных в инфраструктуре Cloud.ru.
Однозонный класс хранения подходит для данных, к которым нужен частый доступ, как при стандартном классе хранения, но при этом не предъявляются требования к столь же высокому уровню их сохранности и доступности. Снижение требований к уровню сохранности и доступности данных обеспечивается за счет отсутствия репликации между несколькими дата-центрами. Хранение данных с однозонным классом дешевле, чем со стандартным.
Класс хранения задается на уровне объекта:
в личном кабинете — при загрузке объекта в файловом менеджере;
в AWS S3 API — в заголовке X-Amz-Storage-Class методов CreateMultipartUpload, PutObject и CopyObject.
В Object Storage можно задать класс хранения по умолчанию для всех объектов бакета. Он позволяет не указывать класс хранения при загрузке каждого объекта, если этого не требуется.
Класс хранения по умолчанию назначается при создании бакета в личном кабинете. Для существующего бакета класс можно изменить — новый класс будет применяться ко всем новым объектам и не изменит класс хранения уже загруженных объектов.
При загрузке данных через API с использованием методов CreateMultipartUpload, PutObject и CopyObject для указания классов хранения используются следующие идентификаторы:
Стандартный класс хранения — STANDARD.
Холодный класс хранения — COLD.
Ледяной класс хранения — ICE.
Однозонный класс хранения — SINGLE.
Жизненный цикл (Lifecycle) объектов автоматизирует процессы управления хранимыми данными с помощью политик для оптимизации затрат на хранение. Политики жизненного цикла автоматически выполняют указанные действия с объектами при наступлении заданных условий.
Метод шифрования данных в Object Storage, при котором пользователь предоставляет собственный ключ для шифрования. Ключ используется только во время обработки запроса и не сохраняется в Object Storage, что обеспечивает высокий уровень контроля и безопасности.
Метод шифрования данных в Object Storage с использованием криптографического ключа, управляемого сервисом Key Management.
Сбор логов и просмотр истории событий, а также экспорт журналов логов во внешнюю клиентскую систему SIEM (разработка находится на стадии Preview).