Todos os produtos
Search
Central de documentação

Elastic Compute Service:Execute comandos do Cloud Assistant como usuário RAM

Última atualização: Jul 03, 2026

Use políticas de RAM para restringir a execução de comandos do Cloud Assistant a usuários comuns, como usuários não root ou não system.

Pré-requisitos

Crie um usuário comum na instância ECS. Este tópico usa user01 e user02 como exemplos.

Contexto

Por padrão, o Cloud Assistant executa comandos com o privilégio mais alto em uma instância ECS: como root no Linux e system no Windows.

Use uma política de RAM para impedir que root ou system executem comandos do Cloud Assistant e conceder permissões apenas a usuários comuns, como user01 e user02.

Configure um usuário comum para instâncias Linux

Siga estas etapas para impedir que um usuário RAM execute comandos do Cloud Assistant como root em instâncias Linux.

  1. Faça login no console do RAM com sua conta Alibaba Cloud.

  2. Crie um usuário RAM.

    Exemplo de configurações de usuário RAM:

    Parâmetro

    Exemplo

    Logon name

    commandUser

    Display name

    commandUser

    Access mode

    Selecione Console Access e Programmatic Access (este tópico usa ambos).

    Nota

    Selecione apenas o modo de acesso necessário para seguir o princípio do menor privilégio.

    Set password

    Selecione Automatically generate password.

    Password reset

    Selecione Required at Next Logon.

    MFA

    Selecione Not Required.

    Salve o nome de usuário, a senha e a AccessKey após a criação.

  3. Crie uma política personalizada para o Cloud Assistant.

    ram用户权限设置

    Crie uma política chamada commandUserPolicy. Seguem dois exemplos; modifique conforme necessário.

    • Permita que user01 e user02 executem comandos do Cloud Assistant:

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

      Adicione ou modifique nomes de usuário no bloco Condition para conceder permissões a outros usuários.

    • Impeça que root e system executem comandos do 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"
      }
      Nota

      Adicione ou modifique nomes de usuário no bloco Condition para restringir outros usuários.

  4. Conceda ao usuário RAM permissões somente leitura do ECS e permissões do Cloud Assistant.

    授权

    • ECS somente leitura: selecione AliyunECSReadOnlyAccess.

    • Cloud Assistant: selecione commandUserPolicy (criada na etapa anterior).

  5. Faça login no console da Alibaba Cloud como o usuário RAM.

  6. Verifique a configuração executando um comando do Cloud Assistant. Consulte Criar e executar comandos.

    • No console, especifique o usuário para executar o comando:使用云助手创建命令

      O user01 executa o comando com sucesso, mas o root retorna um erro.

    • Na CLI, o user01 executa o comando com sucesso, mas o root retorna um erro:cli结果

Configure um usuário comum para instâncias Windows

A execução de comandos do Cloud Assistant em uma instância Windows requer nome de usuário e senha. Armazene a senha de logon do Windows como um parâmetro criptografado no CloudOps Orchestration Service e criptografe-a com o Key Management Service (KMS). Consulte O que é o CloudOps Orchestration Service e O que é o Key Management Service.

Siga estas etapas para impedir que um usuário RAM execute comandos do Cloud Assistant como root ou system.

  1. Faça login no console do RAM com sua conta Alibaba Cloud.

  2. Crie um usuário RAM.

    Exemplo de configurações de usuário RAM:

    Parâmetro

    Exemplo

    Logon name

    commandUser

    Display name

    commandUser

    Access mode

    Selecione Console Access e Programmatic Access (este tópico usa ambos).

    Nota

    Selecione apenas o modo de acesso necessário para seguir o princípio do menor privilégio.

    Set password

    Selecione Automatically generate password.

    Password reset

    Selecione Required at Next Logon.

    MFA

    Selecione Not Required.

    Salve o nome de usuário, a senha e a AccessKey após a criação.

  3. Crie políticas personalizadas para o Cloud Assistant e o KMS.

    • Permissões do Cloud Assistant:

      Crie uma política chamada commandUserPolicy. Seguem dois exemplos; modifique conforme necessário.

      • Permita que user01 e user02 executem comandos do Cloud Assistant:

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

        Adicione ou modifique nomes de usuário no bloco Condition para conceder permissões a outros usuários.

      • Impeça que root e system executem comandos do 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"
        }
        Nota

        Adicione ou modifique nomes de usuário no bloco Condition para restringir outros usuários.

    • Permissões do KMS:

      Crie uma política chamada kmsPolicy. Consulte Exemplos de políticas de autorização comuns.

      {
        "Version": "1",
        "Statement": [
          {
            "Effect": "Allow",
            "Action": [
              "kms:List*", "kms:Describe*",
              "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey"
            ],
            "Resource": [
              "*"
            ]
          }
        ]
      }             
  4. Conceda ao usuário RAM permissões para ECS, OOS, Cloud Assistant e KMS.

    win权限

    • ECS somente leitura: selecione AliyunECSReadOnlyAccess.

    • OOS somente leitura: selecione AliyunOOSReadOnlyAccess.

    • Cloud Assistant: selecione commandUserPolicy (criada na etapa anterior).

    • KMS: selecione kmsPolicy (criada na etapa anterior).

  5. Configure uma função RAM para a instância Windows.

    1. Crie uma política personalizada para a função RAM.

      Exemplo de política:

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "kms:GetSecretValue"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              },
              {
                  "Action": [
                      "oos:GetSecretParameter"
                  ],
                  "Effect": "Allow",
                  "Resource": "*"
              }
          ]
      }
    2. Crie uma função RAM de serviço.

      Exemplo de configuração:

      Parâmetro

      Exemplo

      Trusted entity type

      Selecione Alibaba Cloud Service.

      Trusted service

      Selecione ECS.

      Role name

      AxtSecretRamRole

    3. Conceda permissões à função RAM.

    4. Anexe a função RAM à instância ECS.

  6. Crie um parâmetro criptografado no OOS para armazenar a senha de logon do Windows.

    Nota

    O parâmetro criptografado do OOS deve estar na mesma região da instância ECS.

    Valores de exemplo para user01:

    Parâmetro

    Exemplo

    Parameter name

    axtSecretPassword

    KMS key ID

    Use o Default Service CMK padrão.

    Value

    A senha de logon do user01.

  7. Faça login no console da Alibaba Cloud como o usuário RAM.

  8. Verifique a configuração executando um comando do Cloud Assistant. Consulte Criar e executar comandos.

    Execute um comando do Cloud Assistant na instância Windows para verificar as permissões.

    • No console, especifique o usuário e o parâmetro de senha criptografada do OOS:windows创建云助手命令

      O user01 executa o comando com sucesso, mas o system retorna um erro.

    • Na CLI, o user01 executa o comando com sucesso, mas o system retorna um erro:win执行结果cli