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

CloudOps Orchestration Service:アクセスの制御

最終更新日:Feb 21, 2025

このトピックでは、Resource Access Management (RAM) を使用して Alibaba Cloud アカウントの CloudOps Orchestration Service (OOS) へのアクセスを制御する方法について説明します。アクセスの制御を実装するには、RAM ユーザーまたはグループを作成し、必要な権限をユーザーまたはグループに付与する必要があります。

シナリオ

RAM は、Alibaba Cloud によって提供されるリソースアクセス制御サービスです。次のセクションでは、RAM を使用して OOS でアクセスの制御を実装する方法について説明します。

  • OOS 管理者: CloudOps Orchestration Service 管理者グループを作成し、CloudOps Orchestration Service に対するフルアクセス権限をこの管理者グループに付与できます。これにより、このグループのメンバーはテンプレートの作成、変更、および実行を行うことができます。

  • テンプレート開発者: テンプレート開発者グループには、テンプレートを変更するための権限が必要です。テンプレート開発者グループにポリシーをアタッチして、グループメンバーに CreateTemplateUpdateTemplate などの API 操作を呼び出す権限を付与できます。

  • テンプレートの実行: 一部のユーザーに OOS テンプレートを実行するための権限のみを付与できます。これにより、これらのユーザーは OOS テンプレートを実行することのみが可能になり、OOS テンプレートの作成や変更はできなくなります。

  • テンプレート認証: 指定されたユーザーまたはユーザーグループのみがテンプレートを実行できるように制限できます。

RAM ユーザーに PassRole 権限を付与する

説明

OOS の RAM ロールを構成して権限を付与すると、CloudOps Orchestration Service はこの RAM ロールを引き受けることができます。ただし、これは CloudOps Orchestration Service の RAM ユーザーがこの RAM ロールを引き受けることができるという意味ではありません。RAM ユーザーと RAM ロールに PassRole 権限を付与する必要があります。これにより、RAM ユーザーは CloudOps Orchestration Service を使用して RAM ロールを引き受けることができます。

  • CloudOps Orchestration Service のすべての RAM ロールを引き受けることを RAM ユーザーに承認するには、次のポリシーを作成し、RAM ユーザーにアタッチします。

    RAM ユーザーに PassRole 権限を付与するためのポリシー

    {
      "Version": "1",
      "Statement": [
        {
          "Action": "ram:PassRole",
          "Resource": "*",
          "Effect": "Allow",
          "Condition": {
            "StringEquals": {
              "acs:Service": "oos.aliyuncs.com"
            }
          }
        }
      ]
    }	
  • セキュリティ上の理由から、RAM ユーザーが CloudOps Orchestration Service を管理するために特定の RAM ロール(デフォルトロール OOSServiceRole など)のみを引き受けるように制限する必要がある場合があります。この場合は、次のポリシーを作成し、RAM ユーザーにアタッチします。

    RAM ユーザーを制限するポリシー

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": "ram:PassRole",
          "Resource": "acs:ram::{parent_uid}:role/OOSServiceRole"
        }
      ]
    }

使用上の注意:

  • OOSServiceRole などの RAM ロールがテンプレート内で内部的に使用されており、テンプレート実行の入力パラメーターとして指定する必要がない場合は、テンプレートを実行する RAM ユーザーに PassRole 権限を付与する必要はありません。ただし、テンプレートを作成または変更するには、RAM ユーザーに PassRole 権限を付与する必要があります。

  • テンプレート実行の入力パラメーターを使用して RAM ロールが動的に取得され、テンプレートで必要な RAM ロールが指定されていない場合は、テンプレートを作成または変更する RAM ユーザーに PassRole 権限を付与する必要はありません。ただし、RAM ユーザーが指定された RAM ロールを引き受けることができるように、テンプレートを実行する RAM ユーザーに PassRole 権限を付与する必要があります。

  • 上記のサンプルコードでは、{parent_uid} は Alibaba Cloud アカウントの ID を示します。

RAM ユーザーに権限を付与する

手順 1: カスタム権限付与ポリシーを作成する

  1. RAM コンソール にログオンします。

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

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

  4. [JSON] をクリックし、カスタムポリシーを入力して、[OK] をクリックします。

    • サンプルポリシー 1: RAM ユーザーにテンプレートを実行する権限を付与しますが、テンプレートを変更する権限は付与しません。

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "oos:List*",
                      "oos:Get*",
                      "oos:StartExecution",
                      "oos:CancelExecution",
                      "oos:NotifyExecution"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              }
          ]
      }
    • サンプルポリシー 2: RAM ユーザーにテンプレートを作成および変更する権限を付与しますが、テンプレートを実行する権限は付与しません。

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "oos:List*",
                      "oos:Get*",
                      "oos:CreateTemplate",
                      "oos:UpdateTemplate",
                      "oos:ValidateTemplateContent"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              }
          ]
      }
    • サンプルポリシー 3: RAM ユーザーに CloudOps Orchestration Service 管理者の権限を付与します。

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": "oos:*",
                  "Effect": "Allow",
                  "Resource": "*"
              },
              {
                  "Action": "ram:PassRole",
                  "Resource": "*",
                  "Effect": "Allow",
                  "Condition": {
                      "StringEquals": {
                          "acs:Service": "oos.aliyuncs.com"
                      }
                  }
              }
          ]
      }
  5. [ポリシーの作成] ダイアログボックスで、名前と説明を入力し、[OK] をクリックします。

    ポリシーが作成された後、[ポリシーの詳細] をクリックして詳細を表示できます。[ポリシードキュメントの変更] をクリックしてポリシーを変更できます。

手順 2: RAM ユーザーに権限を付与する

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

  2. RAM ユーザーを見つけ、[アクション] 列の [権限の追加] をクリックします。

  3. [権限] セクションで、1 つ以上のシステムポリシーまたはカスタムポリシーを選択します。

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