Nubbo подключается к Amazon S3 с помощью ключа доступа IAM. Через несколько минут ваш bucket окажется в файловом проводнике с прямыми загрузками, ссылками для доступа и галереями, и ничего не придётся делать публичным. Это руководство шаг за шагом проходит мастер Nubbo по обоим путям: автоматическому и с ключом, ограниченным одним bucket.
Что вы получаете
- Просмотр bucket как обычного диска: папки, режимы отображения, поиск, корзина, метки и избранное.
- Загрузка и скачивание файлов напрямую между браузером и Amazon S3. Файлы никогда не проходят через серверы Nubbo.
- Отправка файлов и папок с паролем, сроком действия и лимитом скачиваний, получение файлов в ваш bucket и создание галерей.
- Ваши ключи хранятся в зашифрованном виде (AES-256-GCM), а bucket можно отключить в любой момент.
Перед началом
Вам нужен аккаунт Amazon S3 и аккаунт Nubbo. Каждый подключённый bucket учитывается в лимите вашего тарифа: «Бесплатно» позволяет подключить 2, Personal 5, а в Pro ограничений нет. Некоторые регионы AWS по умолчанию отключены, и их нужно включить в аккаунте перед использованием (например, Милан, Цюрих или Кейптаун). Если вы собираетесь создать bucket в одном из них, сначала включите его. Отключать Block Public Access не нужно: Nubbo оставляет bucket приватным.
Выберите способ подключения
Мастер Nubbo предлагает два пути. Оба заканчиваются одинаково: bucket подключён и готов к загрузкам из браузера.
| Автоматически | С ограниченным ключом | |
|---|---|---|
| Ключ | Доступ ко всему аккаунту | Ограничен одним bucket |
| Bucket | Nubbo использует один из ваших или создаёт новый | Вы создаёте его заранее |
| CORS | Nubbo добавляет правило за вас | Вы добавляете правило сами |
| Когда выбирать | Самый быстрый способ | Когда не хотите давать доступ ко всему аккаунту |
Автоматическое подключение
Шаг 1: создайте ключ в Amazon S3
- Войдите в консоль AWS и откройте IAM. Используйте пользователя IAM, а не root-пользователя аккаунта.
- Перейдите в Users и нажмите Create user. Дайте ему имя, например
nubbo, и нажмите Next. - В разделе Set permissions выберите Attach policies directly, найдите и отметьте AmazonS3FullAccess и создайте пользователя.
- Откройте пользователя, перейдите на вкладку Security credentials и в разделе Access keys нажмите Create access key.
- В качестве сценария использования выберите Application running outside AWS (или Other, если его нет в списке) и нажмите Next и Create access key.
- Нажмите Download .csv file. Это единственный раз, когда AWS показывает secret access key.
Шаг 2: подключите bucket в Nubbo
В Nubbo откройте раздел Buckets и нажмите Подключить bucket. Выберите Amazon S3 и нажмите Продолжить.

Выберите Автоматически и нажмите Продолжить.

На шаге Ваш ключ нажмите Загрузить файл и выберите скачанный CSV или вставьте его содержимое в текстовое поле. Nubbo сам прочитает access key и secret, чтобы вам не пришлось копировать их вручную. Убедитесь, что Регион совпадает с регионом ваших bucket. Нажмите Проверить ключ. Nubbo проверит, что ключ работает и что у него есть доступ ко всему аккаунту.

Выберите один из своих bucket и нажмите Использовать этот bucket или выберите Создать новый, введите имя (и выберите регион, если мастер его спросит) и нажмите Создать и подготовить. Nubbo добавит в bucket правило CORS, которое разрешает загрузку и скачивание только из приложения, и сохранит уже существующие правила.

Просмотрите три проверки, при желании измените Имя в Nubbo и нажмите Завершить. Bucket появится в разделе Buckets, и его можно будет открыть в проводнике.

Если Nubbo не может добавить правило CORS с вашим ключом, мастер переведёт вас на шаг CORS. В этом случае следуйте разделу Добавьте правило CORS.
Подключение с ограниченным ключом
Шаг 1: подготовьте bucket и ключ в Amazon S3
- В консоли выберите регион на верхней панели, откройте S3 и в разделе General purpose buckets нажмите Create bucket. Дайте ему имя (от 3 до 63 символов: строчные буквы, цифры, точки и дефисы) и создайте его с включённым Block Public Access.
- В IAM создайте пользователя без прав (Users, Create user).
- Откройте пользователя, вкладку Permissions, Add permissions, Create inline policy. Переключитесь на редактор JSON, вставьте эту политику, заменив
YOUR-BUCKETименем своего bucket, и сохраните её под любым именем. - Создайте ключ в Security credentials, Create access key, как при автоматическом подключении, и скачайте CSV.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:ListBucket", "s3:GetBucketLocation"],
"Resource": "arn:aws:s3:::YOUR-BUCKET"
},
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:DeleteObject",
"s3:AbortMultipartUpload",
"s3:ListMultipartUploadParts"
],
"Resource": "arn:aws:s3:::YOUR-BUCKET/*"
}
]
}
Шаг 2: подключите bucket в Nubbo
- В разделе Buckets нажмите Подключить bucket, выберите Amazon S3, а затем С ограниченным ключом.
- Загрузите CSV с ключом или вставьте его содержимое и выберите регион bucket. Нажмите Проверить ключ.
- Введите точное имя bucket и нажмите Проверить доступ.
- Мастер перейдёт на шаг CORS с правилом, которое нужно добавить.
Добавьте правило CORS
Правило CORS позволяет браузеру загружать и скачивать файлы из вашего bucket на https://nubbo.app. Это то же правило, которое мастер показывает на шаге CORS.
- В консоли S3 откройте bucket и перейдите на вкладку Permissions.
- Прокрутите вниз до Cross-origin resource sharing (CORS) и нажмите Edit.
- Вставьте правило и нажмите Save changes.
[
{
"AllowedHeaders": ["*"],
"AllowedMethods": ["GET", "PUT", "POST", "DELETE", "HEAD"],
"AllowedOrigins": ["https://nubbo.app"],
"ExposeHeaders": ["ETag"],
"MaxAgeSeconds": 3600
}
]

Когда правило сохранено, вернитесь в Nubbo и нажмите Готово, проверить. Некоторым провайдерам нужна минута, чтобы его применить. Если вашему ключу разрешено менять CORS, кнопка Попробовать настроить за меня сделает это за вас.
Если что-то пошло не так
| Сообщение в Nubbo | Что делать |
|---|---|
| «Неверные учётные данные. Проверьте access key и secret access key.» | Скопируйте оба ключа ещё раз, без пробелов в начале и в конце. |
| «Похоже, этот ключ ограничен одним bucket. Можно продолжить по ограниченному пути или создать ключ с полным доступом.» | Нажмите «Продолжить с ограниченным ключом» или создайте ключ с доступом ко всему аккаунту и нажмите «Попробовать другой ключ». |
| «Bucket не найден. Проверьте имя и регион.» | Проверьте точное имя bucket и то, что выбранный регион совпадает с регионом bucket. |
| «У вашего ключа нет прав на создание bucket.» | Используйте ключ с полным доступом или создайте bucket в своей панели и нажмите «Он уже создан в моей панели». |
| «Это имя уже занято у этого провайдера; попробуйте другое.» | Имена bucket уникальны в пределах всего провайдера: выберите другое. |
| «У вашего ключа нет прав на эту настройку.» | Добавьте правило CORS вручную, как описано выше. |
| «Пока не работает. Проверьте правило и попробуйте снова; некоторым провайдерам нужна минута, чтобы его применить.» | Убедитесь, что источник указан точно как https://nubbo.app без косой черты в конце, подождите минуту и проверьте снова. |
| «Этот bucket уже используется.» | Этот bucket уже подключён в Nubbo, в вашем аккаунте или в чужом. |
| «Bucket находится в другом регионе. Проверьте настроенный регион.» | На шаге «Ваш ключ» выберите регион, в котором находится bucket. |
| «Мы не нашли ключи в этом файле; вставьте их вручную.» | Загрузите CSV, скачанный при создании ключа, или вставьте его содержимое как есть. |
Сколько это стоит
Amazon S3 берёт плату за хранение, запросы и исходящий трафик. Мы разбираем это на примерах в статье Цены Amazon S3.
Частые вопросы
Нужно ли делать bucket S3 публичным, чтобы пользоваться Nubbo?
Нет. Nubbo оставляет bucket приватным, а Block Public Access может оставаться включённым. Загрузки и скачивания используют presigned URL с ограниченным сроком действия.
Какие права нужны ключу AWS?
Для автоматического пути нужна политика AmazonS3FullAccess. Для ограниченного ключа достаточно встроенной политики, которая даёт доступ только к вашему bucket: просмотр списка, чтение, запись и удаление объектов.
Можно ли использовать ключи root-пользователя AWS?
Это плохая идея, и AWS не рекомендует так делать. Создайте пользователя IAM только для Nubbo: потом его ключ можно будет отключить, ничего больше не затрагивая.
Почему в Nubbo нет полей для ключа AWS?
Потому что AWS выдаёт ключ в файле CSV. Nubbo читает его напрямую: вы загружаете файл или вставляете его содержимое и никогда не копируете secret вручную.
Можно ли подключить несколько bucket S3?
Да. Каждый bucket учитывается в лимите вашего тарифа: «Бесплатно» позволяет подключить 2, Personal 5, а в Pro ограничений нет. Bucket могут принадлежать разным аккаунтам AWS.
Источники
Цены и лимиты взяты с официальных страниц ниже. Провайдеры их меняют, поэтому проверьте перед тем, как принимать решение.