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

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

最終更新日:Nov 09, 2025

最小権限の原則を使用してコマンドを実行することは、権限管理のベストプラクティスです。root または system ユーザーの代わりに、一般ユーザーとしてクラウドアシスタントコマンドを実行できます。このトピックでは、Resource Access Management (RAM) のアクセスの制御を使用して、一般ユーザーがクラウドアシスタントコマンドを実行できるようにする方法について説明します。

前提条件

Elastic Compute Service (ECS) インスタンス上に一般ユーザーを作成済みであること。このトピックでは、一般ユーザー user01 と user02 を例として使用します。

背景情報

特定の権限なしでクラウドアシスタントコマンドを実行すると、デフォルトでは ECS インスタンス上で最高の権限で実行されます。たとえば、コマンドは Linux インスタンスでは root ユーザーとして、Windows インスタンスでは system ユーザーとして実行されます。

セキュリティ上の理由から、ECS インスタンスでの root または system ユーザーの使用を制限する必要がある場合があります。RAM ユーザーを使用し、アクセスポリシーを設定して、root または system ユーザーがクラウドアシスタントコマンドを実行できないようにすることができます。また、user01 や user02 などの特定の一般ユーザーにコマンドを実行する権限を付与することもできます。

Linux インスタンスの一般ユーザーがクラウドアシスタントコマンドを実行できるように構成する

Linux インスタンスでのみクラウドアシスタントコマンドを実行するには、次の手順に従って、RAM ユーザーが root ユーザーとしてコマンドを実行できないようにします。

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

  2. RAM ユーザーを作成します。詳細については、「RAM ユーザーの作成」をご参照ください。

    次の表に、RAM ユーザー情報の例を示します。

    名前

    ログイン名

    commandUser

    表示名

    commandUser

    アクセスモード

    このトピックでは、Alibaba Cloud コンソールと OpenAPI を介してクラウドアシスタントを使用する手順を説明します。ここでは、[コンソールアクセス][プログラマティックアクセス] を選択します。

    説明

    最小権限の原則を実装するために、必要に応じてアクセスモードを選択してください。

    パスワードの設定

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

    パスワードのリセットが必要

    [次回ログイン時にパスワードのリセットが必要] を選択します。

    多要素認証 (MFA)

    [不要] を選択します。

    RAM ユーザーを作成したら、ユーザー名、パスワード、および AccessKey を保存します。

  3. クラウドアシスタントのアクセスポリシーを作成します。詳細については、「カスタムポリシーの作成」をご参照ください。

    ram用户权限设置

    commandUserPolicy という名前のカスタムポリシーを作成して、ECS インスタンス上のどのユーザーがクラウドアシスタントコマンドを実行できるかを指定します。以下に 2 つのポリシーの例を示します。必要に応じて変更できます。

    • ECS インスタンス上の特定の一般ユーザー (user01 および user02) にクラウドアシスタントコマンドの実行を許可する RAM ポリシー:

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

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

    • ECS インスタンス上の特定のユーザー (root および system) がクラウドアシスタントコマンドを実行できないようにする RAM ポリシー:

      {
          "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 の読み取り専用権限とクラウドアシスタントに必要な権限を付与します。詳細については、「RAM ユーザーへの権限付与」をご参照ください。

    授权

    • ECS の読み取り専用権限については、[AliyunECSReadOnlyAccess] を選択します。

    • クラウドアシスタントの権限については、前のステップで作成した [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 ユーザーが root または system ユーザーとしてクラウドアシスタントコマンドを実行できないようにします。

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

  2. RAM ユーザーを作成します。詳細については、「RAM ユーザーの作成」をご参照ください。

    次の表に、RAM ユーザー情報の例を示します。

    名前

    ログイン名

    commandUser

    表示名

    commandUser

    アクセスモード

    このトピックでは、Alibaba Cloud コンソールと OpenAPI を介してクラウドアシスタントを使用する手順を説明します。ここでは、[コンソールアクセス][プログラマティックアクセス] を選択します。

    説明

    最小権限の原則を実装するために、必要に応じてアクセスモードを選択してください。

    パスワードの設定

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

    パスワードのリセットが必要

    [次回ログイン時にパスワードのリセットが必要] を選択します。

    多要素認証 (MFA)

    [不要] を選択します。

    RAM ユーザーを作成したら、ユーザー名、パスワード、および AccessKey を保存します。

  3. クラウドアシスタントと KMS のアクセスポリシーを作成します。詳細については、「カスタムポリシーの作成」をご参照ください。

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

      commandUserPolicy という名前のカスタムポリシーを作成して、ECS インスタンス上のどのユーザーがクラウドアシスタントコマンドを実行できるかを指定します。以下に 2 つのポリシーの例を示します。必要に応じて変更できます。

      • ECS インスタンス上の特定の一般ユーザー (user01 および user02) にクラウドアシスタントコマンドの実行を許可する RAM ポリシー:

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

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

      • ECS インスタンス上の特定のユーザー (root および system) がクラウドアシスタントコマンドを実行できないようにする RAM ポリシー:

        {
            "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 に必要な権限を付与します。詳細については、「RAM ユーザーへの権限付与」をご参照ください。

    win权限

    • ECS の読み取り専用権限については、[AliyunECSReadOnlyAccess] を選択します。

    • OOS の読み取り専用権限については、[AliyunOOSReadOnlyAccess] を選択します。

    • クラウドアシスタントの権限については、前のステップで作成した [commandUserPolicy] を選択します。

    • KMS の権限については、前のステップで作成した [kmsPolicy] を選択します。

  5. Windows インスタンスの RAM ロールを構成します。

    1. RAM ロールに必要な権限を作成します。詳細については、「カスタムポリシーの作成」をご参照ください。

      ポリシーは次のとおりです。

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "kms:GetSecretValue"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              },
              {
                  "Action": [
                      "oos:GetSecretParameter"
                  ],
                  "Effect": "Allow",
                  "Resource": "*"
              }
          ]
      }
    2. RAM ロールを作成します。詳細については、「信頼できる Alibaba Cloud サービス用の RAM ロールの作成」をご参照ください。

      次の表に、構成の例を示します。

      名前

      信頼できるエンティティタイプ

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

      ロールタイプ

      [サービスロール] を選択します。

      ロール名

      AxtSecretRamRole

      信頼できるエンティティ名

      ドロップダウンリストから [Elastic Compute Service / ECS] を選択します。

    3. RAM ロールに権限を付与します。詳細については、「RAM ロールへの権限付与」をご参照ください。

    4. RAM ロールを ECS インスタンスにアタッチします。詳細については、「インスタンス RAM ロールのアタッチ」をご参照ください。

  6. OOS で暗号化パラメーターを作成して、Windows のログインパスワードを保存します。詳細については、「暗号化パラメーターの作成」をご参照ください。

    説明

    OOS の暗号化パラメーターと ECS インスタンスは同じリージョンにある必要があります。そうでない場合、ECS インスタンスは保存されたパスワードにアクセスできません。

    次の表は、ユーザー user01 のパスワードを保存するための値の例を示しています。

    名前

    パラメーター名

    axtSecretPassword

    KMS キー ID

    デフォルトの [Default Service CMK] を使用します。

    Windows インスタンスのログインパスワード。ユーザー user01 のログインパスワードを入力します。

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

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

    Windows インスタンスでクラウドアシスタントコマンドを実行して、権限設定が有効であることを確認します。

    • コンソールで構成を検証するには、次の図に示すように、コマンドを実行するユーザーとパスワードを保存する OOS 暗号化パラメーターを指定します。windows创建云助手命令

      ユーザー user01 はクラウドアシスタントコマンドを実行できますが、system ユーザーは実行できません。

    • CLI を使用して検証するには、次の図に示すようにコマンドを実行します。ユーザー user01 はクラウドアシスタントコマンドを実行できますが、system ユーザーは実行できません。win执行结果cli