Adicione instruções Deny com elementos condition às políticas do RAM para bloquear operações inseguras no ECS, como atribuição de IP público, login baseado em senha ou exposição de portas de alto risco.
Riscos de segurança das políticas apenas Allow
As instruções padrão de política do RAM usam o efeito Allow para conceder permissões. Por exemplo, a política a seguir permite que um usuário crie uma instância ECS com a ação ecs:RunInstances:
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Resource": "acs:ecs:*:*:instance/*",
"Action": [
"ecs:RunInstances"
]
}
}
Essa abordagem concede permissões amplas que podem resultar em recursos fora de conformidade. Exemplos:
Superfície de ataque exposta: Um servidor de banco de dados destinado ao uso interno recebe um Elastic IP Address (EIP).
Credenciais fracas: Uma instância ECS com login baseado em senha fica vulnerável a ataques de força bruta.
Violações de conformidade: Criação de recurso sem imagem protegida e aprovada pela empresa.
Melhores práticas
Princípio fundamental
Adicione uma instrução Deny com uma condition a uma política Allow:
Prevalência do Deny: O RAM verifica todas as políticas aplicáveis. Se qualquer instrução resultar em
Deny, a solicitação será negada, mesmo que outra instrução resulte emAllow.Restrições precisas com condições: Uma instrução
Denypode incluir um blococondition. ODenyentra em vigor apenas quando a solicitação corresponde àAction, aoResourcee àconditiondefinidos na política.
Por exemplo, a política a seguir nega ("Effect": "Deny") a ação ecs:RunInstances em qualquer recurso de instância (acs:ecs:*:*:instance/*) quando um endereço IP público estiver associado ("ecs:AssociatePublicIpAddress": "true").
{
"Version": "1",
"Statement": [
{
"Effect": "Deny",
"Resource": "acs:ecs:*:*:instance/*",
"Action": [
"ecs:RunInstances"
],
"Condition": {
"Bool": {
"ecs:AssociatePublicIpAddress": "true"
}
}
}
]
}
A estratégia "Allow + Deny com Condition" concede permissões amplas e adiciona um Deny condicional como proteção para bloquear ações que violem sua linha de base de segurança. Isso transforma diretrizes de segurança em regras impostas pela plataforma.
Procedimento
Anexe duas políticas à entidade de destino (usuário RAM, grupo de usuários ou função): uma política Allow, como AliyunECSFullAccess, e uma política Deny personalizada. A política Allow concede as permissões, enquanto a política Deny rejeita solicitações fora de conformidade.
-
Identifique as operações e condições a restringir
Identifique a regra de segurança a impor e localize a Action e a Condition Key correspondentes no RAM. A Condition Key é um parâmetro que a API de serviço de nuvem expõe ao RAM para avaliação. Consulte, por exemplo, a seção "Authorization Information" de RunInstances para ver todas as Condition Keys suportadas por
ecs:RunInstances. -
Crie uma política Deny condicional
Faça login no RAM console. No painel de navegação à esquerda, escolha .
Na página Policies, clique em Create Policy.
-
Na página Create Policy, clique na aba JSON Editor. Insira o documento de política e clique em OK.
Os exemplos a seguir mostram políticas Deny comuns:
Insira um Policy Name e uma Description e clique em OK. Conclua a verificação de segurança.
-
Anexe a política Deny
Anexe a política ao usuário RAM, grupo de usuários ou função de destino.
Faça login no RAM console. No painel de navegação à esquerda, escolha .
Na página Users, localize o usuário RAM de destino e clique em Attach Policy na coluna Actions.
No painel Attach Policy, selecione a política Deny e clique em OK.