全部產品
Search
文件中心

Resource Access Management:基本概念

更新時間:Jun 27, 2024

本文解釋了RAM的基本概念,協助您正確理解和使用RAM。

身份管理相關概念

概念

說明

阿里雲帳號(Alibaba Cloud account)

開始使用阿里雲服務前,首先需要註冊一個阿里雲帳號。阿里雲帳號是阿里雲資源歸屬、資源使用計量計費的基本主體。阿里雲帳號為其名下所擁有的資源付費,並對其名下所有資源擁有完全控制許可權。

預設情況下,資源只能被阿里雲帳號所訪問,任何其他使用者訪問都需要獲得阿里雲帳號的顯式授權。阿里雲帳號就是作業系統的root或Administrator,所以我們有時稱它為根帳號或主帳號。

為確保阿里雲帳號的安全,如非必要,避免使用阿里雲帳號登入控制台以及為其建立存取金鑰(AccessKey)。推薦您在阿里雲帳號下建立一個RAM使用者,並授予管理員權限,後續使用該RAM使用者執行管理操作。

帳號管理員

帳號管理員具備帳號下所有資源的系統管理權限。帳號管理員可以是阿里雲帳號(主帳號),也可以是主帳號下擁有AdministratorAccess許可權的RAM使用者,強烈推薦您使用RAM使用者充當帳號管理員。更多資訊,請參見建立帳號管理員

Resource Access Management員

Resource Access Management員具備帳號下RAM資源的系統管理權限。Resource Access Management員可以是阿里雲帳號(主帳號),也可以是主帳號下擁有AliyunRAMFullAccess許可權的RAM使用者,強烈推薦您使用RAM使用者充當Resource Access Management員。

身份(Identity)

存取控制(RAM)中有三種身份:RAM使用者、使用者組和RAM角色。其中RAM使用者和使用者組是RAM的一種實體身份類型,RAM角色是一種虛擬使用者身份。

預設網域名稱(Default domain name)

阿里雲為每個阿里雲帳號分配了一個預設網域名稱,格式為<AccountAlias>.onaliyun.com,其中<AccountAlias>表示帳號別名。預設網域名稱可作為RAM使用者登入或單點登入(SSO)等情境下該阿里雲帳號的唯一識別碼。

關於如何設定預設網域名稱,請參見查看和修改預設網域名稱

帳號別名(Account alias)

帳號別名也叫企業別名,帳號別名的預設值為阿里雲帳號ID<AccountID>。帳號別名即預設網域名稱中的<AccountAlias>,在設定預設網域名稱時,相當於設定帳號別名。在用於RAM使用者登入時,帳號別名和預設網域名稱等價,使用任何一個均可完成登入。

例如:企業可以為其阿里雲帳號設定帳號別名為:company1,該阿里雲帳號下的RAM使用者alice可以使用alice@company1登入阿里雲控制台。

關於如何設定帳號別名,請參見查看和修改預設網域名稱

域別名(Domain alias)

如果您持有公網上可以解析的網域名稱,那麼您可以使用該網域名稱替代您的預設網域名稱,該網域名稱稱為域別名。域別名就是指預設網域名稱的別名。

說明

域別名必須經過網域名稱歸屬驗證後才能使用。驗證通過後,您可以使用域別名替代預設網域名稱,用於所有需要使用預設網域名稱的情境。

關於如何設定域別名,請參見建立並驗證域別名

RAM使用者(RAM user)

RAM使用者也叫RAM帳號,是RAM的一種實體身份類型,有確定的身份ID和身份憑證,它通常與某個確定的人或應用程式一一對應。RAM使用者具備以下特點:

  • 一個阿里雲帳號下可以建立多個RAM使用者,對應企業內的員工、系統或應用程式。

  • RAM使用者不擁有資源,不能獨立計量計費,由所屬阿里雲帳號統一控制和付費。

  • RAM使用者歸屬於阿里雲帳號,只能在所屬阿里雲帳號的空間下可見,而不是獨立的阿里雲帳號。

  • RAM使用者必須在獲得阿里雲帳號的授權後才能登入控制台或使用API操作阿里雲帳號下的資源。

關於如何建立RAM使用者,請參見建立RAM使用者

登入密碼(Password)

登入密碼是登入阿里雲的身份憑證,用於證明使用者真實身份的憑證。

說明

登入密碼不支援查詢,請妥善保管並定期更換。

關於如何設定RAM使用者的登入密碼,請參見修改RAM使用者登入密碼

存取金鑰(AccessKey)

存取金鑰AccessKey(簡稱AK)是阿里雲提供給使用者的永久訪問憑據,一組由AccessKey ID和AccessKey Secret組成的金鑰組。

  • AccessKey ID:用於標識使用者。

  • AccessKey Secret:是一個用於驗證您擁有該AccessKey ID的密碼。

AccessKey ID和AccessKey Secret根據演算法由存取控制(RAM)產生,阿里雲對AccessKey ID和AccessKey Secret的儲存及傳輸均進行加密。

AccessKey不用於控制台登入,用於通過開發工具(API、CLI、SDK、Terraform等)訪問阿里雲時,發起的請求會攜帶AccessKey ID和AccessKey Secret加密請求內容產生的簽名,進行身分識別驗證及請求合法性校正。

關於如何建立存取金鑰,請參見建立AccessKey

多因素認證(MFA)

多因素認證是一種簡單有效最佳安全實踐,在使用者名稱和密碼之外再增加一層安全保護。這些要素結合起來將為您的帳號提供更高的安全保護。啟用多因素認證後,再次登入阿里雲時,系統將要求輸入兩層安全要素:

  1. 第一層安全要素:輸入使用者名稱和密碼。

  2. 第二層安全要素:輸入虛擬MFA裝置產生的驗證碼,或通過U2F安全密鑰認證。

關於如何設定多因素認證,請參見為阿里雲帳號綁定MFA裝置為RAM使用者綁定MFA裝置

使用者組(RAM user group)

使用者組是RAM的一種實體身份類型,使用者組可以對職責相同的RAM使用者進行分類並授權,從而更好地系統管理使用者及其許可權。

  • 在RAM使用者職責發生變化時,只需將其移動到相應職責的使用者組下,不會對其他RAM使用者產生影響。

    關於如何建立使用者組,請參見建立RAM使用者組

  • 當使用者組的許可權發生變化時,只需修改使用者組的權限原則,即可應用到所有RAM使用者。

    關於如何為使用者組授權,請參見為RAM使用者組授權

RAM角色(RAM role)

RAM角色是一種虛擬使用者,可以被授予一組權限原則。與RAM使用者不同,RAM角色沒有永久身份憑證(登入密碼或存取金鑰),需要被一個可信實體扮演。扮演成功後,可信實體將獲得RAM角色的臨時身份憑證,即安全性權杖(STS Token),使用該安全性權杖就能以RAM角色身份訪問被授權的資源。

根據不同的可信實體類型,RAM角色分為以下幾種:

服務提供者(SP)

利用IdP的身份管理功能,為使用者提供具體服務的應用。SP會使用IdP提供的使用者資訊。一些非SAML協議的身份系統(例如:OpenID Connect),也把服務提供者稱作IdP的信賴方。

身份供應商(IdP)

一個包含有關外部身份供應商中繼資料的RAM實體,身份供應商可以提供身份管理服務。

  • 企業本地IdP:Microsoft Active Directory Federation Service(AD FS)以及Shibboleth等。

  • Cloud IdP:Azure AD、Google Workspace、Okta以及OneLogin等。

安全性聲明標記語言(SAML 2.0)

實現企業級使用者身份認證的標準協議,它是SP和IdP之間實現溝通的技術實現方式之一。SAML 2.0已經是目前實現企業級SSO的一種事實標準。

單點登入(SSO)

阿里雲支援基於SAML 2.0和OIDC的SSO(Single Sign On,單點登入),也稱為身份同盟登入。阿里雲提供以下兩種SSO方式:

  • 使用者SSO

    阿里雲通過IdP頒發的SAML斷言確定企業使用者與阿里雲RAM使用者的對應關係 。企業使用者登入後,使用該RAM使用者訪問阿里雲資源。更多資訊,請參見使用者SSO概覽

  • 角色SSO

    支援基於SAML 2.0和OIDC的兩種角色SSO:

    • SAML角色SSO:阿里雲通過IdP頒發的SAML斷言確定企業使用者在阿里雲上可以使用的RAM角色。企業使用者登入後,使用SAML斷言中指定的RAM角色訪問阿里雲資源。請參見SAML角色SSO概覽

    • OIDC角色SSO:企業使用者通過IdP簽發的OIDC令牌(OIDC Token),調用阿里雲API扮演指定角色並換取角色臨時身份憑證(STS Token),然後使用STS Token安全地訪問阿里雲資源。更多資訊,請參見OIDC角色SSO概覽

中繼資料文檔(Metadata file)

中繼資料文檔由企業IdP提供,一般為XML格式,包含IdP的登入服務地址、用於驗證簽名的公開金鑰及斷言格式等資訊。

SAML斷言(SAML assertion)

SAML協議中用於描述認證請求和認證響應的核心元素。例如:使用者的具體屬性就包含在認證響應的斷言裡。

信賴(Trust)

建立在SP和IdP之間的互信機制,通常由公開金鑰和私密金鑰來實現。SP通過可信的方式擷取IdP的SAML中繼資料,中繼資料中包含IdP簽發SAML斷言的簽名驗證公開金鑰,SP則使用公開金鑰來驗證斷言的完整性。

存取控制相關概念

概念

說明

許可權(Permission)

許可權是指是否允許使用者對某種資源執行某種操作,許可權分為:允許(Allow)或拒絕(Deny)。

操作分為兩大類:

  • 資源管控操作:指雲資源的生命週期管理及營運管理操作,所面向的使用者一般是資源購買者或組織內的營運員工。例如:ECS執行個體的建立、停止或重啟,OSS儲存空間的建立、修改或刪除等。

  • 資源使用操作:指使用資源的核心功能,所面向的使用者一般是組織內的研發員工或應用系統。例如:ECS執行個體作業系統中的使用者操作,OSS儲存空間的資料上傳或下載。

    說明
    • 對於彈性計算和資料庫等產品,資源管控操作可以通過RAM來管理,而資源使用操作是在每個產品的執行個體內進行管理。例如:ECS執行個體作業系統的許可權控制或MySQL資料庫提供的許可權控制。

    • 對於儲存類等產品,例如:OSS或Table Store等,資源管控操作和資源使用操作都可以通過RAM來實現。

權限原則(Policy)

權限原則是用文法結構描述的一組許可權的集合,可以精確地描述被授權的資源集、操作集以及授權條件。權限原則是描述許可權集的一種簡單語言規範。關於RAM支援的語言規範,請參見權限原則文法和結構

在RAM中,權限原則是一種資源實體。RAM支援以下兩種權限原則:

  • 阿里雲管理的系統策略:統一由阿里雲建立,使用者只能使用不能修改,策略的版本更新由阿里雲維護。

  • 客戶管理的自訂策略:使用者可以自主建立、更新和刪除,策略的版本更新由客戶自己維護。

通過為RAM使用者、使用者組或RAM角色綁定權限原則,可以獲得權限原則中指定的存取權限。更多資訊,請參見為RAM使用者授權為RAM使用者組授權為RAM角色授權

授權主體(Principal)

獲得策略中定義的許可權主體,授權主體可以為RAM使用者、使用者組或RAM角色。

效果(Effect)

權限原則基本元素之一,表示授權效果。取值為:允許(Allow)或拒絕(Deny)。

操作(Action)

權限原則基本元素之一,表示對具體資源的操作。取值為:雲端服務所定義的API操作名稱。

條件(Condition)

權限原則基本元素之一,表示授權生效的條件。

資源(Resource)

資源是雲端服務呈現給使用者與之互動的對象實體的一種抽象,例如:OSS儲存空間或ECS執行個體等。

ARN(Aliyun Resource Name)

ARN是阿里雲為每個資源定義的全域資源名稱。在RAM授權時,ARN遵循的格式為acs:<ram-code>:<region>:<account-id>:<relative-id>,欄位含義如下:

  • acs:Alibaba Cloud Service的首字母縮寫,表示阿里雲的公用雲平台。

  • ram-code:雲端服務的RAM代碼。更多資訊,請參見支援RAM的雲端服務RAM代碼列。

  • region:地區資訊。對於全域資源(無需指定地區就可以訪問的資源),該欄位用星號(*)表示。更多資訊,請參見地區和可用性區域

  • account-id:阿里雲帳號ID。例如:123456789012****

  • relative-id:與雲端服務相關的資源描述部分,其語義由具體雲端服務指定。這部分的格式支援樹狀結構(類似檔案路徑)。以OSS為例,表示一個OSS對象的格式為:relative-id = "mybucket/dir1/object1.jpg"