Comment puis-je mettre à jour ma stratégie d'accès SQS pour appliquer l'accès avec le moindre privilège ?

Lecture de 2 minute(s)
0

Pour isoler les attaques malveillantes, je souhaite restreindre l'accès à mon point de terminaison d’un VPC pour ma file d'attente Amazon Simple Queue Service (Amazon SQS). Je souhaite refuser l'accès depuis d'autres points de terminaison d’un VPC et limiter les autorisations relatives à la source des événements de la fonction AWS Lambda.

Résolution

Pour sécuriser votre file d'attente SQS, appliquez le principe du moindre privilège à votre stratégie d'accès SQS. Vous pouvez isoler toutes les attaques malveillantes présentes dans votre file d'attente en autorisant uniquement les requêtes provenant d'un point de terminaison d’un VPC spécifié et d'une fonction Lambda spécifiée avec mappage des sources d'événements. Vous pouvez sécuriser votre file d'attente et isoler les attaques en mettant en œuvre la stratégie d'accès SQS suivante :

{
  "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"
        }
      }
    }
  ]
}

Cette stratégie d'accès SQS effectue les opérations suivantes :

  • Si le point de terminaison d’un VPC n'est pas le point de terminaison ** AWS:SourceVPCE ** fourni lors de la demande, la politique refuse les messages clients envoyés à la file d'attente SQS.
  • Lorsque le rôle d'exécution de la fonction Lambda n'est pas ** PrincipalArn**, la stratégie refuse l'autorisation de la fonction Lambda.

Les conditions ArnNotEquals et StringNotEquals de la stratégie utilisent la logique d'évaluation OR. Si l'une ou l'autre des affirmations est vraie, la demande sera autorisée.

Pour plus d'informations sur la logique d'évaluation des conditions, voir Création d'une condition avec plusieurs clés ou valeurs.


Informations connexes

Tutoriel : Envoi d'un message à une file d'attente Amazon SQS depuis Amazon Virtual Private Cloud

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 2 ans