AmazonSecurityLakePermissionsBoundary

Last Modified

Mar 12, 2026

March 12, 2026 at 09:28 PM UTC

Version

v2

Total Versions

2

Created

May 14, 2024

Actions

49

Risk

High

An unrestricted escalation path, identity administration, secret reads or the power to switch off security monitoring. Read from this policy document alone: trust policies, boundaries and SCPs in your account still decide what actually succeeds. How this is assessed

  • High

    Can read secrets

    Reads data encrypted with any KMS key whose key policy allows it, on any resource with no condition.

    kms:Decrypt

    Use with caution: Where the holder needs only some secrets, write your own policy scoped to their ARNs or tags, and limit decryption in the KMS key policies.

  • Medium

    Can read data in every bucket or table

    Reads any object in any S3 bucket. Read-only is not the same as harmless when the data is the asset.

    s3:GetObject

    Use with caution: Read access to data is still access to data. For people who only need to see configuration, ViewOnlyAccess carries none of these signals.

Policy Document

View on GitHub
{
  "PolicyVersion": {
    "Document": {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Sid": "AllowActionsForSecurityLake",
          "Effect": "Allow",
          "Action": [
            "s3:GetObject",
            "s3:GetObjectVersion",
            "s3:ListBucket",
            "s3:ListBucketVersions",
            "s3:PutObject",
            "s3:GetBucketLocation",
            "kms:Decrypt",
            "kms:GenerateDataKey",
            "sqs:ReceiveMessage",
            "sqs:ChangeMessageVisibility",
            "sqs:DeleteMessage",
            "sqs:GetQueueUrl",
            "sqs:SendMessage",
            "sqs:GetQueueAttributes",
            "sqs:ListQueues"
          ],
          "Resource": "*"
        },
        {
          "Sid": "DenyActionsForSecurityLake",
          "Effect": "Deny",
          "NotAction": [
            "s3:GetObject",
            "s3:GetObjectVersion",
            "s3:ListBucket",
            "s3:ListBucketVersions",
            "s3:PutObject",
            "s3:GetBucketLocation",
            "kms:Decrypt",
            "kms:GenerateDataKey",
            "sqs:ReceiveMessage",
            "sqs:ChangeMessageVisibility",
            "sqs:DeleteMessage",
            "sqs:GetQueueUrl",
            "sqs:SendMessage",
            "sqs:GetQueueAttributes",
            "sqs:ListQueues"
          ],
          "Resource": "*"
        },
        {
          "Sid": "DenyActionsNotOnSecurityLakeBucket",
          "Effect": "Deny",
          "Action": [
            "s3:GetObject",
            "s3:GetObjectVersion",
            "s3:ListBucket",
            "s3:ListBucketVersions",
            "s3:PutObject",
            "s3:GetBucketLocation"
          ],
          "NotResource": [
            "arn:aws:s3:::aws-security-data-lake*"
          ]
        },
        {
          "Sid": "DenyActionsNotOnSecurityLakeSQS",
          "Effect": "Deny",
          "Action": [
            "sqs:ReceiveMessage",
            "sqs:ChangeMessageVisibility",
            "sqs:DeleteMessage",
            "sqs:GetQueueUrl",
            "sqs:SendMessage",
            "sqs:GetQueueAttributes",
            "sqs:ListQueues"
          ],
          "NotResource": "arn:aws:sqs:*:*:AmazonSecurityLake*"
        },
        {
          "Sid": "DenyActionsNotOnSecurityLakeKMSS3SQS",
          "Effect": "Deny",
          "Action": [
            "kms:Decrypt",
            "kms:GenerateDataKey"
          ],
          "Resource": "*",
          "Condition": {
            "StringNotLike": {
              "kms:ViaService": [
                "s3.*.amazonaws.com",
                "sqs.*.amazonaws.com"
              ]
            }
          }
        },
        {
          "Sid": "DenyActionsNotOnSecurityLakeKMSForS3",
          "Effect": "Deny",
          "Action": [
            "kms:Decrypt",
            "kms:GenerateDataKey"
          ],
          "Resource": "*",
          "Condition": {
            "Null": {
              "kms:EncryptionContext:aws:s3:arn": "false"
            },
            "StringNotLikeIfExists": {
              "kms:EncryptionContext:aws:s3:arn": [
                "arn:aws:s3:::aws-security-data-lake*"
              ]
            }
          }
        },
        {
          "Sid": "DenyActionsNotOnSecurityLakeKMSForS3SQS",
          "Effect": "Deny",
          "Action": [
            "kms:Decrypt",
            "kms:GenerateDataKey"
          ],
          "Resource": "*",
          "Condition": {
            "Null": {
              "kms:EncryptionContext:aws:sqs:arn": "false"
            },
            "StringNotLikeIfExists": {
              "kms:EncryptionContext:aws:sqs:arn": [
                "arn:aws:sqs:*:*:AmazonSecurityLake*"
              ]
            }
          }
        }
      ]
    },
    "VersionId": "v2",
    "IsDefaultVersion": true,
    "CreateDate": "2024-05-14T20:39:20+00:00"
  }
}

Version History (5 recorded)

Raw history

AmazonSecurityLakePermissionsBoundary - Policy Version v2

No recorded action delta - this version predates the change index. View the raw diff.

Mar 12, 2026

3829896

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

Sep 18, 2024

aafbae9

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

May 14, 2024

9f557c4

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

May 13, 2024

1b36617

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

Nov 29, 2022

fbb2158