指南

Amazon S3 檔案管理工具:連接到 Nubbo

如何將 Amazon S3 儲存桶連接到 Nubbo:你需要的 IAM 金鑰、連線精靈的每個步驟、CORS 規則,以及出問題時該怎麼做。

Nubbo 透過 IAM 存取金鑰連接 Amazon S3。只要幾分鐘,你的儲存桶就會出現在檔案總管中,支援直接上傳、分享連結和相簿,而且不必公開任何東西。這份指南會逐步帶你走過 Nubbo 連線精靈的兩種方式:自動,或使用僅限一個儲存桶的金鑰。

你會得到什麼

  • 像使用雲端硬碟一樣瀏覽儲存桶:資料夾、檢視方式、搜尋、垃圾桶、標籤和最愛。
  • 檔案直接在你的瀏覽器和 Amazon S3 之間上傳和下載。檔案從不經過 Nubbo 的伺服器。
  • 以密碼、到期日和下載次數限制分享檔案和資料夾,把檔案接收到你的儲存桶,還能建立相簿。
  • 你的金鑰以 AES-256-GCM 加密儲存,你可以隨時中斷儲存桶的連線。

開始之前

你需要一個 Amazon S3 帳戶和一個 Nubbo 帳戶。你連接的每個儲存桶都計入你的方案上限:免費方案可連接 2 個,Personal 5 個,Pro 則不限。部分 AWS 區域預設為停用,使用前必須先在帳戶中啟用(例如米蘭、蘇黎世或開普敦)。如果你要在其中一個區域建立儲存桶,請先啟用它。不需要關閉 Block Public Access:Nubbo 會讓儲存桶保持私人。

選擇連線方式

Nubbo 連線精靈提供兩種方式。兩者的結果相同:儲存桶完成連線,可以從瀏覽器上傳檔案。

自動使用受限金鑰
金鑰可存取整個帳戶僅限一個儲存桶
儲存桶Nubbo 使用你現有的,或新建一個你要先自行建立
CORSNubbo 為你新增規則你自行新增規則
何時選擇最快的方式不想授予整個帳戶的存取權時

自動連線

步驟 1:在 Amazon S3 建立金鑰

  1. 登入 AWS 主控台並開啟 IAM。請使用 IAM 使用者,絕對不要使用帳戶的根使用者。
  2. 前往 使用者 並按下 建立使用者。為它取個名稱,例如 nubbo,然後按下 下一步。
  3. 在 設定許可 中選擇 直接連接政策,搜尋並勾選 AmazonS3FullAccess,然後建立使用者。
  4. 開啟該使用者,前往 安全性憑證 分頁,在 存取金鑰 下按下 建立存取金鑰。
  5. 使用案例選擇在 AWS 外部執行的應用程式(如果沒有列出,則選 其他),然後按下 下一步 和 建立存取金鑰。
  6. 按下 下載 .csv 檔案。這是 AWS 唯一一次讓你看到私密存取金鑰。

步驟 2:在 Nubbo 連接儲存桶

  1. 在 Nubbo 中開啟 儲存桶,按下 連接儲存桶。選擇 Amazon S3,然後按下 繼續。

    Nubbo 連線精靈的服務供應商步驟,已選取 Amazon S3 Nubbo 連線精靈的服務供應商步驟,已選取 Amazon S3
  2. 選擇 自動,然後按下 繼續。

    連線方式步驟,含自動和使用受限金鑰兩個選項 連線方式步驟,含自動和使用受限金鑰兩個選項
  3. 在 你的金鑰 步驟中按下 上傳檔案,選擇你下載的 CSV,或把其內容貼到文字方塊中。Nubbo 會讀取存取金鑰和私密金鑰,你不必手動複製。確認 區域 是你儲存桶所在的區域。按下 檢查金鑰。Nubbo 會確認金鑰可用,且能存取整個帳戶。

    Amazon S3 的你的金鑰步驟,含快速設定指南和金鑰欄位 Amazon S3 的你的金鑰步驟,含快速設定指南和金鑰欄位
  4. 選擇你的其中一個儲存桶並按下 使用這個儲存桶,或選擇 新建,輸入名稱(如果有要求,再選擇區域),然後按下 建立並準備。Nubbo 會在儲存桶中新增一條 CORS 規則,只允許從應用程式上傳和下載,並保留原有的規則。

    你的儲存桶步驟,含儲存桶清單和新建選項 你的儲存桶步驟,含儲存桶清單和新建選項
  5. 檢查三項確認結果,視需要變更 在 Nubbo 中的名稱,然後按下 完成。儲存桶會出現在 儲存桶 頁面中,你可以在檔案總管中開啟它。

    完成步驟,含連線、儲存桶和 CORS 的確認結果 完成步驟,含連線、儲存桶和 CORS 的確認結果

如果 Nubbo 無法用你的金鑰新增 CORS 規則,連線精靈會帶你到 CORS 步驟。接著請依照 新增 CORS 規則 操作。

使用受限金鑰連線

步驟 1:在 Amazon S3 準備儲存桶和金鑰

  1. 在主控台的頂端列選擇區域,開啟 S3,在 一般用途儲存貯體 下按下 建立儲存貯體。為它取個名稱(3 到 63 個字元:小寫字母、數字、點和連字號),並在 Block Public Access 開啟的狀態下建立。
  2. 在 IAM 中建立一個沒有任何權限的使用者(使用者、建立使用者)。
  3. 開啟該使用者,依序點選 許可 分頁、新增許可、建立內嵌政策。切換到 JSON 編輯器,貼上這份政策,把 YOUR-BUCKET 換成你的儲存桶名稱,然後取個名稱儲存。
  4. 和自動連線一樣,在 安全性憑證 下按 建立存取金鑰 建立金鑰,並下載 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 連接儲存桶

  1. 在 儲存桶 頁面中按下 連接儲存桶,選擇 Amazon S3,再選擇 使用受限金鑰。
  2. 上傳金鑰的 CSV 或貼上其內容,並選擇儲存桶的區域。按下 檢查金鑰。
  3. 輸入儲存桶的確切名稱,然後按下 檢查存取權限。
  4. 連線精靈會進入 CORS 步驟,並顯示你需要新增的規則。

新增 CORS 規則

CORS 規則讓瀏覽器可以在 https://nubbo.app 上從你的儲存桶上傳和下載檔案。這和連線精靈在 CORS 步驟中顯示的規則相同。

  1. 在 S3 主控台中開啟儲存桶,前往 許可 分頁。
  2. 向下捲動到 跨來源資源分享 (CORS),按下 編輯。
  3. 貼上規則,然後按下 儲存變更。
[
  {
    "AllowedHeaders": ["*"],
    "AllowedMethods": ["GET", "PUT", "POST", "DELETE", "HEAD"],
    "AllowedOrigins": ["https://nubbo.app"],
    "ExposeHeaders": ["ETag"],
    "MaxAgeSeconds": 3600
  }
]
CORS 步驟,含要新增到儲存桶的規則 CORS 步驟,含要新增到儲存桶的規則

儲存後回到 Nubbo,按下 已新增,檢查。部分服務供應商需要約一分鐘才能套用。如果你的金鑰有變更 CORS 的權限,嘗試幫我設定 會替你完成。

如果出了問題

Nubbo 中的訊息該怎麼做
「憑證無效。請檢查存取金鑰和私密存取金鑰。」重新複製兩把金鑰,開頭和結尾不要有空格。
「這把金鑰似乎僅限一個儲存桶。你可以繼續使用受限方式,或建立一把具有完整存取權限的金鑰。」按下繼續使用受限金鑰,或建立一把可存取整個帳戶的金鑰,然後按下換一把金鑰。
「找不到儲存桶。請確認名稱和區域。」確認儲存桶的確切名稱,以及所選區域是否為儲存桶所在的區域。
「你的金鑰沒有建立儲存桶的權限。」使用具有完整存取權限的金鑰,或在你的控制台建立儲存桶,然後按下我已在控制台中建立。
「這個名稱在此服務供應商已被使用;請換一個。」儲存桶名稱在整個服務供應商中是唯一的:請換一個。
「你的金鑰沒有設定它的權限。」依照上方說明手動新增 CORS 規則。
「仍未生效。請檢查規則後再試一次;部分服務供應商需要約一分鐘才能套用。」確認來源完全是 https://nubbo.app,結尾沒有斜線,等一分鐘後再檢查一次。
「此儲存桶已在使用中。」這個儲存桶已經在 Nubbo 中連線,可能是在你的帳戶或其他帳戶中。
「儲存桶位於不同的區域。請確認設定的區域。」在你的金鑰步驟中,選擇儲存桶所在的區域。
「我們沒有在該檔案中找到金鑰,請手動貼上。」上傳你建立金鑰時下載的 CSV,或原封不動地貼上其內容。

費用

Amazon S3 會針對儲存、請求和流出的資料傳輸收費。我們在 Amazon S3 定價 中以範例說明。

常見問題

使用 Nubbo 需要把 S3 儲存桶設為公開嗎?

不需要。Nubbo 會讓儲存桶保持私人,Block Public Access 可以維持開啟。上傳和下載使用會到期的預先簽署 URL。

AWS 金鑰需要哪些權限?

自動方式需要 AmazonS3FullAccess 政策。使用受限金鑰時,只要一份僅授予你儲存桶存取權的內嵌政策即可:列出、讀取、寫入和刪除物件。

我可以使用 AWS 根使用者的金鑰嗎?

這不是好主意,AWS 也不建議這麼做。請建立一個專供 Nubbo 使用的 IAM 使用者,之後就能停用它的金鑰,而不影響其他任何東西。

為什麼 Nubbo 沒有 AWS 金鑰的輸入欄位?

因為 AWS 會以 CSV 提供金鑰。Nubbo 會直接讀取:你上傳檔案或貼上其內容,永遠不必手動複製私密金鑰。

我可以連接多個 S3 儲存桶嗎?

可以。每個儲存桶都計入你的方案上限:免費方案可連接 2 個,Personal 5 個,Pro 則不限,而且可以來自不同的 AWS 帳戶。

資料來源

價格與限制取自以下官方頁面。服務供應商會調整這些內容,決定前請先確認。