Nubbo підключається до Amazon S3 за ключем доступу IAM. За кілька хвилин ваш бакет опиниться у файловому провіднику з прямими завантаженнями, посиланнями для спільного доступу та галереями, і нічого не доведеться робити публічним. Цей посібник крок за кроком проходить майстер Nubbo обома шляхами: автоматичним або з ключем, обмеженим одним бакетом.
Що ви отримуєте
- Переглядайте бакет як диск: папки, подання, пошук, кошик, мітки й обране.
- Завантажуйте файли напряму між браузером і Amazon S3. Файли ніколи не проходять через сервери Nubbo.
- Діліться файлами й папками з паролем, терміном дії та лімітом завантажень, отримуйте файли у свій бакет і створюйте галереї.
- Ваші ключі зберігаються зашифрованими за допомогою AES-256-GCM, і бакет можна відключити будь-коли.
Перед початком
Вам потрібні обліковий запис Amazon S3 і обліковий запис Nubbo. Кожен підключений бакет враховується в ліміті вашого тарифу: Безкоштовний дозволяє 2, Personal 5, а Pro не має обмежень. Деякі регіони AWS вимкнено за замовчуванням, і їх треба ввімкнути в обліковому записі, перш ніж ними користуватися (наприклад, Мілан, Цюрих чи Кейптаун). Якщо створюватимете бакет в одному з них, спершу ввімкніть його. Вимикати Block Public Access не потрібно: Nubbo залишає бакет приватним.
Виберіть спосіб підключення
Майстер Nubbo пропонує два шляхи. Обидва закінчуються однаково: бакет підключено й готово до завантажень із браузера.
| Автоматично | З обмеженим ключем | |
|---|---|---|
| Ключ | Доступ до всього облікового запису | Обмежений одним бакетом |
| Бакет | 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 показує секретний ключ доступу.
Крок 2: підключіть бакет у Nubbo
У Nubbo відкрийте Бакети й натисніть Підключити бакет. Виберіть Amazon S3 і натисніть Продовжити.

Виберіть Автоматично й натисніть Продовжити.

На кроці Ваш ключ натисніть Завантажити файл і виберіть завантажений CSV або вставте його вміст у текстове поле. Nubbo прочитає ключ доступу й секрет, тож вам не доведеться копіювати їх вручну. Переконайтеся, що Регіон збігається з регіоном ваших бакетів. Натисніть Перевірити ключ. Nubbo перевірить, що ключ працює і має доступ до всього облікового запису.

Виберіть один зі своїх бакетів і натисніть Використати цей bucket або виберіть Створити новий, введіть назву (і виберіть регіон, якщо майстер попросить) та натисніть Створити й підготувати. Nubbo додасть до бакета правило CORS, яке дозволяє завантаження лише із застосунку, і збереже правила, що вже є.

Перегляньте три перевірки, за бажання змініть Назва в Nubbo і натисніть Завершити. Бакет з’явиться в розділі Бакети, і його можна відкрити в провіднику.

Якщо Nubbo не може додати правило CORS з вашим ключем, майстер переведе вас на крок CORS. Тоді виконайте розділ Додайте правило CORS.
Підключення з обмеженим ключем
Крок 1: підготуйте бакет і ключ в 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назвою свого бакета, і збережіть її під якоюсь назвою. - Створіть ключ у 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: підключіть бакет у Nubbo
- У розділі Бакети натисніть Підключити бакет, виберіть Amazon S3, а потім З обмеженим ключем.
- Завантажте CSV із ключем або вставте його вміст і виберіть регіон бакета. Натисніть Перевірити ключ.
- Введіть точну назву бакета й натисніть Перевірити доступ.
- Майстер перейде на крок CORS із правилом, яке треба додати.
Додайте правило CORS
Правило CORS дозволяє браузеру завантажувати файли у ваш бакет і з нього на https://nubbo.app. Це те саме правило, яке майстер показує на кроці CORS.
- У консолі S3 відкрийте бакет і перейдіть на вкладку 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 | Що робити |
|---|---|
| «Недійсні облікові дані. Перевірте ключ доступу та секретний ключ доступу.» | Скопіюйте обидва ключі ще раз, без пробілів на початку й у кінці. |
| «Схоже, цей ключ обмежений одним bucket. Можна продовжити обмеженим шляхом або створити ключ із повним доступом.» | Натисніть «Продовжити з обмеженим ключем» або створіть ключ із доступом до всього облікового запису й натисніть «Спробувати інший ключ». |
| «Bucket не знайдено. Перевірте назву та регіон.» | Перевірте точну назву бакета й те, що вибраний регіон збігається з регіоном бакета. |
| «Ваш ключ не має дозволу створювати bucket.» | Використайте ключ із повним доступом або створіть бакет у своїй панелі й натисніть «Він уже створений у моїй панелі». |
| «Ця назва вже використовується в цього провайдера; спробуйте іншу.» | Назви бакетів унікальні в межах провайдера: виберіть іншу. |
| «Ваш ключ не має дозволу на це налаштування.» | Додайте правило CORS вручну, як описано вище. |
| «Ще не працює. Перегляньте правило й перевірте знову; деяким провайдерам потрібна хвилина, щоб його застосувати.» | Переконайтеся, що джерело (origin) саме https://nubbo.app без скісної риски в кінці, зачекайте хвилину й перевірте знову. |
| «Цей bucket вже використовується.» | Цей бакет уже підключено в Nubbo, у вашому чи в іншому обліковому записі. |
| «Bucket розташовано в іншому регіоні. Перевірте налаштований регіон.» | На кроці «Ваш ключ» виберіть регіон, у якому розташований бакет. |
| «Ми не знайшли ключі в цьому файлі; вставте їх вручну.» | Завантажте CSV, отриманий під час створення ключа, або вставте його вміст без змін. |
Скільки це коштує
Amazon S3 бере плату за зберігання, запити й вихідний трафік. Ми пояснюємо це на прикладах у статті Ціни Amazon S3.
Поширені запитання
Чи треба робити бакет S3 публічним, щоб користуватися Nubbo?
Ні. Nubbo залишає бакет приватним, і Block Public Access може бути ввімкнено. Завантаження використовують presigned URL, термін дії яких минає.
Які дозволи потрібні ключу AWS?
Для автоматичного шляху потрібна політика AmazonS3FullAccess. З обмеженим ключем досить вбудованої політики, яка дає доступ лише до вашого бакета: перелік, читання, запис і видалення об’єктів.
Чи можна використати ключі root-користувача AWS?
Це погана ідея, і AWS не радить так робити. Створіть користувача IAM лише для Nubbo: тоді ви зможете деактивувати його ключ, нічого більше не зачіпаючи.
Чому в Nubbo немає полів для ключа AWS?
Бо AWS видає ключ у файлі CSV. Nubbo читає його напряму: ви завантажуєте файл або вставляєте його вміст і ніколи не копіюєте секрет вручну.
Чи можна підключити кілька бакетів S3?
Так. Кожен бакет враховується в ліміті вашого тарифу: Безкоштовний дозволяє 2, Personal 5, а Pro не має обмежень, і бакети можуть бути з різних облікових записів AWS.
Джерела
Ціни та ліміти взято з офіційних сторінок нижче. Провайдери їх змінюють, тож перевірте, перш ніж ухвалювати рішення.