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

Elastic Compute Service:RAM ユーザーによるクラウドアシスタントコマンドの実行

最終更新日:May 16, 2026

RAM ポリシーを使用して、クラウドアシスタントコマンドの実行を、root または system 以外の一般ユーザーに制限します。

前提条件

Elastic Compute Service (ECS) インスタンスに一般ユーザーが作成されていること。本トピックでは、user01 と user02 を例として使用します。

背景

デフォルトでは、Cloud Assistant は、Linux では root として、Windows では system として、ECS インスタンス上で最高の権限でコマンドを実行します。

RAM ポリシーを使用して、root または system による Cloud Assistant コマンドの実行を拒否し、user01user02 などの通常のユーザーにのみ権限を付与できます。

Linuxインスタンスにおける一般ユーザーの設定

RAM ユーザーが Linux インスタンスで root として Cloud Assistant コマンドを実行できないようにするには、次の手順に従います。

  1. Alibaba Cloud アカウントでRAM コンソールにログインします。

  2. RAM ユーザーを作成します。

    RAM ユーザーの設定例:

    パラメーター

    [ログイン名]

    commandUser

    [表示名]

    commandUser

    [アクセスモード]

    [コンソールアクセス][プログラムアクセス] の両方を選択します (このトピックでは両方を使用します)。

    説明

    最小権限の原則に従い、必要なアクセスモードのみを選択してください。

    [パスワードの設定]

    [パスワードを自動的に生成] を選択します。

    [パスワードリセット]

    [次回ログオン時に必須] を選択します。

    [多要素認証 (MFA)]

    [不要] を選択します。

    作成後、ユーザー名、パスワード、AccessKey を保存してください。

  3. クラウドアシスタント用のカスタムポリシーを作成します。

    ram用户权限设置

    commandUserPolicy という名前のポリシーを作成します。以下に 2 つの例を示します。必要に応じて変更してください。

    • user01user02 が Cloud Assistant コマandを実行できるようにします:

      {
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "ecs:InvokeCommand",
                      "ecs:RunCommand"
                  ],
                  "Resource": [
                      "acs:ecs:*:*:instance/*",
                      "acs:ecs:*:*:command/*"
                  ],
                  "Condition": {
                      "StringEquals": {
                          "ecs:CommandRunAs": [
                              "user01",
                              "user02"
                          ]
                      }
                  }
              }
          ],
          "Version": "1"
      }
      説明

      他のユーザーに権限を付与するには、Condition ブロックでユーザー名を追加または変更します。

    • rootsystem による Cloud Assistant コマンドの実行を禁止します:

      {
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "ecs:InvokeCommand",
                      "ecs:RunCommand"
                  ],
                  "Resource": [
                      "acs:ecs:*:*:instance/*",
                      "acs:ecs:*:*:command/*"
                  ],
                  "Condition": {
                      "StringNotEqualsIgnoreCase": {
                          "ecs:CommandRunAs": [
                              "system",
                              "root"
                          ]
                      }
                  }
              }
          ],
          "Version": "1"
      }
      説明

      他のユーザーを制限するには、Condition ブロックでユーザー名を追加または変更します。

  4. RAM ユーザーに ECS の読み取り専用権限とクラウドアシスタントの権限を付与します。

    授权

    • ECS 読み取り専用:[AliyunECSReadOnlyAccess] を選択します。

    • Cloud Assistant : [commandUserPolicy] (前の手順で作成済み) を選択します。

  5. RAM ユーザーとして Alibaba Cloud コンソールにログインします。

  6. クラウドアシスタントコマンドを実行して検証します。詳細については、「コマンドの作成と実行」をご参照ください。

    • コンソールで、コマンドを実行するユーザーを指定します。使用云助手创建命令

      user01 はコマンドの実行に成功しますが、root ではエラーが返されます。

    • CLI では、user01 はコマンドを正常に実行しますが、root はエラーを返します。CLI の結果

Windowsインスタンスにおける一般ユーザーの設定

Windows インスタンスでクラウドアシスタントコマンドを実行するには、ユーザー名とパスワードが必要です。Windows のログオンパスワードを暗号化されたパラメーターとして CloudOps Orchestration Service に保存し、Key Management Service (KMS) で暗号化します。詳細については、「CloudOps Orchestration Service とは」および「Key Management Service とは」をご参照ください。

RAM ユーザーが Cloud Assistant コマandを root または system として実行できないようにするには、次の手順に従います。

  1. Alibaba Cloud アカウントでRAM コンソールにログインします。

  2. RAM ユーザーを作成します。

    RAM ユーザーの設定例:

    パラメーター

    [ログイン名]

    commandUser

    [表示名]

    commandUser

    [アクセスモード]

    [コンソールアクセス][プログラムアクセス] の両方を選択します (このトピックでは両方を使用します)。

    説明

    最小権限の原則に従い、必要なアクセスモードのみを選択してください。

    [パスワードの設定]

    [パスワードを自動的に生成] を選択します。

    [パスワードリセット]

    [次回ログオン時に必須] を選択します。

    [多要素認証 (MFA)]

    [不要] を選択します。

    作成後、ユーザー名、パスワード、AccessKey を保存してください。

  3. クラウドアシスタントと KMS 用のカスタムポリシーを作成します。

    • クラウドアシスタントの権限:

      commandUserPolicy という名前のポリシーを作成します。以下に 2 つの例を示します。必要に応じて変更してください。

      • user01user02 が Cloud Assistant コマandを実行できるようにします:

        {
            "Statement": [
                {
                    "Effect": "Allow",
                    "Action": [
                        "ecs:InvokeCommand",
                        "ecs:RunCommand"
                    ],
                    "Resource": [
                        "acs:ecs:*:*:instance/*",
                        "acs:ecs:*:*:command/*"
                    ],
                    "Condition": {
                        "StringEquals": {
                            "ecs:CommandRunAs": [
                                "user01",
                                "user02"
                            ]
                        }
                    }
                }
            ],
            "Version": "1"
        }
        説明

        他のユーザーに権限を付与するには、Condition ブロックでユーザー名を追加または変更します。

      • rootsystem による Cloud Assistant コマンドの実行を禁止します:

        {
            "Statement": [
                {
                    "Effect": "Allow",
                    "Action": [
                        "ecs:InvokeCommand",
                        "ecs:RunCommand"
                    ],
                    "Resource": [
                        "acs:ecs:*:*:instance/*",
                        "acs:ecs:*:*:command/*"
                    ],
                    "Condition": {
                        "StringNotEqualsIgnoreCase": {
                            "ecs:CommandRunAs": [
                                "system",
                                "root"
                            ]
                        }
                    }
                }
            ],
            "Version": "1"
        }
        説明

        他のユーザーを制限するには、Condition ブロックでユーザー名を追加または変更します。

    • KMS の権限:

      kmsPolicy という名前のポリシーを作成します。 詳細については、「一般的な権限承認ポリシーの例」をご参照ください。

      {
        "Version": "1",
        "Statement": [
          {
            "Effect": "Allow",
            "Action": [
              "kms:List*", "kms:Describe*",
              "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey"
            ],
            "Resource": [
              "*"
            ]
          }
        ]
      }             
  4. RAM ユーザーに ECS、OOS、クラウドアシスタント、KMS の権限を付与します。

    win权限

    • ECS 読み取り専用: [AliyunECSReadOnlyAccess] を選択します。

    • OOS 読み取り専用:[AliyunOOSReadOnlyAccess] を選択します。

    • Cloud Assistant: [commandUserPolicy] (前の手順で作成) を選択します。

    • KMS: [kmsPolicy] を選択します。(前の手順で作成)

  5. Windows インスタンス用の RAM ロールを設定します。

    1. RAM ロール用のカスタムポリシーを作成します。

      ポリシーの例:

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "kms:Decrypt"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              },
              {
                  "Action": [
                      "oos:GetSecretParameter"
                  ],
                  "Effect": "Allow",
                  "Resource": "*"
              }
          ]
      }
    2. サービス RAM ロールを作成します。

      設定例:

      パラメーター

      [信頼されたエンティティの種類]

      [Alibaba Cloud サービス] を選択します。

      [信頼されたサービス]

      [ECS] を選択します。

      [ロール名]

      AxtSecretRamRole

    3. RAM ロールに権限を付与します。

    4. RAM ロールを ECS インスタンスにアタッチします。

  6. Windows のログオンパスワードを保存するために、OOS で暗号化されたパラメーターを作成します。

    説明

    OOS の暗号化されたパラメーターは、ECS インスタンスと同じリージョンに存在する必要があります。

    user01 の値の例:

    パラメーター

    [パラメーター名]

    axtSecretPassword

    [KMS キー ID]

    Use the default [Default Service CMK].

    []

    user01 のログインパスワード。

  7. RAM ユーザーとして Alibaba Cloud コンソールにログインします。

  8. クラウドアシスタントコマンドを実行して検証します。詳細については、「コマンドの作成と実行」をご参照ください。

    Windows インスタンスでクラウドアシスタントコマンドを実行して、権限を検証します。

    • コンソールで、ユーザーと OOS の暗号化されたパラメーターを指定します。windows创建云助手命令

      user01 はコマンドを正常に実行しますが、system はエラーを返します。

    • CLI では、user01 はコマンドの実行に成功しますが、system ではエラーが返されます。Windows での CLI 実行結果