帮助文档 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
帮助文档 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 云服务器 ECS
  4. 操作指南
  5. 运维与监控
  6. 云助手
  7. 进阶用法
  8. 设置普通用户执行云助手命令

设置普通用户执行云助手命令

  • 进阶用法
  • 发布于 2025-04-01
  • 0 次阅读
文档编辑
文档编辑

使用最小权限执行命令是权限管理的最佳实践,建议您以普通用户身份执行云助手命令。本文介绍如何通过RAM用户的权限控制,实现普通用户(非root或system用户)执行云助手命令。

前提条件

ECS实例中已创建普通用户,本文以普通用户user01、user02为例。

背景信息

执行云助手命令时,如果您未配置指定的权限,默认是以ECS实例内的最大权限来执行的。例如,Linux实例是以root用户来执行命令,Windows实例是以system用户来执行命令。

由于信息安全管理,您可能需要禁止在ECS实例中使用root或system用户。此时,您可以通过RAM用户并设置相关的权限策略,禁止ECS实例中root或者system用户执行云助手命令,并允许实例中特定用户(例如user01、user02)执行云助手命令。

配置Linux实例的普通用户执行云助手命令

如果只需要在Linux实例中执行云助手命令,您可以通过以下步骤限制RAM用户使用root执行云助手命令。

  1. 使用阿里云账号登录RAM控制台。

  2. 创建一个新的RAM用户。具体操作,请参见创建RAM用户。

    RAM用户信息示例如下所示。

    名称

    示例

    登录名称

    commandUser

    显示名称

    commandUser

    访问方式

    本文中提供阿里云控制台方式和OpenAPI方式使用云助手,此处选中控制台访问和OpenAPI 调用访问。

    说明

    您可以根据实际使用情况,选择对应的一种访问方式,实现权限最小化管理。

    设置密码

    选择自动生成密码。

    需要重置密码

    选择用户在下次登录时必须重置密码。

    MFA 多因素认证

    选择不要求。

    创建RAM用户后,您需要保留RAM用户的用户名、密码和AccessKey信息。

  3. 创建云助手相关权限策略。具体操作,请参见创建自定义权限策略。

    ram用户权限设置

    创建一个commandUserPolicy权限策略,限制ECS实例中用户执行云助手命令。以下为策略内容的两个示例,您可以根据实际情况修改。

    • 允许部分ECS实例普通用户(user01和user02)执行云助手命令的RAM权限策略:

      {
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "ecs:DescribeInstances",
                      "ecs:DescribeTagKeys",
                      "ecs:DescribeTags",
                      "ecs:CreateCommand",
                      "ecs:DescribeCommands",
                      "ecs:InvokeCommand",
                      "ecs:RunCommand",
                      "ecs:DeleteCommand",
                      "ecs:DescribeInvocations",
                      "ecs:DescribeInvocationResults",
                      "ecs:StopInvocation",
                      "ecs:DescribeCloudAssistantStatus",
                      "ecs:InstallCloudAssistant"
                  ],
                  "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:DescribeInstances",
                      "ecs:DescribeTagKeys",
                      "ecs:DescribeTags",
                      "ecs:CreateCommand",
                      "ecs:DescribeCommands",
                      "ecs:InvokeCommand",
                      "ecs:RunCommand",
                      "ecs:DeleteCommand",
                      "ecs:DescribeInvocations",
                      "ecs:DescribeInvocationResults",
                      "ecs:StopInvocation",
                      "ecs:DescribeCloudAssistantStatus",
                      "ecs:InstallCloudAssistant"
                  ],
                  "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用户登录阿里云控制台。

  6. 运行云助手命令验证结果。具体操作,请参见创建并执行命令。

    • 控制台验证操作如下所示,需要设置执行用户。使用云助手创建命令

      user01用户能够正常执行云助手命令,root用户执行云助手命令报错。

    • CLI验证操作如下所示,user01用户能够正常执行云助手命令,root用户执行云助手命令报错。cli结果

配置Windows实例的普通用户执行云助手命令

如果需要在Windows实例执行云助手命令,您需要同时提供用户名和密码。为了数据安全,您需要在系统运维管理中托管您的Windows登录密码,并使用密钥管理服务KMS加密。更多信息,请参见什么是系统管理与运维服务和什么是密钥管理服务。

您可以通过以下步骤限制RAM用户使用root用户和system用户执行云助手命令。

  1. 使用阿里云账号登录RAM控制台。

  2. 创建一个新的RAM用户。具体操作,请参见创建RAM用户。

    RAM用户信息示例如下所示。

    名称

    示例

    登录名称

    commandUser

    显示名称

    commandUser

    访问方式

    本文中提供阿里云控制台方式和OpenAPI方式使用云助手,此处选中控制台访问和OpenAPI 调用访问。

    说明

    您可以根据实际使用情况,选择对应的一种访问方式,实现权限最小化管理。

    设置密码

    选择自动生成密码。

    需要重置密码

    选择用户在下次登录时必须重置密码。

    MFA 多因素认证

    选择不要求。

    创建RAM用户后,您需要保留RAM用户的用户名、密码和AccessKey信息。

  3. 创建云助手、KMS相关权限策略。具体操作,请参见创建自定义权限策略。

    • 云助手相关权限:

      创建一个commandUserPolicy权限策略,限制ECS实例中用户执行云助手命令。以下为策略内容的两个示例,您可以根据实际情况修改。

      • 允许部分ECS实例普通用户(user01和user02)执行云助手命令的RAM权限策略:

        {
            "Statement": [
                {
                    "Effect": "Allow",
                    "Action": [
                        "ecs:DescribeInstances",
                        "ecs:DescribeTagKeys",
                        "ecs:DescribeTags",
                        "ecs:CreateCommand",
                        "ecs:DescribeCommands",
                        "ecs:InvokeCommand",
                        "ecs:RunCommand",
                        "ecs:DeleteCommand",
                        "ecs:DescribeInvocations",
                        "ecs:DescribeInvocationResults",
                        "ecs:StopInvocation",
                        "ecs:DescribeCloudAssistantStatus",
                        "ecs:InstallCloudAssistant"
                    ],
                    "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:DescribeInstances",
                        "ecs:DescribeTagKeys",
                        "ecs:DescribeTags",
                        "ecs:CreateCommand",
                        "ecs:DescribeCommands",
                        "ecs:InvokeCommand",
                        "ecs:RunCommand",
                        "ecs:DeleteCommand",
                        "ecs:DescribeInvocations",
                        "ecs:DescribeInvocationResults",
                        "ecs:StopInvocation",
                        "ecs:DescribeCloudAssistantStatus",
                        "ecs:InstallCloudAssistant"
                    ],
                    "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角色。具体操作,请参见创建可信实体为阿里云服务的RAM角色。

      相关配置示例如下所示。

      名称

      示例

      选择可信实体类型

      选择阿里云服务。

      角色类型

      选择普通服务角色。

      角色名称

      AxtSecretRamRole

      选择受信服务

      在下拉列表中选择云服务器。

    3. 为RAM角色授权。具体操作,请参见为RAM角色授权。

    4. 为ECS实例设置RAM角色。具体操作,请参见授予实例RAM角色。

  6. 通过OOS创建加密参数,用于托管Windows登录密码。具体操作,请参见创建加密参数。

    说明

    OOS加密参数所在地域必须和ECS实例所在地域一致,否则ECS实例无法使用此托管密码。

    以下为设置user01用户密码托管的示例值:

    名称

    示例

    参数名称

    axtSecretPassword

    KMS密钥ID

    使用默认的Default Service CMK。

    值

    Windows实例登录密码。此处填入user01用户的登录密码。

  7. 使用RAM用户登录阿里云控制台。

  8. 运行云助手命令验证结果。具体操作,请参见创建并执行命令。

    以在Windows实例中运行云助手命令为例,验证权限设置是否生效。

    • 控制台验证操作如下所示,需要设置执行用户和OOS托管密码。windows创建云助手命令

      user01用户能够正常执行云助手命令,system用户执行云助手命令报错。

    • CLI验证操作如下所示,user01用户能够正常执行云助手命令,system用户执行云助手命令报错。win执行结果cli

相关文章

OpenVPN场景添加云助手服务端的IP地址到白名单 2025-04-01 12:00

Windows实例上配置了OpenVPN后,云助手将无法正常运行。在该场景下,您可以通过在OpenVPN中将云助手服务端的IP地址添加到白名单,实现云助手正常使用。 OpenVPN参数介绍

使用云助手在容器内执行命令 2025-04-01 12:00

相比远程连接Linux实例后,在Linux实例上连接容器并执行命令的方式,云助手可以免密码、免登录、无需使用跳板机直接连接Linux容器并执行命令,操作更加简化。您可以在调用云助手API接口(RunCommand或InvokeCommand)时,指定Kubernetes容器信息(ContainerI

在云助手命令中使用OOS参数仓库 2025-04-01 12:00

在云助手命令中使用自定义参数,可以更加灵活地编写脚本,提高命令的复用性。同时,系统运维管理OOS提供参数仓库功能,支持普通参数和加密参数。您可以在云助手命令中结合OOS的参数仓库功能,更为方便和安全地管理自定义参数。

授权RAM用户使用云助手 2025-04-01 12:00

您可以授予RAM用户不同的RAM策略,从而提升或降低RAM用户的权限级别,实现更安全可控的访问,并有效降低阿里云账号AccessKey密钥被泄露的风险。本文介绍了授权步骤,并给出了云助手相关的RAM策略示例。 背景信息 权限策略分为您自行创建的自定义

设置普通用户执行云助手命令 2025-04-01 12:00

使用最小权限执行命令是权限管理的最佳实践,建议您以普通用户身份执行云助手命令。本文介绍如何通过RAM用户的权限控制,实现普通用户(非root或system用户)执行云助手命令。 前提条件 ECS实例中已创建普通用户,本文以普通用户user01、user02为

通过SDK执行命令 2025-04-01 12:00

云助手命令可以在多台ECS实例中批量执行Shell、Bat或者PowerShell脚本。本文介绍如何通过ECS SDK运行云助手命令和查询云助手命令执行结果。 前提条件

目录
Copyright © 2025 your company All Rights Reserved. Powered by 博智数字服务平台.
闽ICP备08105208号-1