Hướng dẫn

Trình quản lý tệp cho Amazon S3: kết nối với Nubbo

Cách kết nối bucket Amazon S3 với Nubbo: khóa IAM bạn cần, từng bước của trình hướng dẫn, quy tắc CORS và cách xử lý khi có sự cố.

Nubbo kết nối với Amazon S3 bằng một access key IAM. Chỉ trong vài phút, bucket của bạn sẽ nằm trong một trình khám phá tệp có tải lên trực tiếp, liên kết chia sẻ và thư viện ảnh, mà không phải công khai bất cứ thứ gì. Hướng dẫn này đi theo từng bước của trình hướng dẫn Nubbo, với cả hai cách: tự động hoặc với khóa giới hạn cho một bucket.

Bạn nhận được gì

  • Duyệt bucket như một ổ đĩa: thư mục, chế độ xem, tìm kiếm, thùng rác, nhãn và yêu thích.
  • Tải tệp lên và tải xuống trực tiếp giữa trình duyệt của bạn và Amazon S3. Tệp không bao giờ đi qua máy chủ của Nubbo.
  • Chia sẻ tệp và thư mục với mật khẩu, thời hạn và giới hạn lượt tải xuống, nhận tệp vào bucket và tạo thư viện ảnh.
  • Khóa của bạn được lưu ở dạng mã hóa AES-256-GCM và bạn có thể ngắt kết nối bucket bất cứ lúc nào.

Trước khi bắt đầu

Bạn cần một tài khoản Amazon S3 và một tài khoản Nubbo. Mỗi bucket bạn kết nối được tính vào giới hạn gói của bạn: gói Miễn phí cho phép 2, Personal 5 và Pro không giới hạn. Một số khu vực AWS bị tắt theo mặc định và phải được bật trong tài khoản trước khi dùng (ví dụ Milan, Zurich hoặc Cape Town). Nếu bạn định tạo bucket ở một trong các khu vực đó, hãy bật nó trước. Không cần tắt Block Public Access: Nubbo giữ bucket ở chế độ riêng tư.

Chọn cách kết nối

Trình hướng dẫn của Nubbo có hai cách. Cả hai đều kết thúc giống nhau: bucket được kết nối và sẵn sàng để tải lên từ trình duyệt.

Tự độngVới khóa giới hạn
KhóaTruy cập toàn bộ tài khoảnGiới hạn cho một bucket
BucketNubbo dùng một bucket bạn có hoặc tạo bucket mớiBạn tạo trước
CORSNubbo thêm quy tắc giúp bạnBạn tự thêm quy tắc
Khi nào nên chọnCách nhanh nhấtKhi bạn không muốn cấp quyền truy cập toàn bộ tài khoản

Kết nối tự động

Bước 1: tạo khóa trong Amazon S3

  1. Đăng nhập vào AWS console và mở IAM. Hãy dùng người dùng IAM, không bao giờ dùng root user của tài khoản.
  2. Vào Users và nhấn Create user. Đặt tên, ví dụ nubbo, rồi nhấn Next.
  3. Trong Set permissions, chọn Attach policies directly, tìm và đánh dấu AmazonS3FullAccess rồi tạo người dùng.
  4. Mở người dùng đó, vào tab Security credentials và trong Access keys, nhấn Create access key.
  5. Ở phần use case, chọn Application running outside AWS (hoặc Other nếu không có trong danh sách), rồi nhấn Next và Create access key.
  6. Nhấn Download .csv file. Đây là lần duy nhất AWS cho bạn xem secret access key.

Bước 2: kết nối bucket trong Nubbo

  1. Trong Nubbo, mở Bucket và nhấn Kết nối bucket. Chọn Amazon S3 và nhấn Tiếp tục.

    Bước Nhà cung cấp của trình hướng dẫn Nubbo với Amazon S3 đã được chọn Bước Nhà cung cấp của trình hướng dẫn Nubbo với Amazon S3 đã được chọn
  2. Chọn Tự động và nhấn Tiếp tục.

    Bước Cách kết nối với hai tùy chọn Tự động và Với khóa giới hạn Bước Cách kết nối với hai tùy chọn Tự động và Với khóa giới hạn
  3. Ở bước Khóa của bạn, nhấn Tải tệp lên và chọn tệp CSV bạn đã tải xuống, hoặc dán nội dung của nó vào ô văn bản. Nubbo đọc access key và secret nên bạn không phải sao chép thủ công. Kiểm tra rằng Khu vực là khu vực chứa bucket của bạn. Nhấn Kiểm tra khóa. Nubbo kiểm tra rằng khóa hoạt động và có quyền truy cập toàn bộ tài khoản.

    Bước Khóa của bạn cho Amazon S3 với hướng dẫn nhanh và các ô nhập khóa Bước Khóa của bạn cho Amazon S3 với hướng dẫn nhanh và các ô nhập khóa
  4. Chọn một bucket của bạn và nhấn Dùng bucket này, hoặc chọn Tạo mới, nhập tên (và chọn khu vực nếu được hỏi) rồi nhấn Tạo và chuẩn bị. Nubbo thêm vào bucket một quy tắc CORS chỉ cho phép tải lên và tải xuống từ ứng dụng, đồng thời giữ nguyên các quy tắc bucket đã có.

    Bước Bucket của bạn với danh sách bucket và tùy chọn Tạo mới Bước Bucket của bạn với danh sách bucket và tùy chọn Tạo mới
  5. Xem lại ba mục kiểm tra, đổi Tên trong Nubbo nếu muốn và nhấn Hoàn tất. Bucket sẽ xuất hiện trong mục Bucket và bạn có thể mở nó trong trình khám phá.

    Bước Xong với các mục kiểm tra kết nối, bucket và CORS Bước Xong với các mục kiểm tra kết nối, bucket và CORS

Nếu Nubbo không thể thêm quy tắc CORS bằng khóa của bạn, trình hướng dẫn sẽ đưa bạn tới bước CORS. Khi đó hãy làm theo phần Thêm quy tắc CORS.

Kết nối với khóa giới hạn

Bước 1: chuẩn bị bucket và khóa trong Amazon S3

  1. Trong console, chọn khu vực ở thanh trên cùng, mở S3 và trong General purpose buckets, nhấn Create bucket. Đặt tên (từ 3 đến 63 ký tự: chữ thường, số, dấu chấm và dấu gạch nối) và tạo bucket với Block Public Access đang bật.
  2. Trong IAM, tạo một người dùng không có quyền nào (Users, Create user).
  3. Mở người dùng đó, tab Permissions, Add permissions, Create inline policy. Chuyển sang trình soạn thảo JSON, dán chính sách này, thay YOUR-BUCKET bằng tên bucket của bạn và lưu lại với một cái tên.
  4. Tạo khóa trong Security credentials, Create access key, giống như ở kết nối tự động, và tải tệp CSV xuống.
{
  "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/*"
    }
  ]
}

Bước 2: kết nối bucket trong Nubbo

  1. Trong Bucket, nhấn Kết nối bucket, chọn Amazon S3 rồi chọn Với khóa giới hạn.
  2. Tải lên tệp CSV chứa khóa hoặc dán nội dung của nó và chọn khu vực của bucket. Nhấn Kiểm tra khóa.
  3. Nhập chính xác tên bucket và nhấn Kiểm tra quyền truy cập.
  4. Trình hướng dẫn chuyển sang bước CORS với quy tắc bạn cần thêm.

Thêm quy tắc CORS

Quy tắc CORS cho phép trình duyệt tải tệp lên và tải xuống từ bucket của bạn trên https://nubbo.app. Đây chính là quy tắc trình hướng dẫn hiển thị ở bước CORS.

  1. Trong S3 console, mở bucket và vào tab Permissions.
  2. Cuộn xuống Cross-origin resource sharing (CORS) và nhấn Edit.
  3. Dán quy tắc và nhấn Save changes.
[
  {
    "AllowedHeaders": ["*"],
    "AllowedMethods": ["GET", "PUT", "POST", "DELETE", "HEAD"],
    "AllowedOrigins": ["https://nubbo.app"],
    "ExposeHeaders": ["ETag"],
    "MaxAgeSeconds": 3600
  }
]
Bước CORS với quy tắc cần thêm vào bucket Bước CORS với quy tắc cần thêm vào bucket

Sau khi lưu, hãy quay lại Nubbo và nhấn Đã thêm, kiểm tra. Một số nhà cung cấp cần một phút để áp dụng. Nếu khóa của bạn có quyền thay đổi CORS, Thử cấu hình giúp tôi sẽ làm việc đó cho bạn.

Nếu có sự cố

Thông báo trong NubboCách xử lý
“Thông tin đăng nhập không hợp lệ. Hãy kiểm tra access key và secret access key.”Sao chép lại cả hai khóa, không có khoảng trắng ở đầu hoặc cuối.
“Khóa này có vẻ chỉ giới hạn cho một bucket. Bạn có thể tiếp tục theo cách giới hạn hoặc tạo khóa có toàn quyền truy cập.”Nhấn Tiếp tục với khóa giới hạn, hoặc tạo khóa có quyền truy cập toàn bộ tài khoản và nhấn Thử khóa khác.
“Không tìm thấy bucket. Hãy xác minh tên và khu vực.”Kiểm tra chính xác tên bucket và khu vực đã chọn có đúng là khu vực của bucket không.
“Khóa của bạn không có quyền tạo bucket.”Dùng khóa có toàn quyền truy cập, hoặc tạo bucket trong bảng điều khiển của bạn và nhấn Tôi đã tạo trong bảng điều khiển.
“Tên này đã được dùng ở nhà cung cấp này; hãy thử tên khác.”Tên bucket là duy nhất trên toàn nhà cung cấp: hãy chọn tên khác.
“Khóa của bạn không có quyền thiết lập việc này.”Thêm quy tắc CORS thủ công, như đã giải thích ở trên.
“Vẫn chưa hoạt động. Hãy xem lại quy tắc và kiểm tra lại; một số nhà cung cấp cần một phút để áp dụng.”Kiểm tra rằng origin chính xác là https://nubbo.app, không có dấu gạch chéo ở cuối, đợi một phút rồi kiểm tra lại.
“Bucket này đã được sử dụng.”Bucket đó đã được kết nối trong Nubbo, ở tài khoản của bạn hoặc một tài khoản khác.
“Bucket nằm ở khu vực khác. Hãy xác minh khu vực đã cấu hình.”Ở bước Khóa của bạn, chọn khu vực chứa bucket.
“Chúng tôi không tìm thấy khóa trong tệp đó; hãy dán thủ công.”Tải lên tệp CSV bạn đã tải xuống khi tạo khóa, hoặc dán nguyên nội dung của nó.

Chi phí

Amazon S3 tính phí lưu trữ, yêu cầu và truyền dữ liệu ra ngoài. Chúng tôi giải thích kèm ví dụ trong Giá Amazon S3.

Câu hỏi thường gặp

Tôi có cần công khai bucket S3 để dùng Nubbo không?

Không. Nubbo giữ bucket ở chế độ riêng tư và Block Public Access có thể vẫn bật. Việc tải lên và tải xuống dùng các URL ký trước có thời hạn.

Khóa AWS cần những quyền gì?

Với cách tự động, cần chính sách AmazonS3FullAccess. Với khóa giới hạn, chỉ cần một inline policy cấp quyền truy cập vào bucket của bạn: liệt kê, đọc, ghi và xóa đối tượng.

Tôi có thể dùng khóa của root user AWS không?

Đó không phải ý hay và AWS cũng khuyên không nên làm vậy. Hãy tạo một người dùng IAM chỉ dành cho Nubbo; sau đó bạn có thể vô hiệu hóa khóa của nó mà không ảnh hưởng gì khác.

Tại sao Nubbo không có ô nhập cho khóa AWS?

Vì AWS đưa khóa cho bạn trong một tệp CSV. Nubbo đọc trực tiếp tệp đó: bạn tải lên hoặc dán nội dung của nó và không bao giờ phải sao chép secret thủ công.

Tôi có thể kết nối nhiều bucket S3 không?

Có. Mỗi bucket được tính vào giới hạn gói của bạn: gói Miễn phí cho phép 2, Personal 5 và Pro không giới hạn, và chúng có thể đến từ các tài khoản AWS khác nhau.

Nguồn

Giá và giới hạn lấy từ các trang chính thức bên dưới. Nhà cung cấp có thể thay đổi chúng, nên hãy kiểm tra trước khi quyết định.