SageMakerStudioBedrockAgentServiceRolePolicy

Last Modified

Mar 12, 2026

March 12, 2026 at 09:29 PM UTC

Version

v3

Total Versions

1

Created

Feb 12, 2026

Actions

15

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": "BedrockAppInferenceProfileInvocationPermissions",
          "Effect": "Allow",
          "Action": [
            "bedrock:GetInferenceProfile",
            "bedrock:InvokeModel",
            "bedrock:InvokeModelWithResponseStream"
          ],
          "Resource": "arn:aws:bedrock:*:*:application-inference-profile/*",
          "Condition": {
            "StringEquals": {
              "aws:ResourceTag/AmazonDataZoneProject": "${aws:PrincipalTag/AmazonDataZoneProject}"
            }
          }
        },
        {
          "Sid": "BedrockModelInvocationPermissions",
          "Effect": "Allow",
          "Action": [
            "bedrock:InvokeModel",
            "bedrock:InvokeModelWithResponseStream"
          ],
          "Resource": [
            "arn:aws:bedrock:*::foundation-model/*",
            "arn:aws:bedrock:*:*:custom-model/*",
            "arn:aws:bedrock:*:*:provisioned-model/*"
          ],
          "Condition": {
            "Null": {
              "bedrock:InferenceProfileArn": "false"
            }
          }
        },
        {
          "Sid": "BedrockApplyGuardrailPermissions",
          "Effect": "Allow",
          "Action": "bedrock:ApplyGuardrail",
          "Resource": "arn:aws:bedrock:*:*:guardrail/*",
          "Condition": {
            "StringEquals": {
              "aws:ResourceAccount": "${aws:PrincipalAccount}",
              "aws:ResourceTag/AmazonDataZoneProject": "${aws:PrincipalTag/AmazonDataZoneProject}"
            }
          }
        },
        {
          "Sid": "BedrockRetrieveAndGeneratePermissions",
          "Effect": "Allow",
          "Action": "bedrock:RetrieveAndGenerate",
          "Resource": "*"
        },
        {
          "Sid": "LambdaInvokeFunctionInProjectPermissions",
          "Effect": "Allow",
          "Action": "lambda:InvokeFunction",
          "Resource": "arn:aws:lambda:*:*:function:amazon-bedrock*",
          "Condition": {
            "StringEquals": {
              "aws:ResourceAccount": "${aws:PrincipalAccount}",
              "aws:ResourceTag/AmazonDataZoneProject": "${aws:PrincipalTag/AmazonDataZoneProject}"
            }
          }
        },
        {
          "Sid": "BedrockRetrievePermissions",
          "Effect": "Allow",
          "Action": "bedrock:Retrieve",
          "Resource": "arn:aws:bedrock:*:*:knowledge-base/*",
          "Condition": {
            "StringEquals": {
              "aws:ResourceAccount": "${aws:PrincipalAccount}",
              "aws:ResourceTag/AmazonDataZoneProject": "${aws:PrincipalTag/AmazonDataZoneProject}"
            }
          }
        },
        {
          "Sid": "S3GetObjectPermissions",
          "Effect": "Allow",
          "Action": [
            "s3:GetObject",
            "s3:GetObjectVersion",
            "s3:GetObjectVersionAttributes",
            "s3:GetObjectAttributes"
          ],
          "Resource": "arn:aws:s3:::${aws:PrincipalTag/DomainBucketName}/${aws:PrincipalTag/AmazonDataZoneDomain}/${aws:PrincipalTag/AmazonDataZoneProject}/*",
          "Condition": {
            "StringEquals": {
              "aws:ResourceAccount": "${aws:PrincipalAccount}"
            },
            "StringNotEquals": {
              "aws:PrincipalTag/DomainBucketName": "",
              "aws:PrincipalTag/AmazonDataZoneDomain": "",
              "aws:PrincipalTag/AmazonDataZoneProject": ""
            }
          }
        },
        {
          "Sid": "BedrockGuardrailKmsPermissions",
          "Effect": "Allow",
          "Action": "kms:Decrypt",
          "Resource": "arn:aws:kms:*:*:key/${aws:PrincipalTag/KmsKeyId}",
          "Condition": {
            "StringEquals": {
              "aws:ResourceAccount": "${aws:PrincipalAccount}"
            },
            "Null": {
              "kms:EncryptionContext:aws:bedrock:guardrail-id": "false"
            }
          }
        },
        {
          "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:33+00:00"
  }
}

Version History (4 recorded)

Raw history
v3updated

scope changed, no action added or removed

2bd063e

SageMakerStudioBedrockAgentServiceRolePolicy - Policy Version v3

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

Feb 12, 2026

43dff90

SageMakerStudioBedrockAgentServiceRolePolicy - Policy Version v2

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

Feb 12, 2026

32c3c91

Update detected

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

Feb 14, 2025

768ca88