Todos os produtos
Search
Central de documentação

Elastic Compute Service:Impor uma linha de base de segurança com políticas Deny do RAM

Última atualização: Jul 03, 2026

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:

  1. 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 em Allow.

  2. Restrições precisas com condições: Uma instrução Deny pode incluir um bloco condition. O Deny entra em vigor apenas quando a solicitação corresponde à Action, ao Resource e à condition definidos 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.

  1. 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.

  2. Crie uma política Deny condicional

    1. Faça login no RAM console. No painel de navegação à esquerda, escolha Permissions > Policies.

    2. Na página Policies, clique em Create Policy.

    3. 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:

      Exemplo 1: Proibir IPs públicos para instâncias ECS

      {
        "Version": "1",
        "Statement": [
          {
            "Effect": "Deny",
            "Action": "ecs:RunInstances",
            "Resource": "acs:ecs:*:*:instance/*",
            "Condition": {
              "Bool": {
                "ecs:AssociatePublicIpAddress": "true"
              }
            }
          }
        ]
      }

      Exemplo 2: Impor login por par de chaves para instâncias ECS

      "Null": {"ecs:KeyPairName": "true"} significa que, se ecs:KeyPairName for nulo (nenhum par de chaves especificado), o Deny entrará em vigor.

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": "ecs:RunInstances",
                  "Effect": "Deny",
                  "Resource": "acs:ecs:*:*:instance/*",
                  "Condition": {
                      "Null": {
                          "ecs:KeyPairName": "true"
                      }
                  }
              }
          ]
      }

      Exemplo 3: Proibir a abertura de portas de alto risco para a internet

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": "ecs:AuthorizeSecurityGroup",
                  "Effect": "Deny",
                  "Resource": "acs:ecs:*:*:securitygroup/*",
                  "Condition": {
                      "StringEquals": {
                          "ecs:SourceCidrIp": "0.0.0.0/0"
                      },
                      "ForAnyValue:StringEquals": {
                          "ecs:PortRange": [
                              "22/22",
                              "3389/3389",
                              "3306/3306",
                              "6379/6379",
                              "27017/27017"
                          ]
                      }
                  }
              }
          ]
      }

      Observação: ForAnyValue:StringEquals verifica se algum intervalo de portas na solicitação corresponde a um valor na política. Em caso de correspondência, a condição será avaliada como verdadeira.

    4. Insira um Policy Name e uma Description e clique em OK. Conclua a verificação de segurança.

  3. Anexe a política Deny

    Anexe a política ao usuário RAM, grupo de usuários ou função de destino.

    1. Faça login no RAM console. No painel de navegação à esquerda, escolha Identities > Users.

    2. Na página Users, localize o usuário RAM de destino e clique em Attach Policy na coluna Actions.

    3. No painel Attach Policy, selecione a política Deny e clique em OK.