すべてのプロダクト
Search
ドキュメントセンター

Resource Orchestration Service:セルフマネージド権限を付与する

最終更新日:Apr 22, 2025

Resource Orchestration Service(ROS)でセルフマネージド権限を持つスタックグループを作成する前に、管理者アカウントと実行アカウント内に Resource Access Management(RAM)ロールを手動で作成し、アカウント間に信頼関係を確立する必要があります。その後、実行アカウント内でスタックをデプロイできます。

背景情報

セルフマネージド権限を付与する前に、次の表に示す Alibaba Cloud アカウントの RAM ロールを作成し、ロールに権限を付与する必要があります。

Alibaba Cloud アカウント

RAM ロール

ポリシー

ポリシーの説明

管理者アカウント

AliyunROSStackGroupAdministrationRole

カスタムポリシー:AssumeRole-AliyunROSStackGroupExecutionRole

AliyunROSStackGroupAdministrationRole RAM ロールが AliyunROSStackGroupExecutionRole RAM ロールをアシュームすることを許可します。

実行アカウント

AliyunROSStackGroupExecutionRole

システムポリシー:AdministratorAccess

AliyunROSStackGroupExecutionRole RAM ロールが、実行アカウントに属するすべての Alibaba Cloud リソースを管理することを許可します。

説明

管理者アカウントと実行アカウントは、同じ Alibaba Cloud アカウントにすることができます。管理者アカウントと実行アカウントの詳細については、「概要」をご参照ください。

ロールに権限を付与した後、管理者アカウントを使用して ROS コンソールでスタックグループを作成すると、スタックグループ内にスタックインスタンスを作成して、実行アカウント内にスタックをデプロイできます。

方法 1:RAM コンソールでセルフマネージド権限を付与する

  1. 目的の実行アカウントに権限を付与します。

    1. 実行アカウントを使用して RAM コンソール にログオンします。

    2. 実行アカウントの AliyunROSStackGroupExecutionRole RAM ロールを作成し、目的の管理者アカウントをロールの信頼できるエンティティとして指定します。

      1. 左側のナビゲーションウィンドウで、[ID] > [ロール] を選択します。

      2. [ロール] ページで、[ロールの作成] をクリックします。

      3. [ロールの作成] ページで、[プリンシパルタイプ] パラメーターを [クラウドアカウント] に設定します。

      4. [プリンシパル名] パラメーターを [その他のアカウント] に設定し、フィールドに管理者アカウントの ID を入力します。

      5. [OK] をクリックします。表示されるダイアログボックスで、[ロール名] フィールドに AliyunROSStackGroupExecutionRole と入力します。

      6. [OK] をクリックします。ロールが作成されるまで待ちます。

    3. AdministratorAccess ポリシーを AliyunROSStackGroupExecutionRole RAM ロールにアタッチします。

      1. [ロール] ページで、AliyunROSStackGroupExecutionRole RAM ロールを探し、[アクション] 列の [権限の付与] をクリックします。

      2. [権限の付与] パネルで、リソーススコープ パラメーターを [アカウント] に設定します。選択済みプリンシパル パラメーターの値は自動的に入力されます。

      3. [ポリシー] セクションで、ドロップダウンリストから [システムポリシー] を選択し、[AdministratorAccess] を選択します。

      4. [権限の付与] をクリックします。

  2. 管理者アカウントに権限を付与します。

    1. 管理者アカウントを使用して RAM コンソール にログオンします。

    2. 管理者アカウントの AliyunROSStackGroupAdministrationRole RAM ロールを作成し、ROS をロールの信頼できるエンティティとして指定します。

      1. 左側のナビゲーションウィンドウで、[ID] > [ロール] を選択します。

      2. [ロール] ページで、[ロールの作成] をクリックします。

      3. [ロールの作成] ページで、[プリンシパルタイプ] パラメーターを [クラウドサービス] に設定します。

      4. [プリンシパル名] ドロップダウンリストから [Resource Orchestration Service] を選択し、[OK] をクリックします。

      5. 表示されるダイアログボックスで、[ロール名] フィールドに AliyunROSStackGroupAdministrationRole と入力します。

      6. [OK] をクリックします。ロールが作成されるまで待ちます。

    3. AssumeRole-AliyunROSStackGroupExecutionRole カスタムポリシーを作成します。

      1. 左側のナビゲーションウィンドウで、[権限] > [ポリシー] を選択します。

      2. [ポリシー] ページで、[ポリシーの作成] をクリックします。

      3. [ポリシーの作成] ページで、[JSON] タブをクリックし、エディターに次のポリシーコンテンツを入力して、[OK] をクリックします。[ポリシーの作成] ダイアログボックスで、[ポリシー名] フィールドに AssumeRole-AliyunROSStackGroupExecutionRole と入力します。

        このポリシーにより、AliyunROSStackGroupAdministrationRole RAM ロールは AliyunROSStackGroupExecutionRole RAM ロールをアシュームできます。

        {
          "Statement": [
            {
              "Effect": "Allow",
              "Action": "sts:AssumeRole",
              "Resource": "acs:ram::*:role/AliyunROSStackGroupExecutionRole" // AliyunROSStackGroupExecutionRole ロールをアシュームすることを許可
            }
          ],
          "Version": "1"
        }
      4. [OK] をクリックします。ポリシーが作成されるまで待ちます。

    4. AssumeRole-AliyunROSStackGroupExecutionRole ポリシーを AliyunROSStackGroupAdministrationRole RAM ロールにアタッチします。

      1. 左側のナビゲーションウィンドウで、[ID] > [ロール] を選択します。

      2. [ロール] ページで、AliyunROSStackGroupAdministrationRole RAM ロールを見つけ、[アクション] 列の [権限の付与] をクリックします。

      3. [権限の付与] パネルで、[リソース範囲] パラメーターを [アカウント] に設定します。[選択済みプリンシパル] パラメーターの値は自動的に入力されます。

      4. [ポリシー] セクションで、ドロップダウンリストから [カスタムポリシー] を選択し、[AssumeRole-AliyunROSStackGroupExecutionRole] を選択します。

      5. [権限の付与] をクリックします。

方法 2:ROS コンソールでセルフマネージド権限を付与する

ROS テンプレートを使用して、管理者アカウントと実行アカウントの RAM ロールを作成し、スタックグループとスタックに対する権限をロールに付与できます。

  1. 管理者アカウントを使用して ROS コンソール にログオンします。次に、AliyunROSStackGroupAdministrationRole テンプレートを使用して RAM ロールを作成し、必要な権限をロールに付与します。

    サンプルテンプレート

    ROSTemplateFormatVersion: '2015-09-01'
    Description: Configure the AliyunROSStackGroupAdministrationRole to enable use of Alibaba Cloud ROS StackGroup. // AliyunROSStackGroupAdministrationRole を設定して、Alibaba Cloud ROS スタックグループの使用を有効にします。
    Parameters:
      AdministrationRoleName:
        Type: String
        Default: AliyunROSStackGroupAdministrationRole
        Description:
          en: Role name of administration account // 管理アカウントのロール名
           
      ExecutionRoleName:
        Type: String
        Default: AliyunROSStackGroupExecutionRole
        Description:
          en: Execution role name of target account // ターゲットアカウントの実行ロール名
           
    Metadata:
      ALIYUN::ROS::Interface:
        ParameterGroups:
          - Parameters:
              - AdministrationRoleName
              - ExecutionRoleName
            Label:
              default:
                en: RAM // RAM
                 
        TemplateTags:
          - acs:example:Security:Grant permissions to the administrator account of a stack group // スタックグループの管理者アカウントに権限を付与する
    Resources:
      AliyunROSStackGroupAdministrationRole:
        Type: ALIYUN::RAM::Role
        Properties:
          RoleName:
            Ref: AdministrationRoleName
          AssumeRolePolicyDocument:
            Version: 1
            Statement:
              - Action: sts:AssumeRole
                Effect: Allow
                Principal:
                  Service:
                    - ros.aliyuncs.com // ROS サービスを信頼できるエンティティとして設定
          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. 実行アカウントを使用して ROS コンソール にログオンします。次に、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. // AliyunROSStackGroupExecutionRole を設定して、Alibaba Cloud ROS スタックグループでアカウントをターゲットアカウントとして使用できるようにします。
    Conditions:
      CurrentAccount:
        Fn::Equals:
          - Ref: AdministrationAccountId
          - ''
    Parameters:
      ExecutionRoleName:
        Type: String
        Default: AliyunROSStackGroupExecutionRole
        Description:
          en: Execution role name of target account // ターゲットアカウントの実行ロール名
           
      AdministrationAccountId:
        Type: String
        Description:
           
          en: Administration account ID. If not, authorize the current account // 管理アカウント ID。そうでない場合は、現在のアカウントを承認します。
        Default: ''
    Metadata:
      ALIYUN::ROS::Interface:
        ParameterGroups:
          - Parameters:
              - ExecutionRoleName
              - AdministrationAccountId
            Label:
              default: RAM // RAM
        TemplateTags:
          - acs:example:Security:Grant permissions to the execution account of a stack group // スタックグループの実行アカウントに権限を付与する
    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 // 管理アカウント ID を信頼できるエンティティとして設定
                          - ':root'
      AttachPolicy:
        Type: ALIYUN::RAM::AttachPolicyToRole
        Properties:
          PolicyName: AdministratorAccess // AdministratorAccess ポリシーをアタッチ
          PolicyType: System
          RoleName:
            Fn::GetAtt:
              - AliyunROSStackGroupExecutionRole
              - RoleName
    Outputs:
      ExecutionRoleName:
        Value:
          Fn::GetAtt:
            - AliyunROSStackGroupExecutionRole
            - RoleName