SageMakerStudioBedrockEvaluationJobServiceRolePolicy
Summary
Allows Amazon Bedrock to access Amazon Bedrock models and datasets for evaluation jobs in SageMaker Studio.
Permissions imported from the AWS Managed Policy Reference Guide; other sections pending editorial review.
Identity
- ARN
arn:aws:iam::aws:policy/service-role/SageMakerStudioBedrockEvaluationJobServiceRolePolicy- Default version
- v3
- Created
- Last edited
- Services
- bedrock, kms, s3
Control-plane actions (9)
By access level: 5 Read, 4 Write.
| Service | Granted | Access levels and limits | Granted by |
|---|---|---|---|
| Bedrock | 5 of 232 | 3 Read, 2 Write; 5 restricted, 5 conditional | bedrock:CreateModelInvocationJob, bedrock:GetInferenceProfile, bedrock:GetProvisionedModelThroughput, bedrock:InvokeModelWithResponseStream, bedrock:StopModelInvocationJob |
| KMS | 3 of 58 | 1 Read, 2 Write; 3 restricted, 3 conditional | kms:Decrypt, kms:DescribeKey, kms:GenerateDataKey |
| S3 | 1 of 155 | 1 Read; 1 restricted, 1 conditional | s3:GetBucketLocation |
Bedrock: 5 actions
- bedrock:CreateModelInvocationJob (Write)
- bedrock:GetInferenceProfile (Read)
- bedrock:GetProvisionedModelThroughput (Read)
- bedrock:InvokeModelWithResponseStream (Read)
- bedrock:StopModelInvocationJob (Write)
KMS: 3 actions
- kms:Decrypt (Write)
- kms:DescribeKey (Read)
- kms:GenerateDataKey (Write)
S3: 1 actions
- s3:GetBucketLocation (Read)
Data-plane actions (6)
By access level: 2 List, 2 Read, 2 Write.
| Service | Granted | Access levels and limits | Granted by |
|---|---|---|---|
| Bedrock | 1 of 37 | 1 Read; 1 restricted, 1 conditional | bedrock:InvokeModel |
| S3 | 5 of 25 | 2 List, 1 Read, 2 Write; 5 restricted, 5 conditional | s3:AbortMultipartUpload, s3:GetObject, s3:ListBucket, s3:ListMultipartUploadParts, s3:PutObject |
Bedrock: 1 actions
- bedrock:InvokeModel (Read)
S3: 5 actions
- s3:AbortMultipartUpload (Write)
- s3:GetObject (Read)
- s3:ListBucket (List)
- s3:ListMultipartUploadParts (List)
- s3:PutObject (Write)
Excluded and conditional actions
No patterns are excluded by NotAction or Deny statements.
Resource scope and attachment
Resource scope across granted actions: mixed.
Can be attached: Yes, to users, groups and roles.
Why this tier
- Grants 6 write, tagging or permissions-management actions, short of full control of any service.
- Grants data-plane write actions on a data store, but only for scoped resources or under conditions.
Guidance
Pending editorial review. The permission data on this page comes straight from AWS; this section will be filled in once a reviewed guide exists.
Related policies
Same service
- AccessAnalyzerServiceRolePolicy
- AdministratorAccess-AWSElasticBeanstalk
- AgentRegistryFullAccess
- AmazonAppFlowFullAccess
- AmazonAppStreamServiceAccess
- AmazonAuroraDSQLConsoleFullAccess
- AmazonAuroraDSQLFullAccess
- AmazonBedrockAgentCoreMemoryBedrockModelInferenceExecutionRolePolicy
Same domain
Frequently asked questions
Pending editorial review. The permission data on this page comes straight from AWS; this section will be filled in once a reviewed guide exists.
Policy JSON
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "BedrockEvaluationInferenceProfileInvocationPermissions",
"Effect": "Allow",
"Action": [
"bedrock:InvokeModel",
"bedrock:InvokeModelWithResponseStream",
"bedrock:GetInferenceProfile"
],
"Resource": [
"arn:aws:bedrock:*:*:application-inference-profile/*"
],
"Condition": {
"StringEquals": {
"aws:ResourceTag/AmazonDataZoneProject": "${aws:PrincipalTag/AmazonDataZoneProject}"
}
}
},
{
"Sid": "BedrockInvokeModelPermissions",
"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": "BedrockModelInvocationPermissions",
"Effect": "Allow",
"Action": [
"bedrock:CreateModelInvocationJob",
"bedrock:StopModelInvocationJob",
"bedrock:GetProvisionedModelThroughput"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:ResourceAccount": "${aws:PrincipalAccount}"
}
}
},
{
"Sid": "S3GetBucketLocationPermissions",
"Effect": "Allow",
"Action": "s3:GetBucketLocation",
"Resource": "arn:aws:s3:::${aws:PrincipalTag/DomainBucketName}",
"Condition": {
"StringEquals": {
"aws:ResourceAccount": "${aws:PrincipalAccount}"
},
"StringNotEquals": {
"aws:PrincipalTag/DomainBucketName": ""
}
}
},
{
"Sid": "S3ListBucketPermissions",
"Effect": "Allow",
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::${aws:PrincipalTag/DomainBucketName}",
"Condition": {
"StringEquals": {
"aws:ResourceAccount": "${aws:PrincipalAccount}"
},
"StringLike": {
"s3:prefix": "${aws:PrincipalTag/AmazonDataZoneDomain}/${aws:PrincipalTag/AmazonDataZoneProject}/*"
},
"StringNotEquals": {
"aws:PrincipalTag/DomainBucketName": "",
"aws:PrincipalTag/AmazonDataZoneDomain": "",
"aws:PrincipalTag/AmazonDataZoneProject": ""
}
}
},
{
"Sid": "S3EvaluationPermissions",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:ListMultipartUploadParts",
"s3:AbortMultipartUpload"
],
"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": "KmsDescribeKeyPermissions",
"Effect": "Allow",
"Action": "kms:DescribeKey",
"Resource": "arn:aws:kms:*:*:key/${aws:PrincipalTag/KmsKeyId}",
"Condition": {
"StringEquals": {
"aws:ResourceAccount": "${aws:PrincipalAccount}"
}
}
},
{
"Sid": "S3KmsPermissions",
"Effect": "Allow",
"Action": [
"kms:Decrypt",
"kms:GenerateDataKey"
],
"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}/*"
]
}
}
}
]
}
Version history
Current version v3, edited by AWS on 2026-02-12. Version history is recorded from 2026-11-11. Earlier versions are in the IAM console under Policy versions.
Attach snippets
AWS CLI
aws iam attach-role-policy --role-name ROLE_NAME --policy-arn arn:aws:iam::aws:policy/service-role/SageMakerStudioBedrockEvaluationJobServiceRolePolicy
aws iam attach-user-policy --user-name USER_NAME --policy-arn arn:aws:iam::aws:policy/service-role/SageMakerStudioBedrockEvaluationJobServiceRolePolicy
aws iam attach-group-policy --group-name GROUP_NAME --policy-arn arn:aws:iam::aws:policy/service-role/SageMakerStudioBedrockEvaluationJobServiceRolePolicyCloudFormation
Resources:
ExampleRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument: {} # replace with your trust policy
ManagedPolicyArns:
- arn:aws:iam::aws:policy/service-role/SageMakerStudioBedrockEvaluationJobServiceRolePolicyTerraform
resource "aws_iam_role_policy_attachment" "service_role_sagemakerstudiobedrockevaluationjobservicerolepolicy" {
role = aws_iam_role.example.name
policy_arn = "arn:aws:iam::aws:policy/service-role/SageMakerStudioBedrockEvaluationJobServiceRolePolicy"
}CDK (TypeScript)
role.addManagedPolicy(
iam.ManagedPolicy.fromAwsManagedPolicyName("service-role/SageMakerStudioBedrockEvaluationJobServiceRolePolicy"),
);Sources
Pending editorial review. No editorial sources are listed yet.