當EDAS的應用和集群綁定標簽后,您可以使用標簽控制資源的訪問權限。本文以應用為例,介紹如何為RAM用戶授予特定的策略,通過標簽來控制RAM用戶對應用的相關權限。
前提條件
背景信息
阿里云的用戶權限是基于策略為管理主體的,您可以根據不同用戶的職責配置RAM策略。在策略中,您可以定義多個標簽,然后將一個或多個策略授權給RAM用戶或用戶組。如果要控制RAM用戶可以訪問哪些資源,您可以創建自定義策略并使用標簽來實現訪問控制。
使用標簽控制資源的訪問權限僅支持RAM鑒權,不支持EDAS內置的鑒權模式。更多權限管理信息,請參見權限管理概述。
假設在EDAS上已部署3個應用,這三個應用分別屬于不同環境和不同項目,且所綁定的標簽信息如下:
app-001:
Environment=TEST #測試環境
Team=team1 #項目1
app-002:
Environment=DEV #開發環境
Team=team1 #項目1
app-003:
Environment=PROD #生產環境
Team=team2 #項目2
假設您有三個RAM用戶(user1,user2和user3),為實現權限最小管控,您可以為RAM用戶授予目標資源的訪問權限。假設有以下三種場景:
user1需要管理所有的開發環境和測試環境的應用。
user2需要管理項目1下的所有測試環境的應用。
user3需要訪問除了生產環境以外所有的應用。
您可以使用標簽來自定義權限策略,實現上述RAM用戶的需求。
使用標簽配置自定義權限策略
使用RAM管理員登錄RAM控制臺。
在左側導航欄,選擇 。
在權限策略頁面,單擊創建權限策略。
在創建權限策略頁面,單擊腳本編輯頁簽。
輸入權限策略內容,然后單擊繼續編輯基本信息。
基于背景信息中列出的三個場景,本文提供的示例權限策略內容如下:
user1需要管理所有的開發環境和測試環境的應用。
{ "Statement": [ { "Action": "edas:ManageApplication", "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "edas:tag/Environment": ["DEV", "TEST"] } } } ], "Version": "1" }
user2需要管理項目1下的所有測試環境的應用。
{ "Statement": [ { "Action": "edas:ManageApplication", "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "edas:tag/Team": ["team1"], "edas:tag/Environment": ["TEST"] } } } ], "Version": "1" }
user3需要訪問除了生產環境以外所有的應用。
{ "Statement": [ { "Action": "edas:ReadApplication", "Effect": "Allow", "Resource": "*" }, { "Action": "edas:ReadApplication", "Effect": "Deny", "Resource": "*", "Condition": { "StringEquals": { "edas:tag/Environment": ["PROD"] } } } ], "Version": "1" }
輸入策略名稱和備注,然后在策略內容區域檢查設置的策略內容,然后單擊確定。
添加完自定義權限策略后,新增策略出現在權限策略列表。
為RAM用戶授權
使用阿里云賬號登錄RAM控制臺。
在左側導航欄選擇 。
在用戶列表頁面找到目標RAM用戶,單擊操作列下的添加權限。
在添加權限面板的授權范圍區域,單擊云賬號全部資源。
在添加權限面板的選擇權限區域,單擊自定義策略,在搜索文本框搜索目標策略,然后單擊目標策略,再單擊確定。
在添加權限面板,確認授權信息并單擊完成。
RAM用戶訪問資源
RAM用戶登錄EDAS控制臺,查看是否能訪問目標資源。