日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

通過標簽實現RAM用戶鑒權

本文介紹如何基于標簽控制RAM用戶權限,實現不同的用戶可以擁有不同云資源的訪問和操作權限。

背景信息

標簽可用于標識云資源,實現分類管理資源;訪問控制RAM可基于權限策略,控制云資源的訪問和操作權限。結合標簽和RAM,將標簽作為權限策略的匹配條件,可以實現云資源精細化權限管理。

基于標簽控制RAM用戶權限(即標簽鑒權)的邏輯如下:

標簽鑒權邏輯

說明

支持綁定標簽的ECI資源包括ECI實例、鏡像緩存和虛擬節點;僅支持在創建或者更新ECI資源時為其綁定標簽。更多信息,請參見使用標簽管理ECI實例

配置示例

示例場景說明

本文以下述場景作為示例,說明如何實現標簽鑒權。

假設您需要控制某一RAM用戶只能操作特定(假設綁定了env:test標簽)的ECI資源,如下圖:標簽鑒權

具體需求包括:

  • 需求1:不允許創建不帶標簽的ECI資源,僅當創建時為ECI資源綁定env:test標簽才可以創建成功。

  • 需求2:只允許操作自身創建(即綁定env:test標簽)的ECI資源,不允許操作其他ECI資源。

  • 需求3:查詢ECI資源時,只允許查看自身創建(即綁定env:test標簽)的ECI資源。

步驟一:配置自定義權限策略并授權

  1. 使用阿里云賬號登錄RAM控制臺

  2. 在左側導航欄選擇權限管理>權限策略

  3. 權限策略頁面,單擊創建權限策略

  4. 完成自定義策略配置。

    1. 單擊導入策略頁簽。

    2. 在彈出的對話框的右側篩選項中選擇系統策略,然后搜索并選中AliyunECIFullAccess,單擊導入

      AliyunECIFullAccess為系統默認的管理ECI資源的權限,包括操作ECI資源、查詢相關資源(安全組、VPC等資源)、創建ECI服務關聯角色等權限。

    3. 單擊腳本編輯頁簽。

    4. 在編輯框中修改權限策略內容,然后單擊繼續編輯基本信息

      說明

      權限策略是一組訪問權限的集合。結構包括版本號和授權語句列表,每條授權語句包括授權效果(Effect)、操作(Action)、資源(Resource)以及條件(Condition,可選項)。更多信息,請參見權限策略語法和結構權限策略基本元素

      在權限策略的Condition中,您可以增加需要匹配標簽的條件來限制操作權限。支持的標簽條件關鍵字如下:

      標簽條件關鍵字

      說明

      acs:RequestTag

      限制在請求中必須傳入特定的標簽。

      如果API請求中沒有標簽參數,則不能使用acs:RequestTag,否則會導致鑒權失敗。

      acs:ResourceTag

      限制指定的資源必須包含特定的標簽。

      如果API請求中沒有資源ID參數,則不能使用acs:ResourceTag,否則會導致鑒權失敗。

      說明

      設計權限策略時,您可以根據各操作接口特性(API請求是否需要指定資源ID、是否支持傳入標簽),結合實際業務需求,來設置acs:RequestTagacs:ResourceTag。更多信息,請參見API接口鑒權說明

      根據示例場景中的需求,設計權限策略如下:

      需求

      權限策略

      不允許創建不帶標簽的ECI資源,僅當創建時為ECI資源綁定env:test標簽才可以創建成功

      {
         "Effect": "Allow",
         "Action": "eci:Create*",
         "Resource": "*",
         "Condition": {
          "StringEquals": {
           "acs:RequestTag/env": "test"
          }
         }
        }

      只允許操作綁定了env:test標簽的ECI資源,不允許操作其他資源

      {
         "Effect": "Allow",
         "Action": "eci:*",
         "Resource": "*",
         "Condition": {
          "StringEquals": {
           "acs:ResourceTag/env": "test"
          }
         }
        }

      查詢ECI資源時,只允許查看綁定了env:test標簽的ECI資源。

      {
         "Effect": "Allow",
         "Action": "eci:Describe*",
         "Resource": "*",
         "Condition": {
          "StringEquals": {
           "acs:RequestTag/env": "test"
          }
         }
        }

      結合AliyunECIFullAccess已有的權限策略,完整權限策略示例如下:

      {
       "Version": "1",
       "Statement": [{
         "Effect": "Allow",
         "Action": "eci:Create*",
         "Resource": "*",
         "Condition": {
          "StringEquals": {
           "acs:RequestTag/env": "test"
          }
         }
        },
        {
         "Effect": "Allow",
         "Action": "eci:*",
         "Resource": "*",
         "Condition": {
          "StringEquals": {
           "acs:ResourceTag/env": "test"
          }
         }
        },
        {
         "Effect": "Allow",
         "Action": "eci:Describe*",
         "Resource": "*",
         "Condition": {
          "StringEquals": {
           "acs:RequestTag/env": "test"
          }
         }
        },
        {
         "Action": [
          "ecs:DescribeSecurityGroups"
         ],
         "Resource": "*",
         "Effect": "Allow"
        },
        {
         "Action": [
          "vpc:DescribeVSwitches",
          "vpc:DescribeVpcs",
          "vpc:DescribeEipAddresses"
         ],
         "Resource": "*",
         "Effect": "Allow"
        },
        {
         "Action": "ram:CreateServiceLinkedRole",
         "Resource": "*",
         "Effect": "Allow",
         "Condition": {
          "StringEquals": {
           "ram:ServiceName": [
            "eci.aliyuncs.com",
            "vnode.eci.aliyuncs.com"
           ]
          }
         }
        }
       ]
      }
      說明

      如果您通過OpenAPI操作ECI資源,則使用AliyunECIFullAccess的權限即可;如果您通過ECI控制臺操作ECI資源,則除了AliyunECIFullAccess的權限外,還需添加額外權限。更多信息,請參見為RAM用戶授權

    5. 輸入權限策略名稱,單擊確定

  5. 將自定義權限策略授予RAM用戶。

    1. 在左側導航欄選擇身份管理>用戶

    2. 創建RAM用戶。

      請根據自身管理需求創建相應的RAM用戶。具體操作,請參見創建RAM用戶。如果已有RAM用戶,可跳過該步驟。

    3. 為RAM用戶授權。

      為RAM用戶授予新創建的自定義權限策略,具體操作,請參見為RAM用戶授權

步驟二:驗證權限策略是否生效

  1. 使用RAM用戶登錄OpenAPI平臺

  2. 測試權限策略是否生效。

    以ECI實例為例進行測試:

    • 創建ECI實例

      • 設置了env:test標簽,則可以創建。

      • 沒有設置標簽或者設置了其他標簽,則無法創建,提示沒有權限。

    • 刪除ECI實例

      • 刪除的實例綁定了env:test標簽,則可以刪除。

      • 刪除的實例沒有綁定env:test標簽,則無法刪除,提示沒有權限。

    • 查詢ECI實例

      • 指定實例(該實例綁定了env:test標簽)但沒有設置標簽,則查詢出指定實例的信息。

      • 指定實例(該實例沒有綁定env:test標簽),則查詢結果為空。

      • 沒有指定實例,僅設置env:test標簽,則查詢出帶有env:test標簽的所有實例信息。

      • 沒有指定實例也沒有設置標簽,則查詢結果為空。

API接口鑒權說明

為某一RAM用戶授予含有標簽鑒權的權限策略后,該RAM用戶調用各API接口時的鑒權情況如下表所示:

接口

鑒權說明

CreateContainerGroup、CreateImageCache等創建接口

該類接口無需指定資源ID,則匹配acs:RequestTag

  • 沒有傳入標簽,或者傳入的標簽不包含授權標簽,則鑒權不通過。

  • 傳入完全匹配的標簽,或者傳入的標簽包含了授權標簽,則鑒權通過。

DescribeContainerGroups、DescribeImageCaches等查詢接口

該類接口按需指定資源ID或傳入標簽,則匹配acs:ResourceTagacs:RequestTag

  • 傳入資源ID和標簽,如果指定資源綁定的標簽能夠匹配acs:ResourceTag,或者傳入的標簽能夠匹配acs:RequestTag,則鑒權通過,反之則鑒權不通過。

  • 傳入資源ID,沒有傳入標簽,如果指定資源綁定的標簽能夠匹配acs:ResourceTag,則鑒權通過,反之則鑒權不通過。

  • 沒有傳入資源ID,傳入標簽,如果傳入的標簽能夠匹配acs:RequestTag,則鑒權通過,反之則鑒權不通過。

  • 沒有傳入資源ID,也沒有傳入標簽,則鑒權不通過。

說明

查詢接口在鑒權不通過時,返回結果為空,并不會報錯。

UpdateContainerGroup、UpdateImageCache等更新接口

該類接口必須指定資源ID,則匹配acs:ResourceTag

  • 不傳入標簽,如果指定資源綁定的標簽能夠匹配,則鑒權通過,反之則鑒權不通過。

  • 傳入標簽(即更新標簽),如果指定資源綁定的標簽能夠匹配,且同時具備所傳入標簽的權限,則鑒權通過,反之則鑒權不通過。

說明

更新標簽時,RAM用戶需要分別具有更新前后的標簽權限。即授權時,需要授予用戶兩個自定義權限策略,分別包含更新前后的標簽條件限制。

RestartContainerGroup、ExecContainerCommand等其他操作接口

該類接口必須指定資源ID,則匹配acs:ResourceTag

  • 如果指定資源綁定的標簽不能匹配,則鑒權不通過。

  • 如果指定資源綁定的標簽能夠匹配,則鑒權通過。