本文羅列了 RAM 中用到的主要術語,協助您正確理解和使用 RAM。

身份管理相關術語

雲賬戶(主賬戶)

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

預設情況下,資源只能被屬主(ResourceOwner)所訪問,任何其他使用者訪問都需要獲得屬主的顯式授權。所以從許可權管理的角度來看,雲賬戶就是作業系統的 root 或 Administrator,所以我們有時稱它為 根賬戶主賬戶

雲賬戶別名(Alias)

每個雲賬戶可以在 RAM 中為自己設定一個全域唯一的別名。別名主要用於 RAM 使用者登入以及成功登入後的顯示名。

比如,雲帳號 admin@abc.com 為自己設定一個別名為 abc.com,那麼其名下的 RAM 使用者 alice 成功登入後,顯示名就是 alice@abc.com。

身份憑證(Credential)

身份憑證是用於證明使用者真實身份的憑據,它通常是指登入密碼或存取金鑰(Access Key)。身份憑證是秘密資訊,使用者必須保護好身份憑證的安全。

  • 登入名稱/密碼(Password)。您可以使用登入名稱和密碼登入阿里雲控制台,查看訂單、賬單或購買資源,並通過控制台進行資源操作。
  • 存取金鑰(AccessKey)。您可以使用存取金鑰構造一個 API 請求(或者使用雲端服務 SDK)來操作資源。
  • 多因素認證(MFA)。Multi-Factor Authentication, 是一種簡單有效最佳安全實踐方法,它能夠在使用者名和密碼之外再額外增加一層安全保護。啟用 MFA 後,使用者登入阿里雲網站時,系統將要求輸入使用者名和密碼(第一安全要素),然後要求輸入來自其MFA裝置的可變驗證碼(第二安全要素)。這些多重要素結合起來將為您的賬戶提供更高的安全保護。

RAM 使用者

RAM 允許在一個雲賬戶下建立多個 RAM 使用者(可以對應企業內的員工、系統或應用程式)。RAM 使用者不擁有資源,沒有獨立的計量計費,這些使用者由所屬雲賬戶統一控制和付費。RAM 使用者是歸屬於雲賬戶,只能在所屬雲賬戶的空間下可見,而不是獨立的雲賬戶。RAM 使用者必須在獲得雲賬戶的授權後才能登入控制台或使用 API 操作雲賬戶下的資源。

RAM 使用者有兩種身份類型:RAM-User 和 RAM-Role。

  • RAM-User 是一種實體身份類型,有確定的身份 ID 和身份憑證,它通常與某個確定的人或應用程式一一對應。
  • RAM-Role 是一種虛擬身份類型,它沒有確定的身份憑證,它必須關聯到某個實體身份上才能使用。

RAM-Role

RAM 角色。傳統意義上的角色(教科書式角色)是指一組許可權集合,它類似於 RAM 裡的 Policy。如果一個使用者被賦予了某種角色,也就意味著該使用者被賦予了一組許可權,然後該使用者就能訪問被授權的資源。

RAM 角色不同於教科書式角色。RAM 角色是一種虛擬使用者(或影子帳號),它是 RAM 使用者類型的一種。這種虛擬使用者有確定的身份,也可以被賦予一組許可權(Policy),但它沒有確定的身份認證密鑰(登入密碼或 AccessKey)。與普通 RAM 使用者的差別主要在使用方法上,RAM 角色需要被一個授信的實體使用者扮演,扮演成功後實體使用者將獲得 RAM 角色的臨時安全性權杖,使用這個臨時安全性權杖就能以角色身份訪問被授權的資源。

RAM-Role 與 Textbook-Role(教科書式角色)的差異如下:

  • (相同點)RAM-Role 和 Textbook-Role 都可以綁定一組許可權集。
  • (不同點)RAM-Role 是一種虛擬身份或影子帳號,它有獨立的身份 ID,除了綁定許可權之外,還需要指定演員列表(Roleplayers),它主要用於解決與身份聯盟(Identity Federation)相關的問題。Textbook-Role 通常只表示一組許可權的集合,它不是身份,主要用於簡化授權管理。

    RAM-Role 的扮演與切換

  • 從登入身份切換到角色身份(SwitchRole):一個實體使用者(比如 RAM-User)登入到控制台後,可以選擇 切換到某個角色,前提是這個實體使用者已經被關聯了角色。每次只能切換進入某一種角色。當使用者從 登入身份 進入 角色身份 時,使用者只能使用角色身份上所綁定的許可權,而登入身份上綁定的許可權會被屏蔽。如果需要使用登入身份的許可權,那麼需要從角色身份切換回到登入身份。
  • 從實體身份通過程式調用方式扮演角色(AssumeRole):如果一個實體使用者(比如 RAM-User)關聯了某個 RAM-Role,那麼該使用者可以使用存取金鑰(AccessKey)來調用 STS 服務的 AssumeRole 介面來獲得這個 RAM-Role 的一個臨時存取金鑰。臨時存取金鑰有到期時間和受限制的存取權限(不會超過該角色所綁定的許可權集),通常用於解決臨時授權問題。
存取控制相關術語

資源(Resource)

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

我們為每個資源定義了一個全域的阿里雲資源名稱(Aliyun Resource Name, ARN)。格式如下:

acs:<service-name>:<region>:<account-id>:<resource-relative-id>

格式說明:

  • acs: Alibaba Cloud Service 的首字母縮寫,表示阿里雲的公用雲端平台。
  • service-name: 阿里雲提供的 Open Service 的名字,如 ecs, oss, odps 等。
  • region: 地區資訊。如果不支援該項,可以使用萬用字元“*”號來代替。
  • account-id: 帳號 ID,比如 1234567890123456
  • resource-relative-id: 與 service 相關的資源描述部分,其語義由具體 service 指定。以 OSS 為例,acs:oss::1234567890123456:sample_bucket/file1.txt 表示公用雲端平台 OSS 資源,OSS 對象名稱是 sample_bucket/file1.txt,對象的 Owner 是 1234567890123456

許可權(Permission)

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

操作可以分為兩大類:資源管控操作資源使用操作

  • 資源管控操作是指雲資源的生命週期管理及營運管理操作,比如 ECS 的執行個體建立、停止、重啟等,OSS 的 Bucket 建立、修改、刪除等;所面向的使用者一般是資源購買者或您組織內的營運員工。
  • 資源使用操作是指使用資源的核心功能,比如 ECS 執行個體作業系統中的使用者操作,OSS Bucket 的資料上傳/下載;所面向的使用者一般是您組織內的研發員工或應用系統。
    说明 對於彈性計算和資料庫產品,資源管控操作可以通過 RAM 來管理,而資源使用操作是在每個產品的執行個體內進行管理,比如 ECS 執行個體作業系統的許可權控制,MySQL 資料庫提供的許可權控制。單對於儲存類產品,如 OSS、Table Store 等,資源管控操作和資源使用操作都可以通過 RAM 來管理。

授權策略(Policy)

授權策略是描述許可權集的一種簡單語言規範。RAM 支援的語言規範請參見Policy 文法結構。 RAM 支援兩種類型的授權策略:雲平台管理的 系統存取原則 和客戶管理的 自訂存取原則

  • 對於阿里雲管理的系統存取原則,使用者只能使用,不能修改,阿里雲會自動完成系統存取原則的版本更新。
  • 對於客戶管理的自訂存取原則,使用者可以自主建立和刪除,策略版本由客戶自己維護。