執行個體RAM角色和憑證 Ram role and AccessKey

Alibaba Cloud環境中每個服務在啟用時均會預設帶入predifined role以讓該服務功能可被完整的使用,但predefined role多半具有上千個不同的權限,而實際使用情境很可能只用到其中的數十個不等的權限,建議可依照每個使用服務情境來做細緻化的權限設定,盡可能減少使用predifined roles來做權限配置。

常見的問題發生於開發人員為圖操作方便,將AccessKey寫入程式/api呼叫中,甚至將程式上傳至公開的git管理平台上,造成這些重要的資訊以明碼的方式暴露在網路上,任何有心人士均可在提取帳密後對公司的環境進行操作、甚至是提權。

 

切記:

  1. 妥善保管AccessKey。
  2. 勿將AccessKey寫於程式內,建議以檔案呼叫的方式撰寫,並且勿將含有AccessKey的程式碼上傳至git中。

 

保護服務帳戶及服務帳戶金鑰 Secure a ram role and AccessKey

當服務帳戶(Ram role)建立時可使用金鑰(Key)進行帳戶存取保護,以方便開發人員存取 Alibaba Cloud 環境資源。然而多數情境為開發人員為圖方便,將服務帳戶所產生的金鑰寫入程式碼中,並且將程式碼放置於版本管控平台上(Github, Gitlab…..),往往服務帳戶的權限多使用預設權限,也就是具有極大的權限可以針對雲端環境資源進行存取/編輯/刪除等操作,在未收斂權限且金鑰暴露的狀況下,任何不法人士很可能造成憑證洩漏(Credential leakage)、提權(Privilege escalation)、資訊洩漏(Information disclosure)、不可否認(Non-repudiation)等資安隱憂。

Alibaba Cloud在文件中建議在收斂服務帳戶的同時,勿在開發時將金鑰放置於程式碼中,以下有幾種方法可以強化使用服務帳戶的安全性:服務帳戶權限收斂、刪除不必要的服務帳戶以及第三方git環境檢測金鑰功能[1][2]。

 

除了上述的方法外,遵循良好的國際組織規範[3][4]更可對於所有DevOps行為進行檢視和稽核,更進一步強化開發流程安全性。

關於保護服務帳戶及服務帳戶金鑰請參考下方連結資訊。

  [1]Github secret scanning

  [2]Gitlab secret scanning

  [3]ISO27001-2013- A.10 密碼學 

  [4]ISO27001-2013- A.14 系統開發與維護

 

保護API金鑰 Secure API Key

使用API呼叫Alibaba Cloud 的服務前必須產生API 金鑰(key),API keys主要是針對Alibaba Cloud 的專案帳單以及配額為驗證目的。然而API金鑰在儲存或傳輸時應被妥善保護,若未妥善保護則可能導致您的帳號遭駭近一步產生無法預期的費用。因此在管理API金鑰時有以下建議之方式以保護金鑰[1]:

  1. 避免將API金鑰嵌入至程式碼中,且應避免上傳至任何版本控管平台當中。
  2. 針對API金鑰進行限制,例如哪些來源(ip,url,android,ios)可以存取
  3. 刪除已經未再使用的API金鑰以避免被揭露的風險。
  4. 定期更新API金鑰,並讓應用程式採用新的API金鑰。
  5. 配置針對使用API 金鑰的最小權限原則。

 

關於保護API金鑰請參考下方連結資訊。

  [1]Secure an API key

常見問題 FAQ

Alibaba Cloud RAM角色和憑證、保護服務相關安全機制 是什麼?

Alibaba Cloud RAM角色和憑證、保護服務相關安全機制 是阿里雲提供的雲端服務功能,Alibaba Cloud 環境中每個服務在啟用時均會預設帶入 predifined role 以讓該服務功能可被完整的使用,但 predefined role。

如何在阿里雲上完成 RAM角色和憑證、保護服務相關安全機制 設定?

登入阿里雲控制台後,進入對應服務模組,依照本文步驟完成 RAM角色和憑證、保護服務相關安全機制 配置。

阿里雲 RAM角色和憑證、保護服務相關安全機制 與其他雲端平台相比有何特點?

阿里雲針對亞太市場優化,提供本地化支援與彈性計費,適合在台灣或亞洲地區營運的企業。