このトピックでは、スタックロールを作成し、それを使用してリソースを作成する方法について説明します。
シナリオ
スタックロールは、Resource Orchestration Service (ROS) を信頼する Resource Access Management (RAM) ロールです。現在のアカウントの代わりに特定の権限を持つアカウントを使用して ROS にリソースをデプロイさせたい場合は、スタックを管理するときにスタックロールを指定できます。ROS はそのロールを偽装してリソースをデプロイします。
たとえば、ある企業が、従業員に過剰な権限を付与することなく、複数のクラウドリソースの作成を許可したい場合があります。この場合、企業は必要な権限を持つスタックロールを提供できます。従業員は、スタックを作成するときにスタックロールを選択して、ROS を使用してリソースを作成できます。このトピックでは、Alibaba Cloud アカウントがスタックロールを作成し、RAM ユーザーがそのロールを偽装して VPC リソースを作成する例を示します。
手順
ステップ 1: スタックロールの作成
Alibaba Cloud アカウントを使用して Resource Access Management (RAM) コンソールにログインします。
左側のナビゲーションウィンドウで、 を選択します。
[ロール] ページで、[ロールの作成] をクリックします。
[ロールの作成] ページで、[信頼できるエンティティタイプ] を [Alibaba Cloud サービス] に設定します。
[信頼できるサービス] を [Resource Orchestration Service] に設定し、[OK] をクリックします。
ダイアログボックスで、[ロール名] を入力し、[OK] をクリックします。
ステップ 2: テンプレートで必要なポリシーの取得
VPC リソースを作成するためのテンプレートを定義します。
詳細については、「リソースタイプを表示する」をご参照ください。
ROSTemplateFormatVersion: '2015-09-01' Resources: Vpc: Type: ALIYUN::ECS::VPC Properties: CidrBlock: 192.168.0.0/24 VpcName: TestVpcアクセスポリシーを取得します。
OpenAPI Explorer で、GenerateTemplatePolicy API 操作に移動します。
TemplateBody パラメーターに、サンプルの VPC テンプレートを入力します。
[呼び出し] をクリックして、VPC リソースを作成するためのアクセスポリシーを取得します。
{ "Policy": { "Version": "1", "Statement": [ { "Action": [ "quotas:ListProductQuotas" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "vpc:AssociateVpcCidrBlock", "vpc:CreateVpc", "vpc:DeleteVpc", "vpc:DescribeVpcs", "vpc:ModifyVpcAttribute", "vpc:TagResources", "vpc:UnTagResources" ], "Resource": "*", "Effect": "Allow" } ] }, "RequestId": "607A8E4E-4423-5D2D-8392-E74C5DC42EC5" }
ステップ 3: カスタム権限ポリシーの作成
Alibaba Cloud アカウントを使用して Resource Access Management (RAM) コンソールにログインします。
左側のナビゲーションウィンドウで、 を選択します。
[ポリシー] ページで、[ポリシーの作成] をクリックします。
[ポリシーの作成] ページで、[スクリプトエディター] タブをクリックします。
ポリシードキュメントを入力し、[OK] をクリックします。
コンテンツを、「ステップ 2: テンプレートで必要なポリシーの取得」で取得したアクセスポリシーの `Policy` セクションに置き換えます。
ポリシーの [名前] と [メモ] を入力します。
[OK] をクリックします。
ステップ 4: スタックロールへの権限の付与
左側のナビゲーションウィンドウで、 を選択します。
[ロール] ページで、「ステップ 1: スタックロールの作成」で作成した RAM ロールを見つけ、[操作] 列の [権限の付与] をクリックします。
デフォルトの権限付与範囲は、現在の Alibaba Cloud アカウントです。
[権限の追加] パネルで、権限ポリシータイプを [カスタムポリシー] に設定します。次に、「ステップ 3: カスタム権限ポリシーの作成」で作成したポリシーの [ポリシー名] を入力します。
詳細については、「ポリシー情報の表示」をご参照ください。
[OK] をクリックします。
ステップ 5: スタックロールを使用したスタックの作成
前提条件
Alibaba Cloud アカウントを使用して RAM ユーザーを作成し、RAM ユーザーに `AliyunROSFullAccess` 権限を付与します。この権限により、RAM ユーザーは ROS を管理できます。詳細については、「RAM ユーザーの作成」および「RAM ユーザーへの権限の付与」をご参照ください。
手順
RAM ユーザーとして Resource Orchestration Service (ROS) コンソールにログインします。
左側のナビゲーションウィンドウで、[スタック] をクリックします。
上部のナビゲーションバーで、スタックを作成するリージョンを選択します。
[スタック] ページで、[スタックの作成] をクリックします。[テンプレートの指定] セクションで、[既存のテンプレートを選択] をクリックします。
説明[テンプレートの作成] または [Infrastructure Composer] を選択すると、対応するページにリダイレクトされます。
[テンプレートの選択] ページで、テンプレートを指定し、[次へ] をクリックします。
たとえば、VPC リソースを作成するためのテンプレートを入力できます。詳細については、「テンプレートの構成」をご参照ください。
[パラメーターの設定] ページで、[スタック名] を入力し、[テンプレートパラメーター] を設定します。
説明設定する必要があるテンプレートパラメーターは、テンプレートによって異なります。コンソールの指示に従ってパラメーター値を入力してください。
[スタックの設定] セクションで、[RAM ロール] を「ステップ 1: スタックロールの作成」で作成したロールの名前に設定します。
詳細については、「スタックの作成」をご参照ください。
[コンプライアンスの事前チェック] ページで、コンプライアンスチェックを完了し、[次へ] をクリックします。
説明コンプライアンスの事前チェック機能は、一部のリソースでのみサポートされています。詳細については、「コンプライアンスの事前チェック」をご参照ください。
[検出ルール] セクションで、検出ルールを追加します。
ROS テンプレートのクラウドリソースに基づいてチェックするルールを選択できます。
[チェックの開始] をクリックします。
リソースが [非準拠] として検出された場合は、[修復計画] をクリックします。[修復計画] に基づいてクラウドリソースの構成または ROS テンプレートのコンテンツを変更して、リソースのコンプライアンスを確保します。

[確認] ページで、[作成] をクリックします。
スタックが作成されると、[作成成功] が [ステータス] 列に表示されます。