全部產品
Search
文件中心

Function Compute:想要RAM使用者A訪問部分函數,RAM使用者B訪問另外一部分函數,如何操作?

更新時間:Dec 21, 2024

您可以通過標籤功能將函數進行分組,實現不同RAM使用者對不同分組的函數的操作許可權。例如阿里雲主帳號在Function Compute中建立了10個函數,需要將5個函數授權給dev團隊,另外5個函數授權給ops團隊。每個團隊只能管理被授權的函數,不能管理未被授權的函數。此時可以通過標籤功能將10個函數進行分組,然後為不同團隊(RAM使用者或使用者組)授予不同的許可權。

前提條件

已在Function Compute控制台建立10個函數,並為其中5個函數添加一對標籤,標籤鍵team,標籤值dev,為另外5個函數添加標籤鍵team,標籤值ops。關於函數標籤的配置說明,請參見標籤管理

操作步驟

重要
  • 如果您操作的函數是在Function Compute2.0控制台建立的函數(名稱中含有$符號),標籤會綁定到2.0的服務,而不是綁定到函數,詳情請參見管理標籤

  • 為遵循最小授權原則,請不要為RAM使用者授予權限原則AliyunFCFullAccessAliyunFCReadOnlyAccess等權限等級過高的策略,否則將不能使用本文介紹的通過函數標籤分組管理函數。

  1. 在阿里雲主帳號下建立兩個RAM使用者。具體操作,請參見建立RAM使用者

  2. 建立dev和ops兩個使用者組。具體操作,請參見建立建立RAM使用者組

  3. 將已建立的兩個RAM使用者分別添加到使用者組dev和ops下。具體操作,請參見為RAM使用者組添加RAM使用者

  4. 為兩個使用者組dev和ops授予不同權限原則。

    權限原則分為系統權限原則和自訂權限原則,根據實際情境選擇合適的權限原則。本文以為使用者組授予自訂權限原則為例進行介紹。

    1. 建立自訂權限原則

      假設給dev團隊建立的自訂策略名稱稱為policyForDevTeam,策略樣本如下。

      {
          "Statement": [
              {
                  "Action": "fc:*",
                  "Effect": "Allow",
                  "Resource": "*",
                  "Condition": {
                      "StringEquals": {
                          "fc:tag/team": "dev"
                      }
                  }
              },
              {
                  "Action": "fc:ListFunctions",
                  "Effect": "Allow",
                  "Resource": "*"
              },
              {
                  "Action": "fc:ListTagResources",
                  "Effect": "Allow",
                  "Resource": "*"
              }
          ],
          "Version": "1"
      }      

      假設給ops團隊建立的自訂策略名稱稱為policyForOpsTeam,策略樣本如下。

      {
          "Statement": [
              {
                  "Action": "fc:*",
                  "Effect": "Allow",
                  "Resource": "*",
                  "Condition": {
                      "StringEquals": {
                          "fc:tag/team": "ops"
                      }
                  }
              },
              {
                  "Action": "fc:ListFunctions",
                  "Effect": "Allow",
                  "Resource": "*"
              },
              {
                  "Action": "fc:ListTagResources",
                  "Effect": "Allow",
                  "Resource": "*"
              }
          ],
          "Version": "1"
      }
    2. 分別為使用者組dev和ops授予自訂權限原則policyForDevTeampolicyForOpsTeam。具體操作,請參見為RAM使用者組授權

  5. 分別使用兩個RAM使用者登入Function Compute控制台驗證結果。關於使用RAM使用者登入控制台的操作步驟,請參見RAM使用者登入阿里雲控制台

    您可以看到從屬於使用者組dev的RAM使用者僅擁有添加了標籤team:dev的函數的操作許可權,從屬於使用者組ops的RAM使用者僅擁有添加了標籤team:ops的函數的操作許可權。