跳轉至

如何申請 Cloudflare R2 S3 訪問令牌

TG-FF 通過 S3 兼容 API 讀寫 Cloudflare R2 存儲桶時,需要你在 R2 控制檯創建 Account API 令牌,並獲取以下憑據:

  • Access Key ID(訪問密鑰 ID)
  • Secret Access Key(機密訪問密鑰)
  • S3 Endpoint(S3 終結點)

本教程會帶你完成從進入 R2 到複製憑據的全過程。

安全提示

S3 訪問令牌相當於存儲桶密鑰,不要發給他人,也不要提交到公開倉庫。Secret Access Key 只在創建時完整顯示一次,關閉頁面後無法再次查看。

與 Cloudflare API Token 的區別

本文創建的是 R2 S3 訪問令牌(Access Key / Secret Key),用於 S3 客戶端讀寫對象。
若需配置 Workers、D1 等 Cloudflare 服務,請參考 如何爲 Cloudflare 賬號申請 API Token


開始之前,請先準備好

準備項 說明
Cloudflare 賬號 已註冊並可以登錄 控制檯
已開通 R2 若尚未開通,請先閱讀 如何註冊 Cloudflare 賬號並開通 R2 存儲
電腦瀏覽器 建議使用 Chrome、Edge 或 Safari,界面以中文爲例
記事本或密碼管理器 用於保存 Access Key、Secret Key 和 Endpoint

第一步:進入 R2 並打開 API 令牌管理

  1. 登錄 Cloudflare 控制檯
  2. 左側菜單找到 「存儲和數據庫」「R2 對象存儲」
  3. 在右側 「賬戶詳情」 區域,找到 「API 令牌」 一行
  4. 點擊右側 「管理」 按鈕

進入 R2 並打開 API 令牌管理

同頁還可複製

賬戶詳情 中,你還可以直接複製 賬戶 IDS3 API 終結點地址,後續配置 S3 客戶端時會用到。


第二步:創建 Account API 令牌

進入 R2 對象存儲 的 API 令牌頁面後,你會看到兩類令牌:

類型 說明 推薦場景
賬戶 API 令牌 與整個賬戶關聯,即使用戶離開組織也仍然有效 生產環境(推薦)
用戶 API 令牌 與用戶賬號綁定,用戶離開組織後失效 個人開發、臨時測試

TG-FF 對接 R2 建議使用 賬戶 API 令牌

  1. 「賬戶 API 令牌」 區域,點擊 「創建 Account API 令牌」

創建 Account API 令牌


第三步:配置權限並創建

在創建頁面按以下方式配置:

3.1 選擇權限

選擇 「管理員讀和寫」

  • 允許創建、列出和刪除存儲桶
  • 允許編輯存儲桶配置
  • 允許對對象及其元數據進行讀取、寫入和列出

這是 TG-FF 正常讀寫 R2 對象所需的權限。

3.2 設置 TTL

TTL 設置爲 「永久」,避免令牌過期導致服務中斷。

若你希望定期輪換密鑰,也可以改爲固定天數,到期前需重新創建並更新 TG-FF 配置。

3.3 客戶端 IP 地址篩選(可選)

默認留空即可,表示 允許所有 IP 使用該令牌。

若你的服務器 IP 固定,可在 「包括」 中填入 IP 或 CIDR 段,進一步限制訪問來源。

3.4 點擊創建

覈對無誤後,點擊頁面底部 「創建 Account API 令牌」

配置權限並創建令牌


第四步:複製 S3 憑據

創建成功後,頁面會顯示 「爲 S3 客戶端使用以下憑據」。請 立即 複製並保存:

憑據 說明
訪問密鑰 ID 即 Access Key ID,S3 客戶端的用戶名
機密訪問密鑰 即 Secret Access Key,S3 客戶端的密碼
S3 終結點 選擇 「默認」 標籤頁下的 Endpoint URL

操作步驟:

  1. 點擊 「訪問密鑰 ID」 下方字段,複製 Access Key ID
  2. 點擊 「機密訪問密鑰」 下方字段,複製 Secret Access Key
  3. 「默認」 標籤下,複製 S3 終結點 URL
  4. 將三項憑據保存到安全位置
  5. 確認已保存後,點擊 「完成」 關閉頁面

複製 S3 訪問憑據

憑據只顯示一次

頁面底部藍色提示:出於安全原因,這些令牌值不會再次顯示。 若當時沒有複製 Secret Access Key,只能刪除舊令牌並重新創建。

在 TG-FF 中填寫

將第四步複製的信息填入 TG-FF 的 R2 / S3 配置項:

配置項 對應憑據
Access Key ID 訪問密鑰 ID
Secret Access Key 機密訪問密鑰
Endpoint / S3 API 默認標籤下的 S3 終結點

若 TG-FF 還需要 存儲桶名稱,請在 R2 控制檯的存儲桶列表中查看(例如 tg-ff-stream)。


常見問題

應該選 Account 還是 User API 令牌?

TG-FF 長期運行建議使用 Account API 令牌。User 令牌綁定個人賬號,人員變動時可能失效,更適合臨時調試。

權限可以選「僅讀」嗎?

若 TG-FF 只需要下載、不需要上傳,可以選 「管理員只讀」。需要上傳媒體或寫入對象時,請使用 「管理員讀和寫」

與 Cloudflare API Token 有什麼關係?

兩者獨立、用途不同:

項目 R2 S3 訪問令牌 Cloudflare API Token
格式 Access Key ID + Secret Access Key 單一 Token 字符串
協議 S3 兼容 API Cloudflare REST API
典型用途 讀寫 R2 對象 Workers、D1、KV 等管理

TG-FF 若同時用到 R2 對象存儲和 Workers,兩項可能 都需要 分別配置。

Secret Access Key 丟失了怎麼辦?

  1. 回到 R2 API 令牌 管理頁
  2. 刪除(撤銷) 舊令牌
  3. 按本教程重新創建
  4. 在 TG-FF 中更新爲新憑據

界面是英文的怎麼辦?

Cloudflare 控制檯可在賬戶設置中將語言切換爲 簡體中文,菜單名稱與本文截圖一致。


流程回顧

flowchart LR
    A[R2 賬戶詳情] --> B[管理 API 令牌]
    B --> C[創建 Account API 令牌]
    C --> D[配置權限與 TTL]
    D --> E[複製 Access Key 與 Secret]
    E --> F[填入 TG-FF 配置]

按以上步驟操作,你就能爲 TG-FF 創建 R2 S3 訪問令牌。若尚未開通 R2,請先閱讀 R2 開通教程。遇到問題可加入 TG-FF 用戶交流羣 交流。