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.
Faça login no console do RAM com sua conta Alibaba Cloud.
-
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).
NotaSelecione 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.
-
Crie uma política personalizada para o Cloud Assistant.

Crie uma política chamada
commandUserPolicy. Seguem dois exemplos; modifique conforme necessário.-
Permita que
user01euser02executem 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" }NotaAdicione ou modifique nomes de usuário no bloco
Conditionpara conceder permissões a outros usuários. -
Impeça que
rootesystemexecutem 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" }NotaAdicione ou modifique nomes de usuário no bloco
Conditionpara restringir outros usuários.
-
-
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).
Faça login no console da Alibaba Cloud como o usuário RAM.
-
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
user01executa o comando com sucesso, mas orootretorna um erro. Na CLI, o
user01executa o comando com sucesso, mas orootretorna um erro:
-
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.
Faça login no console do RAM com sua conta Alibaba Cloud.
-
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).
NotaSelecione 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.
-
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
user01euser02executem 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" }NotaAdicione ou modifique nomes de usuário no bloco
Conditionpara conceder permissões a outros usuários. -
Impeça que
rootesystemexecutem 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" }NotaAdicione ou modifique nomes de usuário no bloco
Conditionpara 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": [ "*" ] } ] }
-
-
Conceda ao usuário RAM permissões para ECS, OOS, Cloud Assistant e KMS.

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).
-
Configure uma função RAM para a instância Windows.
-
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": "*" } ] } -
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
Anexe a função RAM à instância ECS.
-
-
Crie um parâmetro criptografado no OOS para armazenar a senha de logon do Windows.
NotaO 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. Faça login no console da Alibaba Cloud como o usuário RAM.
-
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:

O
user01executa o comando com sucesso, mas osystemretorna um erro. Na CLI, o
user01executa o comando com sucesso, mas osystemretorna um erro:
-