在雲環境中,身份是雲環境中執行操作的實體,許可權是安全邊界的基石。遵循阿里雲卓越架構架構(Alibaba Cloud Well-Architected Framework),並結合存取控制(RAM)的產品功能,是構建安全、合規、可擴充雲上體系的核心。本指南將從人員身份、程式身份、許可權管理三個維度,為您提供一套理論與實踐相結合的最佳實務。
人員身份最佳實務
人員身份代表您的企業員工或組織成員,如安全性系統管理員、營運或開發人員等使用者。管理的核心在於集中化、精細化,並建立多層防護。
1. 避免使用主帳號進行日常營運
最佳實務:阿里雲主帳號類似於Linux系統中的root使用者,擁有所有許可權,但不適合日常使用。最佳實務建議如下:
建立一個擁有管理員權限的RAM使用者,專門用於日常管理和技術操作。
阿里雲帳號僅在必要時使用,並妥善保管帳號密碼及MFA等相關憑證。
所有日常操作都通過Resource Access Management員使用者完成,避免阿里雲帳號暴露在日常環境中。
操作建議:
建立獨立RAM使用者:建議首先建立一個有管理員權限的RAM使用者,參考建立RAM使用者作為管理員,然後為您組織內的每一位成員建立獨立的RAM使用者,參考建立RAM使用者並授權。
為主帳號啟用MFA:參考配置帳號的MFA完成對主帳號的安全強化,並僅在必要時啟用主帳號,並妥善保管主帳號的帳號密碼及MFA等。
2. 建立更安全的登入機制
最佳實務:對於人員身份來說,保護好使用者名稱和密碼尤為重要。可以從以下幾種方式提升登入方式的安全性:複雜的密碼、定期輪換和MFA可以顯著增加密碼憑證被破解的難度。
RAM 功能操作指導:
提升密碼複雜度:通過設定RAM使用者密碼策略,修改RAM使用者密碼的最小長度、複雜度要求、以及密碼有效期間(如最長90天等),密碼重試次數等,提升RAM使用者密碼的安全性。
為RAM使用者強制啟用MFA:MFA是在密碼之外的第二道堅實防線,即使密碼泄露也能有效阻擋非法登入。在管理RAM使用者安全設定中,可以設定帳號下所有RAM使用者登入時必須使用MFA。
3. 實現人員身份的統一認證(SSO)
最佳實務:通過單點登入(SSO)將身份認證交由企業統一的身份供應商(Identity Provider,簡稱 IdP)管理,可以避免在雲上維護一套獨立的密碼體系。同時,人員的入職、離職、許可權變更都可以在IdP一處完成,實現身份的生命週期集中管理。
操作建議:使用RAM的SSO管理功能,基於SAML 2.0或OIDC協議,將您的企業IdP(如企業Active Directory、Okta等)與阿里雲的身份體系聯合。您可以根據環境和登入需求選擇配置使用者SSO或者角色SSO。
說明說明如果企業使用資來源目錄RD(Resource Directory)管理多個阿里雲帳號,則更推薦使用雲SSO來實現多帳號統一身份許可權管理。
程式身份最佳實務
程式身份:代表應用程式或服務,通常通過API以非互動方式訪問雲資源和資料。程式身份適用於自動化指令碼、應用程式開發、服務整合等情境。管理的核心是杜絕使用永久憑證,全面轉向有時效的臨時憑證。
1. 優先使用臨時憑證(STS Token)
最佳實務:永久AccessKey一旦建立,手動刪除之前永遠有效。AccessKey一旦泄露,風險持續存在。而通過RAM角色扮演的方式擷取的臨時憑證STS Token,在超過角色最大會話時間(小時級)後自動失效,即便意外泄露,其被利用的時間視窗也極小。
操作建議:使用無AK方案擷取STS Token(例如:ECS執行個體角色扮演、容器執行個體角色扮演、Function Compute角色扮演等),徹底避免暴露AK。更多內容,請參見:使用訪問憑據訪問阿里雲OpenAPI最佳實務。
2. 正確保管和使用不可避免的AccessKey
最佳實務:在某些無法使用STS Token的情境(如本地開發調試),若必須使用永久AccessKey,則應避免使用主帳號AccessKey,確保一個AccessKey只用於一個應用的一個環境,並定期更換。
操作建議:
避免使用主帳號AccessKey:在必須使用AccessKey的情境下,建議替換為具有適當許可權的RAM使用者的AccessKey。
避免共用Accesskey:為每個應用、每個環境(開發/測試/生產)建立獨立的RAM使用者和專用的AccessKey,參考建立AccessKey。
最小許可權授權:為AccessKey所在的RAM使用者授予該情境下的最小權限原則,可以定期識別過度授權,並按需系統管理權限策略授權。
嚴禁代碼寫入程式碼:通過配置系統內容變數或KMS憑據管理等方式管理AccessKey,絕不將AccessKey明文寫入程式碼程式庫。
訪問限制:配置網路存取原則,限制AccessKey只能從特定的IP地址訪問,參考AccessKey網路訪問限制策略。
及時禁用並回收閑置AccessKey:設定AccessKey最大閑置時間長度,建議設定在365天以內,推薦90天,參考管理RAM使用者安全設定。
監控審計:通過Action Trail(ActionTrail)監控AccessKey的使用情況,及時發現異常行為。
許可權管理最佳實務
許可權是安全的核心,定義了“誰”可以對“什麼”資源執行“何種”操作。管理的核心原則是“最小許可權”和“職責分離”。
1. 授予最小必要許可權
最佳實務:僅授予身份完成其既定任務所必需的最少許可權,可以最大程度地減小因憑證被盜用後可能造成的影響。
操作建議:
使用自訂策略:在非管理員情境避免直接使用
Administrator等許可權過大的系統策略,通過建立自訂權限原則精細授權,並明確指定資源(Resource),操作(Action/NotAction)和條件(Condition)等。定期審查許可權:可以定期識別過度授權,並按需系統管理權限策略授權。
2. 通過RAM使用者組簡化許可權管理
最佳實務:將許可權與職責綁定,將單一RAM使用者的許可權變更簡化為調整其所屬的RAM使用者組,提升管理效率並確保職責的一致性。
操作建議:
建立RAM使用者組:根據組織內的崗位職責建立RAM使用者組,例如網路系統管理員,應用開發等崗位分組。
配置權限原則:按照崗位職責要求為RAM使用者組授權,而不是直接附加到RAM使用者。
3. 在多帳號環境中設定許可權邊界
最佳實務:對於雲上有多個阿里雲帳號的組織,可以基於資來源目錄的管控策略,限制成員帳號內的RAM身份許可權範圍。
操作建議:在啟用資來源目錄的多帳號環境下,當成員帳號中的RAM使用者或RAM角色訪問阿里雲服務時,阿里雲將會先進行管控策略檢查,再進行帳號內的RAM許可權檢查,參考管控策略。注意在綁定管控策略前,建議先進行局部小範圍測試,確保策略的有效性與預期一致,然後再綁定到全部目標節點(資源夾、成員)。