Wie aktualisiere ich meine SQS-Zugriffsrichtlinie, um den Zugriff mit den geringsten Berechtigungen anzuwenden?

Lesedauer: 2 Minute
0

Um böswillige Angriffe zu isolieren, möchte ich den Zugriff auf meinen VPC-Endpunkt für meine Amazon Simple Queue Service (Amazon SQS)-Warteschlange einschränken. Ich möchte den Zugriff von anderen VPC-Endpunkten aus verweigern und die Berechtigungen für die Ereignisquelle von AWS Lambda-Funktionen einschränken.

Lösung

Um Ihre SQS-Warteschlange zu sichern, wenden Sie die Prinzipien der geringsten Rechte auf Ihre SQS-Zugriffsrichtlinie an. Sie können alle bösartigen Angriffe in Ihrer Warteschlange isolieren, indem Sie nur Anfragen von einem bestimmten VPC-Endpunkt und einer bestimmten Lambda-Funktion mit Zuordnung von Ereignisquellen zulassen. Sie können Ihre Warteschlange sichern und Angriffe isolieren, indem Sie die folgende SQS-Zugriffsrichtlinie implementieren:

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

Diese SQS-Zugriffsrichtlinie bewirkt Folgendes:

  • Wenn der VPC-Endpunkt nicht der aws:SourceVPCE ist, der bei der Anforderung angegeben wurde, verweigert die Richtlinie die an die SQS-Warteschlange gesendeten Client-Nachrichten.
  • Wenn die Ausführungsrolle der Lambda-Funktion nicht PrincipalArn ist, verweigert die Richtlinie der Lambda-Funktion die Berechtigung.

Die Bedingungen arnNotEquals und StringNotEquals in der Richtlinie verwenden die OR-Bewertungslogik. Wenn eine der Aussagen true ist, wird die Anfrage zugelassen.

Weitere Informationen zur Bewertungslogik für Bedingungen finden Sie unter Eine Bedingung mit mehreren Schlüsseln oder Werten erstellen.


Ähnliche Informationen

Tutorial: Senden einer Nachricht von Amazon Virtual Private Cloud an eine Amazon SQS-Warteschlange

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren