Перечень сокращений#
ACL#
Access Control List, список управления доступом.
API#
Application Programming Interface, набор классов, процедур, функций, структур или констант, которыми одна компьютерная программа может взаимодействовать с другой.
AWS CLI#
AWS Command Line Interface, интерфейс командной строки для работы с сервисами AWS.
Amazon S3#
Amazon Simple Storage Service, облачная система хранения в составе Amazon Web Services, организованная по объектному принципу.
CLI#
Command line interface, способ взаимодействия между человеком и компьютером путём отправки компьютеру команд, представляющих собой последовательность символов.
CyberDuck#
Графический клиент для работы с облачными хранилищами, в том числе совместимыми с Amazon S3 API.
DNS#
Domain Name System, система доменных имён, распределённая по разным странам.
FTP#
File Transfer Protocol, протокол для передачи файлов между клиентом и сервером через интернет или локальную сеть.
FTP-сервер#
Компьютер или файловый сервер, который используется для передачи данных по протоколу FTP.
HTTP#
HyperText Transfer Protocol, протокол передачи информации в интернете.
HTTPS#
HyperText Transfer Protocol Secure, безопасный протокол передачи данных, который поддерживает шифрование посредством криптографических протоколов SSL и TLS и является расширенной версией протокола HTTP.
IP-адрес#
Уникальный адрес, который присваивается устройствам при подключении к интернету или локальной сети.
Mountain Duck#
Программное обеспечение, которое упрощает подключение удалённых (облачных) хранилищ и FTP-серверов в качестве локальных дисков.
REST Amazon S3#
Интерфейс HTTP для работы с сервисом Amazon S3.
S3#
Simple Storage Service, сервис хранения цифровых данных большого объема. Работает по одноименному протоколу S3 и основан на API, разработанном в Amazon Web Services (AWS).
SSL#
Secure Sockets Layer, протокол, который шифрует и защищает данные во время их передачи по интернету.
TLS#
Transport Layer Security, криптографический протокол, который обеспечивает защищённый обмен данными между сервером и клиентом.
ПО#
Программное обеспечение.
Введение#
Режимы работы средства (клиентского ПО)#
Клиентское ПО представляет возможность работы (открытие сеанса работы с Скала^р Спектр S3 (далее — Спектр S3) в двух режимах – режиме пользователя и привилегированного пользователя. Режим пользователя доступен пользователю, которому назначена встроенная роль «Пользователь».
Режим привилегированного пользователя доступен пользователю, которому назначена соответствующая роль в административном интерфейсе: администратор инфраструктуры, аудитор инфраструктуры, администратор тенанта, аудитор тенанта.
Принципы безопасной работы средства (клиентского ПО)#
Безопасная работа клиентского ПО обеспечивается путем реализации ролевого и дискреционного метода управления доступом. Открытие сеанса работы с Спектр S3 предоставляется пользователю со встроенной ролью «Пользователь». (Перечень полномочий субъекта доступа со встроенной ролью «Пользователь» определяется списком управления доступом объекта доступа. Дискреционная модель доступа регламентирована в соответствии с «Скала^р Спектр S3. Формуляр. RU.46968876450001.58.29.12-01 30 0»).
Функции и интерфейсы ПО, доступные встроенной роли «Пользователь»#
Для встроенной роли Пользователь S3 доступен S3 API интерфейс, предназначенный для доступа к Скала^р Спектр S3 (далее – Спектр S3). Спектр S3 обеспечивает идентификацию и аутентификацию пользователей S3, обработку (проверка состава запроса, полномочий) и проксирование запросов пользователей S3 в объектное хранилище, регистрацию запросов (действий) пользователей S3.
В п.2.1 приведён перечень операций и методов REST Amazon S3, которые поддерживаются реализацией протокола Amazon S3 в продукте Спектр S3
Параметры (настройки) безопасности ПО, доступные встроенной роли «Пользователь», и их безопасных значения#
Для встроенной роли «Пользователь» отсутствуют полномочия для определения (настроек) параметров безопасности ПО. Данные настройки доступны только пользователю со встроенными ролями «Администратор инфраструктуры», Администратор «тенанта» и только при использовании административного веб-интерфейса или административного API-интерфейса.
Типы событий безопасности, связанные с доступными пользователю функциями средства (клиентского ПО)#
Спектр S3 обеспечивает сбор, запись и хранение информации о следующих действиях пользователей (событий безопасности):
-
AbortMultipartUpload– прервать многокомпонентную загрузку; -
CompleteMultipartUpload– полная многокомпонентная загрузка; -
CopyObject– создать копии объекта; -
CreateBucket– создать корзину; -
CreateMultipartUpload— многокомпонентная загрузка; -
DeleteBucket— удалить корзину; -
DeleteBucketPolicy— удалить политику корзины; -
DeleteBucketReplication— удалить конфигурации репликации корзины; -
DeleteBucketWebsite— удалить сайт корзины; -
DeleteObject— удалить объект; -
DeleteObjects— удалить объекты; -
GetBucketAcl— получить список управления доступом корзины; -
GetBucketLocation— получить локации корзины; -
GetBucketLogging— получить состояние ведения журнала корзины; -
GetBucketPolicy— получить политику корзины; -
GetBucketReplication— получить конфигурацию репликации корзины; -
GetBucketVersioning— получить состояние управления версиями корзины; -
GetBucketWebsite— получить конфигурацию веб-сайта корзины; -
GetObject— получить объект; -
GetObjectAcl— получить список управления доступом объекта; -
GetObjectLegalHold— получить текущий статус удержания объекта; -
GetObjectLockConfiguration— получить конфигурацию блокировки объектов для корзины; -
GetObjectRetention— получить настройки хранения объекта; -
HeadBucket— определить, существует ли корзина и есть ли полномочие доступа к ней; -
HeadObject— извлечь метаданные из объекта; -
ListBuckets— отобразить список всех корзин; -
ListMultipartUploads— отобразить список выполняемых многокомпонентных загрузок; -
ListObjects— вернуть в ответе некоторые или все (до 1000) объекты в корзине; -
ListObjectsV2— вернуть в ответе некоторые или все (до 1000) объекты в корзине; -
ListObjectVersions— вернуть метаданные обо всех версиях объектов в корзине; -
ListParts— вернуть список частей, которые были загружены для конкретной многокомпонентной загрузки; -
PutBucketAcl— установить разрешения для корзины с помощью списков управления доступом; -
PutBucketLogging— задать параметры ведения журнала для корзины, разрешения для тех, кто может просматривать и изменять параметры ведения журнала; -
PutBucketPolicy— применить политику к корзине; -
PutBucketReplication— создать конфигурацию репликацииили заменить существующую; -
PutBucketVersioning— установить состояние управления версиями существующего хранилища; -
PutBucketWebsite— задать конфигурацию веб-сайта; -
PutObject— добавить объект в корзину; -
PutObjectAcl— установить права доступа к конзине; -
PutObjectLegalHold— применить конфигурацию легального удержания к указанному объекту; -
PutObjectLockConfiguration— применить конфигурацию блокировки объектов к указанной конзине; -
PutObjectRetention— применить конфигурацию хранения объектов на объект; -
PutObjectTagging— присвоить набор тегов объекту, который уже существует в корзине; -
RestoreObject— восстановить архивную копию объекта; -
UploadPart— загрузить часть многокомпонентной загрузки; -
DeleteBucketLifecycle— удалить конфигурацию жизненного цикла из указанной корзины; -
GetBucketLifecycleConfiguration— получить информацию о конфигуарации жизненного цикла; -
PutBucketLifecycleConfiguration— создать новую конфигурацию жизненного цикла или заменить текущую.
Действия после сбоев и ошибок эксплуатации средства (клиентского ПО)#
См. раздел «Действия после сбоев и ошибок эксплуатации клиентского ПО».
Общие сведения по хранилищу#
Поддерживаемые типы хранилищ#
Поставщик услуг может настроить Спектр S3 для хранения ваших данных в типе хранилищ:
- Хранилище объектов S3 для хранения неограниченного количества объектов (файлов).
Доступ к корзинам#
Для доступа к корзинам S3 получите следующие сведения (учетные данные) от системного администратора:
-
IP-адрес пользовательской панели;
-
DNS-имя оконечной точки S3;
-
идентификатор ключа доступа;
-
секретный ключ доступа.
Спектр S3 позволяет получать доступ к данным S3 несколькими способами:
-
через консольную утилиту AWS CLI (в комплект поставки не входит);
-
через стороннее приложение S3, например Cyberduck, Mountain Duck и т. п.
Взаимодействие с хранилищем#
Поддерживаемые методы API в Спектр S3#
Следующие операции и методы REST Amazon S3 поддерживаются реализацией протокола Amazon S3 в продукте Спектр S3:
-
Операции с сервисами:
- GET Service
-
Операции с корзинами:
-
DELETE/HEAD/PUT Bucket;
-
GET Bucket (вывод списка объектов);
-
GET/PUT Bucket acl;
-
GET Bucket location;
-
GET Bucket Object versions;
-
GET/PUT Bucket versioning;
-
GET/PUT Bucket Logging (кроме элемента запроса Target Grants);
-
вывод списка передач по частям.
-
-
Операции с объектами:
-
DELETE/GET/HEAD/POST/PUT Object;
-
удаление нескольких объектов;
-
PUT Object — копия;
-
GET/PUT Object acl;
-
удаление нескольких объектов;
-
прерывание передачи по частям;
-
завершение передачи по частям;
-
инициирование передачи по частям;
-
вывод списка частей;
-
передача части.
-
-
Поддерживаемые методы:
-
AbortMultipartUpload; -
CompleteMultipartUpload; -
CopyObject; -
CreateBucket; -
CreateMultipartUpload; -
DeleteBucket; -
DeleteBucketLifecycleConfiguration; -
DeleteBucketPolicy; -
DeleteBucketReplication; -
DeleteBucketTagging; -
DeleteBucketWebsite; -
DeleteObject; -
DeleteObjects; -
DeleteObjectTagging; -
GetBucketAcl; -
GetBucketLifecycleConfiguration; -
GetBucketLocation; -
GetBucketLogging; -
GetBucketPolicy; -
GetBucketReplication; -
GetBucketTagging; -
GetBucketVersioning; -
GetBucketWebsite; -
GetObject; -
GetObjectAcl; -
GetObjectLegalHold; -
GetObjectLockConfiguration; -
GetObjectRetention; -
GetObjectTagging; -
HeadBucket; -
HeadObject; -
ListBuckets; -
ListMultipartUploads; -
ListObjects; -
ListObjectsV2; -
ListObjectVersions; -
ListParts; -
PutBucketAcl; -
PutBucketLifecycleConfiguration; -
PutBucketLogging; -
PutBucketPolicy; -
PutBucketReplication; -
PutBucketTagging; -
PutBucketVersioning; -
PutBucketWebsite; -
PutObject; -
PutObjectAcl; -
PutObjectLegalHold; -
PutObjectLockConfiguration; -
PutObjectRetention; -
PutObjectTagging; -
UploadPart.
-
Дополнительные сведения об операциях REST Amazon S3 см. в стандарте Amazon Simple Storage Service .
Дополнительные сведения о методах REST Amazon S3 см. в документации по API REST Amazon S3 .
Заголовки запросов S3#
Следующие заголовки запросов REST Amazon S3 в настоящее время поддерживаются реализацией Спектр S3 протокола Amazon S3:
-
Authorization; -
Content-Length; -
Content-Type; -
Content-MD5; -
Date; -
Host; -
x-amz-content-sha256; -
x-amz-date; -
x-amz-security-token; -
x-amz-storage-class; -
x-amz-object-lock-retain-until-date; -
x-amz-object-lock-mode; -
x-amz-object-lock-legal-hold; -
x-amz-bypass-governance-retention; -
x-amz-bucket-object-lock-enabled; -
x-amz-geo-endpoint; -
x-amz-geo-access-key; -
x-amz-geo-access-secret.
Следующие заголовки запросов REST Amazon S3 игнорируются:
-
Expect; -
x-amz-security-token.
Дополнительные сведения о заголовках запросов REST Amazon S3 см. в документации по API REST Amazon S3 .
Поддерживаемые заголовки ответов S3#
Следующие заголовки ответов REST Amazon S3 поддерживаются реализацией Спектр S3 протокола Amazon S3:
-
Content-Length; -
Content-Type; -
Connection; -
Date; -
ETag; -
x-amz-delete-marker; -
x-amz-request-id; -
x-amz-version-id; -
x-amz-object-lock-retain-until-date; -
x-amz-object-lock-mode; -
x-amz-object-lock-legal-hold; -
x-amz-geo-endpoint; -
x-amz-geo-access-key; -
x-amz-geo-access-secret.
Следующие заголовки ответов REST Amazon S3 не используются:
-
Server; -
x-amz-id-2.
Поддерживаемые заголовки ответов об ошибках S3#
Следующие заголовки ответов об ошибках REST Amazon S3 поддерживаются реализацией Спектр S3 протокола Amazon S3:
-
Code; -
Error; -
Сообщение.
Следующие заголовки ответов об ошибках REST Amazon S3 не поддерживаются:
-
RequestId(не используется); -
Ресурс.
Поддерживаемые заголовки ответов об ошибках S3#
Реализация протокола Amazon S3 в Спектр S3 поддерживает следующие схемы проверки подлинности:
-
Signature Version 2 (Подпись версии 2);
-
Signature Version 4 (Подпись версии 4).
Реализация протокола Amazon S3 в Спектр S3 поддерживает следующие методы проверки подлинности:
Следующий способ проверки подлинности не поддерживается:
Функции Amazon S3, поддерживаемые политиками корзин S3#
Реализация политик корзин Amazon S3 в продукте Спектр S3 поддерживает следующие действия S3, ключи условий и операторы условий:
-
s3:AbortMultipartUpload; -
s3:ListMultipartUploadParts; -
s3:DeleteObject; -
s3:DeleteObjectVersion; -
s3:GetObject; -
s3:GetObjectAcl; -
s3:GetObjectVersion; -
s3:GetObjectVersionAcl; -
s3:PutObject; -
s3:PutObjectAcl; -
s3:PutObjectVersionAcl; -
s3:RestoreObject; -
s3:DeleteObjectTagging; -
s3:DeleteObjectVersionTagging; -
s3:GetObjectLegalHold; -
s3:GetObjectRetention; -
s3:GetObjectTagging; -
s3:GetObjectTorrent; -
s3:GetObjectVersionTagging; -
s3:PutObjectLegalHold; -
s3:PutObjectRetention; -
s3:PutObjectTagging; -
s3:PutObjectVersionTagging.
Действия над корзинами:
-
s3:CreateBucket; -
s3:DeleteBucket; -
s3:ListBucket; -
s3:ListBucketMultipartUploads; -
s3:ListBucketVersions.
Действия над подресурсами корзин:
-
s3:DeleteBucketOwnershipControls; -
s3:DeleteBucketPolicy; -
s3:DeleteBucketWebsite; -
s3:GetBucketAcl; -
s3:GetBucketCORS; -
s3:GetBucketLocation; -
s3:GetBucketLogging; -
s3:GetBucketNotification; -
s3:GetBucketObjectLockConfiguration; -
s3:GetBucketOwnershipControls; -
s3:GetBucketPolicy; -
s3:GetBucketPolicyStatus; -
s3:GetBucketRequestPayment; -
s3:GetBucketTagging; -
s3:GetBucketVersioning; -
s3:GetBucketWebsite; -
s3:GetLifecycleConfiguration; -
s3:GetReplicationConfiguration; -
s3:ListAllMyBuckets; -
s3:PutBucketAcl; -
s3:PutBucketCORS; -
s3:PutBucketLogging; -
s3:PutBucketNotification; -
s3:PutBucketObjectLockConfiguration; -
s3:PutBucketOwnershipControls; -
s3:PutBucketPolicy; -
s3:PutBucketRequestPayment; -
s3:PutBucketTagging; -
s3:PutBucketVersioning; -
s3:PutBucketWebsite; -
s3:PutLifecycleConfiguration; -
s3:PutReplicationConfiguration.
Поддерживаемые ключи условий:
-
aws:principaltype; -
aws:securetransport; -
aws:SourceIp; -
aws:userid; -
s3:authType; -
s3:delimiter; -
s3:existingobjecttag/...; -
s3:locationconstraint; -
s3:max-keys; -
s3:prefix; -
s3:requestobjecttag/...; -
s3:signatureAge; -
s3:signatureversion; -
s3:TlsVersion; -
s3:versionid; -
s3:x-amz-acl; -
s3:x-amz-content-sha256; -
s3:x-amz-copy-source; -
s3:x-amz-grant-full-control; -
s3:x-amz-grant-read; -
s3:x-amz-grant-read-acp; -
s3:x-amz-grant-write; -
s3:x-amz-grant-write-acp; -
s3:x-amz-metadata-directive; -
s3:x-amz-storage-class.
Поддерживаемые операторы условий:
-
BinaryEquals; -
Bool; -
DateEquals; -
DateGreaterThan; -
DateGreaterThanEquals; -
DateLessThan; -
DateLessThanEquals; -
DateNotEquals; -
IpAddress; -
NotIpAddress; -
Null; -
NumericEquals; -
NumericGreaterThan; -
NumericGreaterThanEquals; -
NumericLessThan; -
NumericLessThanEquals; -
NumericNotEquals; -
StringEquals; -
StringEqualsIgnoreCase; -
StringLike; -
StringNotEquals; -
StringNotEqualsIgnoreCase; -
StringNotLike.
Доступ к S3 хранилищу с помощью Cyberduck#
Чтобы получить доступ к Спектр S3 с помощью CyberDuck, необходимо:
-
В CybetDuck нажать кнопку Открыть подключение.
-
Указать учётные данные для подключения:
-
Доменное имя оконечной точки S3.
-
Идентификатор ключа доступа.
-
Пароль, секретный ключ доступа пользователя к хранилищу объектов.
Внимание По умолчанию подключение устанавливается через протокол HTTPS. Чтобы использовать CyberDuck поверх HTTP, необходимо установить специальный профиль S3 . -
-
Нажать кнопку Connect.
-
Когда подключение будет установлено, выбрать в главном меню Файл → Создать папку, чтобы создать корзину.
-
Ввести название новой корзины и нажать кнопку Create.
Внимание Необходимо использовать названия корзин, соответствующие соглашениям об именовании DNS. Новая корзина появится в хранилище и отобразится в CyberDuck.
Управление версиями корзин в S3#
Управление версиями позволяет поддерживать несколько вариантов одного объекта в одной и той же корзине. С его помощью можно хранить, извлекать и восстанавливать любую версию любого объекта, хранящегося в вашей корзине S3. С управлением версиями можно легко восстанавливать систему после как непреднамеренных действий пользователей, так и сбоев приложений. Дополнительные сведения об управлении версиями корзин см. в документации Amazon .
Управление версиями корзин по умолчанию отключено. В CyberDuck его можно включить в свойствах корзины, как показано на рисунке.
Правила именования корзин S3#
Рекомендуется использовать имена корзин, соответствующие соглашениям об именовании DNS:
-
должно содержать от 3 (минимум) до 63 (максимум) символов;
-
состоит только из строчных букв латинского алфавита, цифр, точек
.и дефисов-; -
начинается и заканчивается буквой или цифрой;
-
не содержать две смежные точки;
-
не отформатирован как IP-адрес (например,
192.168.5.4); -
не начинается с префикса
xn--; -
не заканчивается суффиксом
-s3alias; -
не заканчивается суффиксом
--ol-s3; -
является уникальным для выбранного тенанта.
Примеры использования API S3 через AWS CLI#
AbortMultipartUpload#
Эта команда отменяет многократную загрузку в S3.
aws s3api abort-multipart-upload \
--bucket ваш-бакет \
--key ваш-объект \
--upload-id <id-загрузки>
CompleteMultipartUpload#
Эта команда завершает многократную загрузку в S3.
aws s3api complete-multipart-upload \
--bucket <bucket> \
--key <object> \
--upload-id <id-загрузки> \
--multipart-upload file://parts.json
CopyObject#
Эта команда копирует объект из одного места в другое:
aws s3api copy-object \
--copy-source <source-bucket>/<target-bucket> \
--bucket <target-bucket> \
--key <object>
CreateBucket#
Эта команда создаёт новый бакет в S3:
aws s3api create-bucket \
--bucket <new-bucket-name> \
--region us-east-1
CreateMultipartUpload#
Эта команда инициирует многократную загрузку в S3:
aws s3api create-multipart-upload \
--bucket <bucket> \
--key <object>
DeleteBucket#
Эта команда удаляет S3-бакет:
aws s3api delete-bucket \
--bucket <bucket>
DeleteBucketLifecycleConfiguration#
Эта команда удаляет конфигурацию жизненного цикла для бакета:
aws s3api delete-bucket-lifecycle \
--bucket <bucket>
DeleteBucketPolicy#
Эта команда удаляет политику доступа для бакета:
aws s3api delete-bucket-policy \
--bucket <bucket>
DeleteBucketReplication#
Эта команда удаляет конфигурацию репликации для бакета:
aws s3api delete-bucket-replication \
--bucket <bucket>
DeleteBucketTagging#
Эта команда удаляет теги для бакета:
aws s3api delete-bucket-tagging \
--bucket <bucket>
DeleteBucketWebsite#
Эта команда удаляет конфигурацию веб-сайта для бакета:
aws s3api delete-bucket-website \
--bucket <bucket>
DeleteObject#
Эта команда удаляет объект из S3-бакета:
aws s3api delete-object \
--bucket <bucket> \
--key <object>
DeleteObjects#
Эта команда удаляет несколько объектов из S3-бакета:
aws s3api delete-objects \
--bucket <bucket> \
--delete file://deleteobjects.json
Пример содержимого файла deleteobjects.json:
{
"Objects": [
{ "Key": "ваш-объект-1" },
{ "Key": "ваш-объект-2" }
]
}
DeleteObjectTagging#
Эта команда удаляет теги для объекта в S3:
aws s3api delete-object-tagging \
--bucket <bucket> \
--key <object>
GetBucketAcl#
Эта команда получает список правил доступа (ACL) для бакета:
aws s3api get-bucket-acl \
--bucket <bucket>
GetBucketLifecycleConfiguration#
Эта команда получает конфигурацию жизненного цикла для бакета:
aws s3api get-bucket-lifecycle-configuration \
--bucket <bucket>
GetBucketLocation#
Эта команда получает местоположение бакета:
aws s3api get-bucket-location \
--bucket <bucket>
GetBucketLogging#
Эта команда получает конфигурацию ведения журнала для бакета:
aws s3api get-bucket-logging \
--bucket <bucket>
GetBucketPolicy#
Эта команда получает политику доступа для бакета:
aws s3api get-bucket-policy \
--bucket <bucket>
GetBucketReplication#
Эта команда получает конфигурацию репликации для бакета:
aws s3api get-bucket-replication \
--bucket <bucket>
GetBucketTagging#
Эта команда получает теги для бакета:
aws s3api get-bucket-tagging \
--bucket <bucket>
GetBucketVersioning#
Эта команда получает конфигурацию версионности для бакета:
aws s3api get-bucket-versioning \
--bucket <bucket>
GetBucketWebsite#
Эта команда получает конфигурацию веб-сайта для бакета:
aws s3api get-bucket-website \
--bucket <bucket>
GetObject#
Эта команда получает объект из S3-бакета и сохраняет в указанное расположение:
aws s3api get-object \
--bucket <bucket> \
--key <object> \
/path/to/save/place
GetObjectAcl#
Эта команда получает список правил доступа (ACL) для объекта S3:
aws s3api get-object-acl \
--bucket <bucket> \
--key <object>
GetObjectLegalHold#
Эта команда получает состояние правового удержания для объекта в S3:
aws s3api get-object-legal-hold \
--bucket <bucket> \
--key <object>
GetObjectLockConfiguration#
Эта команда получает конфигурацию блокировки объекта S3:
aws s3api get-object-lock-configuration \
--bucket <bucket>
GetObjectRetention#
Эта команда получает конфигурацию удержания объекта в S3:
aws s3api get-object-retention \
--bucket <bucket> \
--key <object>
GetObjectTagging#
Эта команда получает теги для объекта в S3:
aws s3api get-object-tagging \
--bucket <bucket> \
--key <object>
HeadBucket#
Эта команда получает метаданные для указанного S3-бакета:
aws s3api head-bucket \
--bucket <bucket>
HeadObject#
Эта команда получает метаданные для объекта в S3:
aws s3api head-object \
--bucket <bucket> \
--key <object>
ListBuckets#
Эта команда получает список всех S3-бакетов в вашем аккаунте AWS:
aws s3api list-buckets
ListMultipartUploads#
Эта команда получает список всех незавершенных многократных загрузок в S3:
aws s3api list-multipart-uploads \
--bucket <bucket>
ListObjects#
Эта команда получает список объектов в S3-бакете (старый способ):
aws s3api list-objects \
--bucket <bucket>
ListObjectsV2#
Эта команда получает список объектов в S3-бакете (новый способ):
aws s3api list-objects-v2 \
--bucket <bucket>
ListObjectVersions#
Эта команда получает список версий объектов в S3-бакете:
aws s3api list-object-versions \
--bucket <bucket>
ListParts#
Эта команда получает список частей, загруженных для многократной загрузки объекта:
aws s3api list-parts \
--bucket <bucket> \
--key <object> \
--upload-id <upload-id>
PutBucketAcl#
Эта команда устанавливает правила доступа (ACL) для S3-бакета:
aws s3api put-bucket-acl \
--bucket <bucket> \
--acl private
PutBucketLifecycleConfiguration#
Эта команда устанавливает конфигурацию жизненного цикла для S3-бакета:
aws s3api put-bucket-lifecycle-configuration \
--bucket <bucket> \
--lifecycle-configuration file://lifecycle.json
Пример заполнения файла lifecycle.json:
{
"Rules": [
{
"ID": "ExpireRule",
"Status": "Enabled",
"Filter": {},
"Expiration": {
"Days": 30
}
}
]
}
PutBucketLogging#
Эта команда включает или настраивает ведение журнала для S3-бакета:
aws s3api put-bucket-logging \
--bucket <bucket> \
--logging-status file://logging.json
Пример заполнения файла logging.json:
{
"LoggingEnabled": {
"TargetBucket": "your-log-bucket",
"TargetPrefix": "log/"
}
}
PutBucketPolicy#
Эта команда устанавливает политику доступа для S3-бакета:
aws s3api put-bucket-policy \
--bucket <bucket> \
--policy file://bucket-policy.json
Пример заполнения файла bucket-policy.json:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::your-bucket-name/*"
}
]
}
PutBucketReplication#
Эта команда устанавливает конфигурацию репликации для S3-бакета:
aws s3api put-bucket-replication \
--bucket <bucket> \
--replication-configuration file://replication.json
Пример заполнения файла replication.json:
{
"Role": "arn:aws:iam::your-account-id:role/replication-role",
"Rules": [
{
"Status": "Enabled",
"Prefix": "",
"Destination": {
"Bucket": "arn:aws:s3:::destination-bucket"
}
}
]
}
PutBucketTagging#
Эта команда устанавливает теги для S3-бакета:
aws s3api put-bucket-tagging \
--bucket <bucket> \
--tagging 'TagSet=[{Key=Environment,Value=Production}]'
PutBucketVersioning#
Эта команда включает или отключает версионность объектов в S3-бакете:
aws s3api put-bucket-versioning \
--bucket <bucket> \
--versioning-configuration Status=<status>
Здесь <status> — значение Enabled (версионность включена) или Disabled (версионность выключена).
PutBucketWebsite#
Эта команда устанавливает конфигурацию веб-сайта для S3-бакета:
aws s3api put-bucket-website \
--bucket <bucket> \
--website-configuration file://website.json
Пример заполнения файла website.json:
{
"IndexDocument": {
"Suffix": "index.html"
},
"ErrorDocument": {
"Key": "error.html"
}
}
PutObject#
Эта команда загружает объект в S3-бакет:
aws s3api put-object \
--bucket <bucket> \
--key <object> \
--body /path/to/local/file
PutObjectAcl#
Эта команда устанавливает правила доступа (ACL) для объекта в S3:
aws s3api put-object-acl \
--bucket <bucket> \
--key <object> \
--acl public-read
PutObjectLegalHold#
Эта команда устанавливает правовое удержание для объекта в S3:
aws s3api put-object-legal-hold \
--bucket <bucket> \
--key <object> \
--legal-hold Status=ON
PutObjectLockConfiguration#
Эта команда устанавливает конфигурацию блокировки для объекта в S3:
aws s3api put-object-lock-configuration \
--bucket <bucket> \
--object-lock-configuration file://lock-config.json
Пример заполнения файла lock-config.json:
{
"ObjectLockConfiguration": {
"LockConfiguration": {
"Status": "Enabled",
"ObjectLockRule": {
"DefaultRetention": {
"Mode": "GOVERNANCE",
"Days": 30
}
}
}
}
}
PutObjectRetention#
Эта команда устанавливает конфигурацию удержания для объекта в S3:
aws s3api put-object-retention \
--bucket <bucket> \
--key <object> \
--retention Retention={"Mode":"GOVERNANCE","Date":"2023-12-31T00:00:00Z"}
PutObjectTagging#
Эта команда устанавливает теги для объекта в S3:
aws s3api put-object-tagging \
--bucket <bucket> \
--key <object> \
--tagging 'TagSet=[{Key=Key1,Value=Value1},{Key=Key2,Value=Value2}]'
UploadPart#
Эта команда загружает часть объекта при многократной загрузке:
aws s3api upload-part \
--bucket
Действия при сбоях и ошибках эксплуатации клиентского ПО#
Базовые действия при сбоях S3 подключения#
Немедленные меры:
-
Перезапустите CyberDuck: завершите процесс и запустите заново.
-
Проверьте интернет-соединение, особенно разрешение DNS-имён эндпоинтов S3.
Проверка параметров S3 подключения#
Тип подключения: Amazon S3.
Сервер: s3.dnsname.com (или кастомный эндпоинт).
Порт: 443 (HTTPS).
Access Key ID: <идентификатор-ключа>.
Secret Access Key: <секретный ключ>.
Диагностика специфических S3 ошибок#
Ошибки аутентификации#
Симптомы:
-
AccessDenied; -
InvalidAccessKeyId; -
SignatureDoesNotMatch.
Действия:
-
Проверьте корректность Access Key ID и Secret Access Key.
-
Убедитесь, что пользователь или роль имеет необходимые права.
Ошибки подключения к бакету#
Симптомы:
-
BucketAlreadyExists; -
NoSuchBucket.
Действия:
-
Проверьте правильность написания имени бакета.
-
Убедитесь, что бакет существует.
Ошибки передачи файлов#
Симптомы:
-
AccessDenied; -
EntityTooLarge; -
InvalidObjectState.
Действия:
-
Проверьте права на запись в бакет.
-
Убедитесь, что размер файла не превышает лимиты S3.
Настройка Cyberduck для S3#
Конфигурация подключения#
-
File → New Connection.
-
Select:
Amazon S3. -
Server:
s3.dnsname.com(или кастомный эндпоинт). -
Port:
443. -
Access Key ID:
<идентификатор-ключа>. -
Secret Access Key:
<секретный ключ>.
Дополнительные параметры S3#
-
Region: Укажите правильный регион бакета.
-
Path Style Access: включите для совместимости.
-
Storage Class: Выберите класс хранения по умолчанию.
-
Encryption: Настройте серверное шифрование.
Диагностика через логи CyberDuck#
Включение детального логгирования S3#
-
View → Show Log (Ctrl+L).
-
Префиксы логов S3:
-
S3:Request — запросы к API.
-
S3:Response — ответы сервера.
-
S3:Error — ошибки S3 сервиса.
-
Анализ типичных ошибок S3 в логах#
Пример ошибки доступа:
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<Resource>/my-bucket/my-file.txt</Resource>
<RequestId>XXXXXXXXXXXXX</RequestId>
</Error>
Проблемы производительности S3#
Медленная передача файлов#
-
Проверьте скорость интернет-соединения.
-
Используйте multipart upload для больших файлов.
-
Настройте параллельные подключения в настройках CyberDuck.
Оптимизация настроек#
-
Edit → Preferences → Transfer.
-
Заполните форму:
-
Concurrent transfers: 2-5 соединений.
-
Buffer size: 32-64 KB.
-
Use multipart upload: Enabled.
-
Восстановление ключей#
-
Сгенерируйте новые Access Keys в Спектр S3.
-
Обновите credentials в CyberDuck.
-
Проверьте подключение с новыми ключами.
Профилактика проблем с S3#
Регулярные проверки#
-
Мониторинг срока действия Access Keys.
-
Обновление Cyberduck до актуальной версии.
Резервное копирование настроек#
-
Экспорт закладок подключений (Bookmarks → Export).
-
Сохранение ключей в безопасном месте.
-
Документирование S3 bucket configurations.
Получение помощи#
Информация для поддержки Cyberduck:
-
Полные логи S3 запросов и ответов.
-
Версия Cyberduck и ОС.
-
Конфигурация S3 подключения (без секретных ключей).