來講個 Backblaze 放出來一陣子的功能:「What’s New In B2: Application Keys + Java SDK」。
B2 的價位很便宜 (單位成本比 S3 低不少),加上前 10 GB 屬於 free tier 不收費,拿來丟一些資料還蠻方便的。
以往的 B2 在 API 操作只提供一把 master key,安全性上需要很小心,只要被攻陷就直接打穿了,現在則是提供 application key 操作,但不像 AWS 的 IAM 那樣可以在一個 key 上設很多權限。B2 提供的架構很簡單,只能針對一個 bucket 設定權限。這應該是解決 B2 最常見的情境?也就是需要在各機器上分別備份...
另外摸索了一陣子後才確認用法,在文章的 comment 有提到:
You use the ApplicationKeyID with the ApplicationKey, and not the account ID, per the b2_authorize_account documentation.
In a sense, the master key is a special case of this: the AccountID is the ‘key ID’ for the master key.
也就是產生 application key 的時候會給你 secret key 以外,也會給你另外一組 key id,要用這兩個傳入呼叫 API,所有的操作都會受到限制。
關於備份的工具,大家蠻常用 rclone 的,主要是因為他可以加密再丟上去,讓 Backblaze 沒辦法直接存取內容。而 rclone 在 Ubuntu 18.04 可以 apt 直接裝,先前的版本則需要透過 snap 裝 (實在不愛 snap...),不過看起來還需要新版才會支援 application key。
過陣子來把現有的 master key 換一換...