SageMakerStudioBedrockPromptUserRolePolicy

Last Modified

Mar 12, 2026

March 12, 2026 at 09:29 PM UTC

Version

v3

Total Versions

1

Created

Feb 12, 2026

Actions

7

Risk

no risk signal

Read from this policy document alone: trust policies, boundaries and SCPs in your account still decide what actually succeeds. How this is assessed

IAM Access Analyzer (1)

  • Warning / TYPE_MISMATCH

    Use the operator type String instead of operator ARN for the condition key kms:EncryptionContext:aws:s3:arn. AWS docs

Policy Document

View on GitHub
{
  "PolicyVersion": {
    "Document": {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Sid": "BedrockPromptReadOnlyPermissions",
          "Effect": "Allow",
          "Action": "bedrock:GetPrompt",
          "Resource": "arn:aws:bedrock:*:*:prompt/${aws:PrincipalTag/PromptId}:${aws:PrincipalTag/PromptVersion}",
          "Condition": {
            "StringEquals": {
              "aws:ResourceAccount": "${aws:PrincipalAccount}",
              "aws:ResourceTag/AmazonDataZoneProject": "${aws:PrincipalTag/AmazonDataZoneProject}"
            }
          }
        },
        {
          "Sid": "S3ListPromptDefinitionPermissions",
          "Effect": "Allow",
          "Action": "s3:ListBucket",
          "Resource": "arn:aws:s3:::${aws:PrincipalTag/DomainBucketName}",
          "Condition": {
            "StringEquals": {
              "s3:prefix": "${aws:PrincipalTag/AmazonDataZoneDomain}/${aws:PrincipalTag/AmazonDataZoneProject}/${aws:PrincipalTag/PromptDefinitionPath}",
              "aws:ResourceAccount": "${aws:PrincipalAccount}"
            },
            "StringNotEquals": {
              "aws:PrincipalTag/DomainBucketName": "",
              "aws:PrincipalTag/AmazonDataZoneDomain": "",
              "aws:PrincipalTag/AmazonDataZoneProject": "",
              "aws:PrincipalTag/PromptDefinitionPath": ""
            }
          }
        },
        {
          "Sid": "S3GetPromptDefinitionPermissions",
          "Effect": "Allow",
          "Action": [
            "s3:GetObject",
            "s3:GetObjectVersion"
          ],
          "Resource": "arn:aws:s3:::${aws:PrincipalTag/DomainBucketName}/${aws:PrincipalTag/AmazonDataZoneDomain}/${aws:PrincipalTag/AmazonDataZoneProject}/${aws:PrincipalTag/PromptDefinitionPath}",
          "Condition": {
            "StringEquals": {
              "aws:ResourceAccount": "${aws:PrincipalAccount}"
            },
            "StringNotEquals": {
              "aws:PrincipalTag/DomainBucketName": "",
              "aws:PrincipalTag/AmazonDataZoneDomain": "",
              "aws:PrincipalTag/AmazonDataZoneProject": "",
              "aws:PrincipalTag/PromptDefinitionPath": ""
            }
          }
        },
        {
          "Sid": "BedrockPromptKmsPermissions",
          "Effect": "Allow",
          "Action": [
            "kms:Decrypt",
            "kms:GenerateDataKey"
          ],
          "Resource": "arn:aws:kms:*:*:key/${aws:PrincipalTag/KmsKeyId}",
          "Condition": {
            "StringLike": {
              "kms:ViaService": "bedrock.*.amazonaws.com",
              "kms:EncryptionContext:aws:bedrock-prompts:arn": "arn:aws:bedrock:*:${aws:PrincipalAccount}:prompt/${aws:PrincipalTag/PromptId}"
            },
            "StringEquals": {
              "aws:ResourceAccount": "${aws:PrincipalAccount}"
            }
          }
        },
        {
          "Sid": "S3KmsPermissions",
          "Effect": "Allow",
          "Action": "kms:Decrypt",
          "Resource": "arn:aws:kms:*:*:key/${aws:PrincipalTag/KmsKeyId}",
          "Condition": {
            "StringLike": {
              "kms:ViaService": "s3.*.amazonaws.com"
            },
            "StringEquals": {
              "aws:ResourceAccount": "${aws:PrincipalAccount}"
            },
            "ArnLike": {
              "kms:EncryptionContext:aws:s3:arn": [
                "arn:aws:s3:::${aws:PrincipalTag/DomainBucketName}",
                "arn:aws:s3:::${aws:PrincipalTag/DomainBucketName}/*"
              ]
            }
          }
        }
      ]
    },
    "VersionId": "v3",
    "IsDefaultVersion": true,
    "CreateDate": "2026-02-12T18:00:54+00:00"
  }
}

Version History (4 recorded)

Raw history
v3updated

scope changed, no action added or removed

16e02ab

SageMakerStudioBedrockPromptUserRolePolicy - Policy Version v3

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

Feb 12, 2026

9b93496

SageMakerStudioBedrockPromptUserRolePolicy - Policy Version v2

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

Feb 12, 2026

ab4426b

Update detected

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

Feb 14, 2025

1c32222