全部產品
Search
文件中心

Resource Orchestration Service:授權自助系統管理權限

更新時間:Apr 02, 2025

當您建立自助系統管理權限模式的資源棧組時,需要事先在管理員帳號和目標帳號中手動建立RAM角色,建立二者的信任關係,然後在目標帳號中部署資源棧。

背景資訊

授權自助系統管理權限時,您需要為下表所示的阿里雲帳號分別建立RAM角色並授權:

阿里雲帳號

RAM角色

權限原則

權限原則說明

管理員帳號

AliyunROSStackGroupAdministrationRole

自訂策略AssumeRole-AliyunROSStackGroupExecutionRole

允許RAM角色(AliyunROSStackGroupAdministrationRole)扮演角色身份(AliyunROSStackGroupExecutionRole)。

目標帳號

AliyunROSStackGroupExecutionRole

系統策略AdministratorAccess

允許RAM角色(AliyunROSStackGroupExecutionRole)管理目標帳號的所有阿里雲資源。

說明

管理員帳號和目標帳號可以為同一阿里雲帳號。關於管理員帳號和目標帳號的更多資訊,請參見概覽

授權成功後,當您使用管理員帳號登入Resource Orchestration Service控制台建立資源棧組後,即可在該資源棧組中為目標帳號建立資源棧。

方式一:通過RAM控制台設定許可權

  1. 設定目標帳號的許可權。

    1. 使用目標帳號登入RAM控制台

    2. 為目標帳號建立可信實體為管理員帳號的RAM角色(AliyunROSStackGroupExecutionRole)。

      1. 在左側導覽列,選擇身份管理 > 角色

      2. 角色頁面,單擊建立角色

      3. 建立角色頁面,選擇可信實體類型雲帳號

      4. 選擇信任的雲帳號其他雲帳號,輸入管理員帳號的ID。

      5. 單擊確定,在對話方塊中輸入角色名稱AliyunROSStackGroupExecutionRole

      6. 單擊確定,完成建立。

    3. 為RAM角色(AliyunROSStackGroupExecutionRole)授予AdministratorAccess許可權。

      1. 角色頁面,單擊RAM角色(AliyunROSStackGroupExecutionRole)操作列的新增授權

      2. 新增授權面板,選擇資源範圍為帳號層級,授權主體會自動填入。

      3. 選擇許可權為系統策略,然後選擇AdministratorAccess

      4. 單擊確認新增授權

  2. 設定管理員帳號的許可權。

    1. 使用管理員帳號登入RAM控制台

    2. 為管理員帳號建立可信實體為Resource Orchestration Service服務的RAM角色(AliyunROSStackGroupAdministrationRole)。

      1. 在左側導覽列,選擇身份管理 > 角色

      2. 角色頁面,單擊建立角色

      3. 建立角色頁面,選擇可信實體類型雲端服務

      4. 選擇信任主體名稱Resource Orchestration Service,單擊確定

      5. 在對話方塊中輸入角色名稱AliyunROSStackGroupAdministrationRole

      6. 單擊確定,完成建立。

    3. 建立自訂權限原則(AssumeRole-AliyunROSStackGroupExecutionRole)。

      1. 在左側導覽列,選擇許可權管理 > 權限原則

      2. 權限原則頁面,單擊建立權限原則

      3. 建立權限原則頁面,單擊指令碼編輯頁簽,輸入以下策略內容,單擊確定。輸入權限原則名稱AssumeRole-AliyunROSStackGroupExecutionRole

        該策略允許RAM角色(AliyunROSStackGroupAdministrationRole)扮演角色身份(AliyunROSStackGroupExecutionRole)。

        {
          "Statement": [
            {
              "Effect": "Allow",
              "Action": "sts:AssumeRole",
              "Resource": "acs:ram::*:role/AliyunROSStackGroupExecutionRole"
            }
          ],
          "Version": "1"
        }
      4. 單擊確定,完成建立。

    4. 為RAM角色(AliyunROSStackGroupAdministrationRole)授予AssumeRole-AliyunROSStackGroupExecutionRole許可權。

      1. 在左側導覽列,選擇身份管理 > 角色

      2. 角色頁面,單擊RAM角色(AliyunROSStackGroupAdministrationRole)操作列的新增授權

      3. 新增授權面板,選擇資源範圍帳號層級,授權主體會自動填入。

      4. 選擇許可權為自訂策略,然後選擇AssumeRole-AliyunROSStackGroupExecutionRole

      5. 單擊確認新增授權

方式二:通過Resource Orchestration Service控制台設定許可權

通過Resource Orchestration Service模板為管理員帳號和目標帳號建立RAM角色,並賦予資源棧組和資源棧的操作許可權。

  1. 管理員帳號登入Resource Orchestration Service控制台 ,使用模板AliyunROSStackGroupAdministrationRole建立RAM角色並授權。

    樣本模板如下。

    ROSTemplateFormatVersion: '2015-09-01'
    Description: Configure the AliyunROSStackGroupAdministrationRole to enable use of Alibaba Cloud ROS StackGroup.
    Parameters:
      AdministrationRoleName:
        Type: String
        Default: AliyunROSStackGroupAdministrationRole
        Description:
          en: Role name of administration account
          zh-cn: 建立授權給管理員帳號的角色的名稱
      ExecutionRoleName:
        Type: String
        Default: AliyunROSStackGroupExecutionRole
        Description:
          en: Execution role name of target account
          zh-cn: 目標帳號執行角色名稱
    Metadata:
      ALIYUN::ROS::Interface:
        ParameterGroups:
          - Parameters:
              - AdministrationRoleName
              - ExecutionRoleName
            Label:
              default:
                en: RAM
                zh-cn: 帳號許可權
        TemplateTags:
          - acs:example:安全:建立StackGroup管理員帳號許可權
    Resources:
      AliyunROSStackGroupAdministrationRole:
        Type: ALIYUN::RAM::Role
        Properties:
          RoleName:
            Ref: AdministrationRoleName
          AssumeRolePolicyDocument:
            Version: 1
            Statement:
              - Action: sts:AssumeRole
                Effect: Allow
                Principal:
                  Service:
                    - ros.aliyuncs.com
          Policies:
            - PolicyName:
                Fn::Sub:
                  - AssumeRole-${ExecutionRoleName}
                  - ExecutionRoleName:
                      Ref: ExecutionRoleName
              PolicyDocument:
                Statement:
                  - Effect: Allow
                    Action:
                      - sts:AssumeRole
                    Resource:
                      - Fn::Sub: acs:ram::*:role/${ExecutionRoleName}
                Version: '1'
    Outputs:
      AdministrationRoleName:
        Value:
          Fn::GetAtt:
            - AliyunROSStackGroupAdministrationRole
            - RoleName
    
  2. 目標帳號登入Resource Orchestration Service控制台,使用模板AliyunROSStackGroupExecutionRole建立RAM角色並授權。

    樣本模板如下。

    ROSTemplateFormatVersion: '2015-09-01'
    Description: Configure the AliyunROSStackGroupExecutionRole to enable use of your account as a target account in Alibaba Cloud ROS StackGroup.
    Conditions:
      CurrentAccount:
        Fn::Equals:
          - Ref: AdministrationAccountId
          - ''
    Parameters:
      ExecutionRoleName:
        Type: String
        Default: AliyunROSStackGroupExecutionRole
        Description:
          en: Execution role name of target account
          zh-cn: 為目標帳號建立執行角色的名稱
      AdministrationAccountId:
        Type: String
        Description:
          zh-cn: 管理員主帳號ID,不填則授權給當前帳號
          en: Administration account ID. If not, authorize the current account
        Default: ''
    Metadata:
      ALIYUN::ROS::Interface:
        ParameterGroups:
          - Parameters:
              - ExecutionRoleName
              - AdministrationAccountId
            Label:
              default: RAM
        TemplateTags:
          - acs:example:安全:建立StackGroup目標帳號許可權
    Resources:
      AliyunROSStackGroupExecutionRole:
        Type: ALIYUN::RAM::Role
        Properties:
          RoleName:
            Ref: ExecutionRoleName
          AssumeRolePolicyDocument:
            Version: 1
            Statement:
              - Action: sts:AssumeRole
                Effect: Allow
                Principal:
                  RAM:
                    - Fn::Join:
                        - ''
                        - - 'acs:ram::'
                          - Fn::If:
                              - CurrentAccount
                              - Ref: ALIYUN::TenantId
                              - Ref: AdministrationAccountId
                          - ':root'
      AttachPolicy:
        Type: ALIYUN::RAM::AttachPolicyToRole
        Properties:
          PolicyName: AdministratorAccess
          PolicyType: System
          RoleName:
            Fn::GetAtt:
              - AliyunROSStackGroupExecutionRole
              - RoleName
    Outputs:
      ExecutionRoleName:
        Value:
          Fn::GetAtt:
            - AliyunROSStackGroupExecutionRole
            - RoleName