用專用子賬號,不要用主賬號密鑰
插件的 AccessKey 會寫入數據庫。如果用雲廠商主賬號 (阿里雲 RAM 、騰訊雲子賬號體系之外) 的密鑰,一旦數據庫泄露,攻擊者就能操作你賬號下的所有資源。正確做法是為插件建一個只有目標桶權限的子賬號。
阿里雲 OSS 策略示例
在 RAM 訪問控制新建用户 (如 wpsss-mysite),創建 AccessKey,然後掛一條自定義策略:
{
"Version": "1",
"Statement": [{
"Effect": "Allow",
"Action": [
"oss:PutObject", "oss:GetObject", "oss:DeleteObject",
"oss:GetObjectMeta", "oss:HeadObject",
"oss:ListObjects", "oss:ListObjectsV2",
"oss:GetBucketInfo", "oss:GetBucketLocation"
],
"Resource": [
"acs:oss:*:<你的UID>:<你的桶名>",
"acs:oss:*:<你的UID>:<你的桶名>/*"
]
}]
}
這套權限覆蓋插件全部功能:上傳、下載、刪除、分片上傳、桶間複製、體檢。不需要的權限一個都不給。
ECS 服務器免密鑰 (僅阿里雲)
如果 WordPress 跑在阿里雲 ECS 上,可以不填 AccessKey,改用 RAM 角色:在高級設置的 「憑證」 下拉選 「ECS 實例 RAM 角色」,並填 「RAM 角色名」,插件通過 ECS 元數據接口取臨時密鑰。臨時密鑰每小時輪換,比長期密鑰更安全。注意安全組要放行 100.100.100.200(元數據服務) 。
密鑰的日常管理
- 設置頁裏已保存的密鑰顯示為 「已保存」,留空保存時保持不變——換密鑰時填新值,不用重填舊的。
- 導出設置 JSON 不包含密鑰;換站遷移時密鑰要重新填。
- 懷疑泄露就立刻在雲控制枱禁用該 AccessKey,插件側換新的。
