資來源目錄支援資源級鑒權,您可以通過RAM或雲SSO對資來源目錄進行分級管理。
業務情境
對於大型集團公司,資來源目錄管理帳號通常由集團雲管或營運團隊負責管理。集團往往有多個子公司,集團雲管團隊希望將部分管理權下放,由各子公司的管理員管理對應子公司的目錄組織,各子公司之間互不影響,從而在隔離的前提下,提升管理效率和靈活度。
本文將提供一個樣本,假設Y公司有兩個業務部門,分別為業務部門1和業務部門2,希望各業務的營運管理員管理各自業務的帳號結構、員工許可權等。具體如下表所示。
組織圖 | 管理員 | 職責 |
安全管理團隊 | Mike | Mike為公司中心安全團隊負責人,需要做全域集中的安全管控,即全域的管控策略管理。 |
業務部門1 | Alice | Alice為業務部門1的營運管理員,僅能在業務部門1內建立資源帳號和組織圖、配置管控策略、配置成員的訊息通知連絡人,不能操作和影響其他業務。 |
業務部門2 | Bob | Bob為業務部門2的營運管理員,僅能在業務部門2內建立資源帳號和組織圖、配置管控策略、配置成員的訊息通知連絡人,不能操作和影響其他業務。 |
解決方案
分級管理主要解決操作範圍和操作行為的許可權細化管控。
資來源目錄目前已經支援RAM資源級鑒權,您可以通過Resource設定作業範圍,通過Action設定作業行為。資來源目錄具體的授權資訊,請參見資來源目錄鑒權列表。
以下兩種實施方案,您可以根據實際情況任選其一。
方案一:基於RAM實現分級管理
開通資來源目錄。
Y公司企業管理員(如財務同學)申請阿里雲帳號並進行企業實名認證,然後開通資來源目錄,並建立兩個名為
業務部門1和業務部門2的資源夾。具體操作,請參見開通資來源目錄、建立資源夾。開通資來源目錄的帳號即為管理帳號。
建立RAM使用者
Mike,並授予配置全域管控策略的許可權。管理帳號登入RAM控制台,建立一個名為
Mike的RAM使用者,為其建立存取金鑰(AccessKey),然後為其授予以下自訂權限原則。具體操作,請參見建立RAM使用者、建立自訂權限原則、為RAM使用者授權。自訂權限原則內容:
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "resourcemanager:*ControlPolicy*", "resourcemanager:*ControlPolicies*" ], "Resource": [ "acs:resourcemanager:*:*:account/*", "acs:resourcemanager:*:*:folder/*", "acs:resourcemanager:*:*:policy/controlpolicy/*" ] }, { "Effect": "Allow", "Action": [ "resourcemanager:GetResourceDirectory", "resourcemanager:ListAccount*", "resourcemanager:GetFolder*", "resourcemanager:ListFolder*", "resourcemanager:GetAccount", "resourcemanager:GetControlPolicy*", "resourcemanager:ListControlPolicies", "resourcemanager:ListControlPolicyAttachmentsForTarget", "resourcemanager:ListTargetAttachmentsForControlPolicy", "resourcemanager:ListTagKeys", "resourcemanager:ListTagValues" ], "Resource": "*" } ] }建立一個名為
Alice的RAM使用者,並授予管理資源夾業務部門1的許可權。管理帳號登入RAM控制台,建立一個名為
Alice的RAM使用者,為其建立存取金鑰(AccessKey),然後為其授予以下自訂權限原則。具體操作,請參見建立RAM使用者、建立自訂權限原則、為RAM使用者授權。自訂權限原則內容:
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "resourcemanager:GetResourceDirectory", "resourcemanager:ListTagKeys", "resourcemanager:ListTagValues" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "resourcemanager:*Account*", "resourcemanager:*Parent*", "resourcemanager:*Folder*", "resourcemanager:*Handshake*", "resourcemanager:*Contact*", "resourcemanager:*Members*", "resourcemanager:*ControlPolicy*", "resourcemanager:*ControlPolicies*", "resourcemanager:*SendVerificationCodeFor*", "resourcemanager:*BindSecureMobilePhone*" ], "Resource": [ "acs:resourcemanager:*:*:account/rd-3G****/r-Wm****/fd-bqp2FA****/*", //資源夾業務部門1的RDPath "acs:resourcemanager:*:*:folder/rd-3G****/r-Wm****/fd-bqp2FA****/*", //資源夾業務部門1的RDPath "acs:resourcemanager:*:*:folder/rd-3G****/r-Wm****/fd-bqp2FA****", //資源夾業務部門1的RDPath "acs:resourcemanager:*:*:handshake/*", "acs:resourcemanager:*:*:policy/controlpolicy/*", "acs:resourcemanager:*:*:messagecontact/*" ] }, { "Effect": "Deny", "Action": [ "resourcemanager:DeleteControlPolicy", "resourcemanager:UpdateControlPolicy", "resourcemanager:DisableControlPolicy", "resourcemanager:EnableControlPolicy", "resourcemanager:DeleteMessageContact", "resourcemanager:UpdateMessageContact", "resourcemanager:CancelMessageContactUpdate", "resourcemanager:CancelHandshake" ], "Resource": "*" } ] }建立一個名為
Bob的RAM使用者,並授予管理資源夾業務部門2的許可權。管理帳號登入RAM控制台,建立一個名為
Bob的RAM使用者,為其建立存取金鑰(AccessKey),然後為其授予以下自訂權限原則。具體操作,請參見建立RAM使用者、建立自訂權限原則、為RAM使用者授權。自訂權限原則內容:
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "resourcemanager:GetResourceDirectory", "resourcemanager:ListTagKeys", "resourcemanager:ListTagValues" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "resourcemanager:*Account*", "resourcemanager:*Parent*", "resourcemanager:*Folder*", "resourcemanager:*Handshake*", "resourcemanager:*Contact*", "resourcemanager:*Members*", "resourcemanager:*ControlPolicy*", "resourcemanager:*ControlPolicies*", "resourcemanager:*SendVerificationCodeFor*", "resourcemanager:*BindSecureMobilePhone*" ], "Resource": [ "acs:resourcemanager:*:*:account/rd-3G****/r-Wm****/fd-bqp2FA****/*", //資源夾業務部門2的RDPath "acs:resourcemanager:*:*:folder/rd-3G****/r-Wm****/fd-bqp2FA****/*", //資源夾業務部門2的RDPath "acs:resourcemanager:*:*:folder/rd-3G****/r-Wm****/fd-bqp2FA****", //資源夾業務部門2的RDPath "acs:resourcemanager:*:*:handshake/*", "acs:resourcemanager:*:*:policy/controlpolicy/*", "acs:resourcemanager:*:*:messagecontact/*" ] }, { "Effect": "Deny", "Action": [ "resourcemanager:DeleteControlPolicy", "resourcemanager:UpdateControlPolicy", "resourcemanager:DisableControlPolicy", "resourcemanager:EnableControlPolicy", "resourcemanager:DeleteMessageContact", "resourcemanager:UpdateMessageContact", "resourcemanager:CancelMessageContactUpdate", "resourcemanager:CancelHandshake" ], "Resource": "*" } ] }驗證結果。
分別使用RAM使用者
Mike、Alice、Bob對應的存取金鑰(AccessKey)調用資來源目錄OpenAPI,訪問資來源目錄中有許可權的資源。例如:Alice只能操作資源夾業務部門1中的資源,Bob只能操作資源夾業務部門2的資源,則說明以上配置成功。
方案二:雲端式SSO實現分級管理
開通資來源目錄。
Y公司企業管理員(如財務同學)申請阿里雲帳號並進行企業實名認證,然後開通資來源目錄,並建立兩個名為
業務部門1和業務部門2的資源夾。具體操作,請參見開通資來源目錄、建立資源夾。開通資來源目錄的帳號即為管理帳號。
建立雲SSO使用者
Mike,並授予配置全域管控策略的許可權。管理帳號登入雲SSO控制台,建立一個名為
Mike的雲SSO使用者,為其設定登入密碼,然後建立訪問配置,並為雲SSO使用者Mike在RD管理帳號上部署該訪問配置。具體操作,請參見建立使用者、建立訪問配置、在RD帳號上授權。該訪問配置使用以下內容的內建策略,不使用系統策略。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "resourcemanager:*ControlPolicy*", "resourcemanager:*ControlPolicies*" ], "Resource": [ "acs:resourcemanager:*:*:account/*", "acs:resourcemanager:*:*:folder/*", "acs:resourcemanager:*:*:policy/controlpolicy/*" ] }, { "Effect": "Allow", "Action": [ "resourcemanager:GetResourceDirectory", "resourcemanager:ListAccount*", "resourcemanager:GetFolder*", "resourcemanager:ListFolder*", "resourcemanager:GetAccount", "resourcemanager:GetControlPolicy*", "resourcemanager:ListControlPolicies", "resourcemanager:ListControlPolicyAttachmentsForTarget", "resourcemanager:ListTargetAttachmentsForControlPolicy", "resourcemanager:ListTagKeys", "resourcemanager:ListTagValues" ], "Resource": "*" } ] }建立一個名為
Alice的雲SSO使用者,並授予管理資源夾業務部門1的許可權。管理帳號登入雲SSO控制台,建立一個名為
Alice的雲SSO使用者,為其設定登入密碼,然後建立訪問配置,並為雲SSO使用者Alice在RD管理帳號上部署該訪問配置。具體操作,請參見建立使用者、建立訪問配置、在RD帳號上授權。該訪問配置使用以下內容的內建策略,不使用系統策略。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "resourcemanager:GetResourceDirectory", "resourcemanager:ListTagKeys", "resourcemanager:ListTagValues" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "resourcemanager:*Account*", "resourcemanager:*Parent*", "resourcemanager:*Folder*", "resourcemanager:*Handshake*", "resourcemanager:*Contact*", "resourcemanager:*Members*", "resourcemanager:*ControlPolicy*", "resourcemanager:*ControlPolicies*", "resourcemanager:*SendVerificationCodeFor*", "resourcemanager:*BindSecureMobilePhone*" ], "Resource": [ "acs:resourcemanager:*:*:account/rd-3G****/r-Wm****/fd-bqp2FA****/*", //資源夾業務部門1的RDPath "acs:resourcemanager:*:*:folder/rd-3G****/r-Wm****/fd-bqp2FA****/*", //資源夾業務部門1的RDPath "acs:resourcemanager:*:*:folder/rd-3G****/r-Wm****/fd-bqp2FA****", //資源夾業務部門1的RDPath "acs:resourcemanager:*:*:handshake/*", "acs:resourcemanager:*:*:policy/controlpolicy/*", "acs:resourcemanager:*:*:messagecontact/*" ] }, { "Effect": "Deny", "Action": [ "resourcemanager:DeleteControlPolicy", "resourcemanager:UpdateControlPolicy", "resourcemanager:DisableControlPolicy", "resourcemanager:EnableControlPolicy", "resourcemanager:DeleteMessageContact", "resourcemanager:UpdateMessageContact", "resourcemanager:CancelMessageContactUpdate", "resourcemanager:CancelHandshake" ], "Resource": "*" } ] }建立一個名為
Bob的雲SSO使用者,並授予管理資源夾業務部門2的許可權。管理帳號登入雲SSO控制台,建立一個名為
Bob的雲SSO使用者,為其設定登入密碼,然後建立訪問配置,並為雲SSO使用者Bob在RD管理帳號上部署該訪問配置。具體操作,請參見建立使用者、建立訪問配置、在RD帳號上授權。該訪問配置僅使用以下內容的內建策略,不使用系統策略。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "resourcemanager:GetResourceDirectory", "resourcemanager:ListTagKeys", "resourcemanager:ListTagValues" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "resourcemanager:*Account*", "resourcemanager:*Parent*", "resourcemanager:*Folder*", "resourcemanager:*Handshake*", "resourcemanager:*Contact*", "resourcemanager:*Members*", "resourcemanager:*ControlPolicy*", "resourcemanager:*ControlPolicies*", "resourcemanager:*SendVerificationCodeFor*", "resourcemanager:*BindSecureMobilePhone*" ], "Resource": [ "acs:resourcemanager:*:*:account/rd-3G****/r-Wm****/fd-bqp2FA****/*", //資源夾業務部門2的RDPath "acs:resourcemanager:*:*:folder/rd-3G****/r-Wm****/fd-bqp2FA****/*", //資源夾業務部門2的RDPath "acs:resourcemanager:*:*:folder/rd-3G****/r-Wm****/fd-bqp2FA****", //資源夾業務部門2的RDPath "acs:resourcemanager:*:*:handshake/*", "acs:resourcemanager:*:*:policy/controlpolicy/*", "acs:resourcemanager:*:*:messagecontact/*" ] }, { "Effect": "Deny", "Action": [ "resourcemanager:DeleteControlPolicy", "resourcemanager:UpdateControlPolicy", "resourcemanager:DisableControlPolicy", "resourcemanager:EnableControlPolicy", "resourcemanager:DeleteMessageContact", "resourcemanager:UpdateMessageContact", "resourcemanager:CancelMessageContactUpdate", "resourcemanager:CancelHandshake" ], "Resource": "*" } ] }驗證結果。
分別使用雲SSO使用者
Mike、Alice、Bob通過CLI登入雲SSO使用者門戶,登入後,通過CLI命令列訪問資來源目錄中有許可權的資源。例如:Alice只能操作資源夾業務部門1中的資源,Bob只能操作資源夾業務部門2中的資源,則說明以上配置成功。關於如何通過CLI登入雲SSO使用者門戶,請參見使用CLI登入雲SSO並訪問阿里雲資源。說明雲端式SSO實現分級管理的方案配置完成後,暫時只能通過CLI操作有許可權的資源,不支援控制台操作。