本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。
身份是指用戶在系統中的唯一標識符,憑據是指用戶證明其身份的一組信息,而授權是決定一個已驗證身份的用戶擁有操作特定資源的權限的過程。通過身份、憑據、授權即可確保用戶身份的安全性和控制用戶對資源的訪問權限。
身份
身份是指用戶在系統中的唯一標識符,通過身份,系統可以識別用戶的身份,確定其操作權限。阿里云的身份類型主要有:阿里云賬號,RAM用戶,RAM角色。
阿里云賬號
阿里云賬號(主賬號)是阿里云資源歸屬、資源使用計量計費的基本主體。阿里云賬號為其名下所擁有的資源付費,并對其名下所有資源擁有完全控制權限。除了一些要求必須使用阿里云賬號的場景外,我們建議您使用RAM用戶或RAM角色身份訪問控制臺和調用OpenAPI。
RAM用戶
RAM用戶是RAM的一種實體身份類型,有確定的身份ID和身份憑證,它通常與某個確定的人或應用程序一一對應。更多詳情,請參見RAM用戶概覽。
RAM角色
RAM角色是一種虛擬用戶,可以被授予一組權限策略。與RAM用戶不同,RAM角色沒有永久身份憑證(登錄密碼或訪問密鑰),需要被一個可信實體扮演。扮演成功后,可信實體將獲得RAM角色的臨時身份憑證,即安全令牌(STS Token),使用該安全令牌就能以RAM角色身份訪問被授權的資源。
例如:阿里云賬號 A 開放了一個 RAM 角色a_rr1,授權 OSS 產品的
FullAccess
,將該 RAM 角色的扮演者指定為阿里云賬號 B 的 RAM 用戶b_ru1。那么開發者可通過登錄 B 賬號的 RAM 用戶b_ru1,通過角色扮演 A 賬號的a_rr1,管理 A 賬號的 OSS 資源。更多詳情,請參見RAM角色概覽。
憑據
憑據是指用戶證明其身份的一組信息。用戶在系統中進行登錄時,需要提供正確的憑據才能驗證身份。常見的憑據類型有:
阿里云主賬號和RAM用戶的永久憑據 AccessKey(簡稱AK)。一組由AccessKey ID和AccessKey Secret組成的密鑰對。
警告由于主賬號 AK 有資源完全的權限,一旦泄露風險巨大。建議您使用RAM用戶的AccessKey,并設置定期輪換,創建RAM用戶AccessKey的方法請參見創建AccessKey。
阿里云RAM角色的STS臨時訪問Token,簡稱STS Token。它是可以自定義時效和訪問權限的臨時身份憑據,更多詳情,請參見什么是STS。
說明臨時身份憑證只有一定的時效,若過期失效,需要再次調用 STS 獲取最新的 STS Token。
Bearer Token。它是一種身份驗證和授權的令牌類型。目前只有云呼叫中心CCC這款產品支持Bearer Token的憑據初始化方式。您可在鑒權方式配置選擇Bearer Token方式。
憑據如果發生泄漏,可能會給云上資源及業務帶來巨大的安全隱患,日常運維管理要尤其注意憑據的安全使用。更多詳情,請參見憑據的安全使用方案。
授權
授權是指系統管理員或者資源所有者授予用戶(身份)訪問資源的權限。在用戶身份驗證通過之后,系統會根據用戶的身份和權限來授權其對資源的訪問。
在阿里云OpenAPI中,每個接口都有其最小訪問權限策略,在調用接口前需要確認調用者是否具備對應的權限。每個接口的最小訪問權限策略可通過OpenAPI門戶的API文檔界面自動生成獲取。下圖以阿里云ECS的RunInstances接口為例。
阿里云賬號
阿里云賬號(主賬號)對當前云賬號下所有云資源有完全控制權限,無需授權,也無法修改授權。但是如果該賬號歸屬于某個資源目錄(Resource Directory),則它可能受到管控策略的限制,詳情參見管控策略概述。
RAM用戶
您可將從 API 文檔中獲取的權限策略授權給RAM用戶。RAM 用戶授權詳情可參見為RAM用戶授權。
RAM角色
RAM角色的授權比RAM用戶授權多一步:
確定可信實體。您可以允許某個云賬號,或者云賬號下的某個RAM用戶或RAM角色扮演該角色。
授權。具體授權操作請參見文檔RAM角色概覽。
在對RAM角色進行授權時,需要尤其注意以下兩種場景:
場景一:鏈式扮演
當A賬號的RAM用戶aRamUser1可以扮演B賬號的RAM角色bRamRole1,而B賬號bRamRole1可以扮演C賬號的RAM角色cRamRole1時,雖然沒有授權A賬號可扮演C賬號的cRamRole1,但是通過角色的鏈式扮演,可以實現A賬號的aRamUser1扮演bRamRole1,再由bRamRole1扮演cRamRole1,訪問C賬號資源。
場景二:隱式授權
云賬號下創建RAM角色時,如果我們選擇授信實體為當前云賬號,表示默認允許云賬號下任何一個可以調用
assumeRole
權限的RAM用戶或RAM角色扮演該RAM角色。如果該RAM角色被授予了很高的權限,會導致只被賦予了assumeRole
的某個RAM用戶或RAM角色具備很高的權限。