Como atualizo minha política de acesso do SQS para aplicar o acesso de privilégio mínimo?

2 minuto de leitura
0

Para isolar ataques mal-intencionados, quero restringir o acesso ao meu endpoint da VPC para minha fila do Amazon Simple Queue Service (Amazon SQS). Quero negar o acesso de outros endpoints da VPC e limitar as permissões de origem de eventos de funções do AWS Lambda.

Resolução

Para proteger sua fila do SQS, aplique os princípios de privilégio mínimo à sua política de acesso do SQS. Você pode isolar qualquer ataque mal-intencionado em sua fila permitindo solicitações somente de um endpoint de VPC especificado e de uma função do Lambda especificada com mapeamento da origem do evento. Você pode proteger sua fila e isolar ataques implantando a seguinte política de acesso do SQS:

{
  "Version": "2012-10-17",
  "Id": "default_policy_ID",
  "Statement": [
    {
      "Sid": "owner_statement",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam:XXXXXXX:root"
      },
      "Action": "SQS:*",
      "Resource": "arn:aws:sqs:us-east-1:XXXXXXXX:test.fifo"
    },
    {
      "Sid": "RestrictSendReceiveToVpce",
      "Effect": "Deny",
      "Principal": "*",
      "Action": [
        "sqs:SendMessage",
        "sqs:ReceiveMessage",
        "sqs:DeleteMessage",
        "sqs:DeleteQueue",
        "sqs:PurgeQueue"
      ],
      "Resource": "arn:aws:sqs:us-east-1: XXXXXX:test.fifo",
      "Condition": {
        "ArnNotEquals": {
         "aws:PrincipalArn": "Lambda execution role arn"
        },
        "StringNotEquals": {
          "aws:SourceVpce": "vpce-XXXXX"
        }
      }
    }
  ]
}

Essa política de acesso do SQS faz o seguinte:

  • Se o endpoint da VPC não for o aws:sourceVpce fornecido ao fazer a solicitação, a política negará as mensagens do cliente enviadas para a fila do SQS.
  • Quando o perfil de execução da função do Lambda não é PrincipalArn, a política nega a permissão da função do Lambda.

As condições ArnNotEquals e StringNotEquals na política usam a lógica de avaliação OR. Se qualquer uma das afirmações for verdadeira, a solicitação será permitida.

Para obter mais informações sobre a lógica de avaliação das condições, consulte Criar uma condição com várias chaves ou valores.


Informações relacionadas

Tutorial: enviar uma mensagem para uma fila do Amazon SQS a partir da Amazon Virtual Private Cloud

AWS OFICIAL
AWS OFICIALAtualizada há 2 anos