Skip to main content
IAM Policy Map

AmazonSageMakerModelCustomizationCoreAccess

OperatorAWS managedActivePermissions reviewedShow on mapCompare

Summary

Grants permissions for SageMaker model customization workflows including serverless training, custom reward function for reinforcement learning, model evaluation, and deployment to SageMaker or Bedrock endpoints.

Permissions imported from the AWS Managed Policy Reference Guide; other sections pending editorial review.

Identity

ARN
arn:aws:iam::aws:policy/AmazonSageMakerModelCustomizationCoreAccess
Default version
v3
Created
Last edited
Services
application-autoscaling, bedrock, ec2, ecr, iam, kms, lambda, logs, s3, sagemaker, sagemaker-mlflow, servicequotas

Control-plane actions (115)

By access level: 30 List, 40 Read, 1 Tagging, 44 Write.

Control-plane actions by service
ServiceGrantedAccess levels and limitsGranted by
Application Auto Scaling1 of 141 Read; 1 restricted, 1 conditionalapplication-autoscaling:DescribeScalableTargets
Bedrock14 of 2325 List, 6 Read, 3 Write; 12 restricted, 12 conditionalbedrock:CreateCustomModel, bedrock:CreateEvaluationJob, bedrock:CreateModelImportJob, bedrock:GetCustomModel, bedrock:GetEvaluationJob, bedrock:GetFoundationModelAvailability, bedrock:GetImportedModel, bedrock:GetModelImportJob, bedrock:InvokeModelWithResponseStream, bedrock:ListCustomModelDeployments, bedrock:ListCustomModels, bedrock:ListFoundationModels and 2 more
EC21 of 8341 List; 1 restricted, 1 conditionalec2:DescribeVpcs
Elastic Container Registry4 of 654 Read; 0 restricted, 0 conditionalecr:BatchCheckLayerAvailability, ecr:BatchGetImage, ecr:GetAuthorizationToken, ecr:GetDownloadUrlForLayer
IAM2 of 1901 List, 1 Write; 2 restricted, 2 conditionaliam:ListRoles, iam:PassRole
KMS2 of 581 List, 1 Read; 2 restricted, 2 conditionalkms:DescribeKey, kms:ListAliases
Lambda5 of 1211 List, 2 Read, 2 Write; 5 restricted, 4 conditionallambda:CreateFunction, lambda:DeleteFunction, lambda:GetFunction, lambda:GetLayerVersion, lambda:ListFunctions
CloudWatch Logs6 of 1332 List, 1 Read, 3 Write; 6 restricted, 6 conditionallogs:CreateLogGroup, logs:CreateLogStream, logs:DescribeLogGroups, logs:DescribeLogStreams, logs:GetLogEvents, logs:PutLogEvents
SageMaker61 of 44118 List, 16 Read, 1 Tagging, 26 Write; 61 restricted, 60 conditionalsagemaker:AddAssociation, sagemaker:AddTags, sagemaker:CallMlflowAppApi, sagemaker:CreateAction, sagemaker:CreateArtifact, sagemaker:CreateContext, sagemaker:CreateEndpoint, sagemaker:CreateEndpointConfig, sagemaker:CreateInferenceComponent, sagemaker:CreateModel, sagemaker:CreateModelPackage, sagemaker:CreateModelPackageGroup and 49 more
SageMaker MLflow18 of 611 List, 8 Read, 9 Write; 18 restricted, 18 conditionalsagemaker-mlflow:AccessUI, sagemaker-mlflow:CreateExperiment, sagemaker-mlflow:CreateRun, sagemaker-mlflow:GetExperiment, sagemaker-mlflow:GetExperimentByName, sagemaker-mlflow:GetLoggedModel, sagemaker-mlflow:GetMetricHistory, sagemaker-mlflow:GetRun, sagemaker-mlflow:ListArtifacts, sagemaker-mlflow:LogBatch, sagemaker-mlflow:LogInputs, sagemaker-mlflow:LogMetric and 6 more
Service Quotas1 of 261 Read; 1 restricted, 1 conditionalservicequotas:ListServiceQuotas
Application Auto Scaling: 1 actions
  • application-autoscaling:DescribeScalableTargets (Read)
Bedrock: 14 actions
  • bedrock:CreateCustomModel (Write)
  • bedrock:CreateEvaluationJob (Write)
  • bedrock:CreateModelImportJob (Write)
  • bedrock:GetCustomModel (Read)
  • bedrock:GetEvaluationJob (Read)
  • bedrock:GetFoundationModelAvailability (Read)
  • bedrock:GetImportedModel (Read)
  • bedrock:GetModelImportJob (Read)
  • bedrock:InvokeModelWithResponseStream (Read)
  • bedrock:ListCustomModelDeployments (List)
  • bedrock:ListCustomModels (List)
  • bedrock:ListFoundationModels (List)
  • bedrock:ListModelImportJobs (List)
  • bedrock:ListProvisionedModelThroughputs (List)
EC2: 1 actions
  • ec2:DescribeVpcs (List)
Elastic Container Registry: 4 actions
  • ecr:BatchCheckLayerAvailability (Read)
  • ecr:BatchGetImage (Read)
  • ecr:GetAuthorizationToken (Read)
  • ecr:GetDownloadUrlForLayer (Read)
IAM: 2 actions
  • iam:ListRoles (List)
  • iam:PassRole (Write)
KMS: 2 actions
  • kms:DescribeKey (Read)
  • kms:ListAliases (List)
Lambda: 5 actions
  • lambda:CreateFunction (Write)
  • lambda:DeleteFunction (Write)
  • lambda:GetFunction (Read)
  • lambda:GetLayerVersion (Read)
  • lambda:ListFunctions (List)
CloudWatch Logs: 6 actions
  • logs:CreateLogGroup (Write)
  • logs:CreateLogStream (Write)
  • logs:DescribeLogGroups (List)
  • logs:DescribeLogStreams (List)
  • logs:GetLogEvents (Read)
  • logs:PutLogEvents (Write)
SageMaker: 61 actions
  • sagemaker:AddAssociation (Write)
  • sagemaker:AddTags (Tagging)
  • sagemaker:CallMlflowAppApi (Write)
  • sagemaker:CreateAction (Write)
  • sagemaker:CreateArtifact (Write)
  • sagemaker:CreateContext (Write)
  • sagemaker:CreateEndpoint (Write)
  • sagemaker:CreateEndpointConfig (Write)
  • sagemaker:CreateInferenceComponent (Write)
  • sagemaker:CreateModel (Write)
  • sagemaker:CreateModelPackage (Write)
  • sagemaker:CreateModelPackageGroup (Write)
  • sagemaker:CreatePipeline (Write)
  • sagemaker:CreatePresignedMlflowAppUrl (Write)
  • sagemaker:CreateTrainingJob (Write)
  • sagemaker:DeleteEndpoint (Write)
  • sagemaker:DeleteHubContent (Write)
  • sagemaker:DeleteInferenceComponent (Write)
  • sagemaker:DeleteModelPackage (Write)
  • sagemaker:DeleteModelPackageGroup (Write)
  • sagemaker:DescribeAction (Read)
  • sagemaker:DescribeArtifact (Read)
  • sagemaker:DescribeEndpoint (Read)
  • sagemaker:DescribeEndpointConfig (Read)
  • sagemaker:DescribeHubContent (Read)
  • sagemaker:DescribeInferenceComponent (Read)
  • sagemaker:DescribeMlflowApp (Read)
  • sagemaker:DescribeModel (Read)
  • sagemaker:DescribeModelPackage (Read)
  • sagemaker:DescribeModelPackageGroup (Read)
  • sagemaker:DescribePipeline (Read)
  • sagemaker:DescribePipelineDefinitionForExecution (Read)
  • sagemaker:DescribePipelineExecution (Read)
  • sagemaker:DescribeTrainingJob (Read)
  • sagemaker:DescribeTrialComponent (Read)
  • sagemaker:ImportHubContent (Write)
  • sagemaker:ListActions (List)
  • sagemaker:ListArtifacts (List)
  • sagemaker:ListAssociations (List)
  • sagemaker:ListEndpoints (List)
  • sagemaker:ListHubContentVersions (List)
  • sagemaker:ListHubContents (List)
  • sagemaker:ListHubs (List)
  • sagemaker:ListInferenceComponents (List)
  • sagemaker:ListMlflowApps (List)
  • sagemaker:ListMlflowTrackingServers (List)
  • sagemaker:ListModelPackageGroups (List)
  • sagemaker:ListModelPackages (List)
  • sagemaker:ListPipelineExecutionSteps (List)
  • sagemaker:ListPipelineExecutions (List)
  • sagemaker:ListTags (List)
  • sagemaker:ListTrainingJobs (List)
  • sagemaker:ListWorkforces (List)
  • sagemaker:QueryLineage (List)
  • sagemaker:Search (Read)
  • sagemaker:StartPipelineExecution (Write)
  • sagemaker:StopTrainingJob (Write)
  • sagemaker:UpdateArtifact (Write)
  • sagemaker:UpdateMlflowApp (Write)
  • sagemaker:UpdateModelPackage (Write)
  • sagemaker:UpdatePipeline (Write)
SageMaker MLflow: 18 actions
  • sagemaker-mlflow:AccessUI (Read)
  • sagemaker-mlflow:CreateExperiment (Write)
  • sagemaker-mlflow:CreateRun (Write)
  • sagemaker-mlflow:GetExperiment (Read)
  • sagemaker-mlflow:GetExperimentByName (Read)
  • sagemaker-mlflow:GetLoggedModel (Read)
  • sagemaker-mlflow:GetMetricHistory (Read)
  • sagemaker-mlflow:GetRun (Read)
  • sagemaker-mlflow:ListArtifacts (List)
  • sagemaker-mlflow:LogBatch (Write)
  • sagemaker-mlflow:LogInputs (Write)
  • sagemaker-mlflow:LogMetric (Write)
  • sagemaker-mlflow:LogModel (Write)
  • sagemaker-mlflow:LogParam (Write)
  • sagemaker-mlflow:SearchExperiments (Read)
  • sagemaker-mlflow:SearchRuns (Read)
  • sagemaker-mlflow:SetTag (Write)
  • sagemaker-mlflow:UpdateRun (Write)
Service Quotas: 1 actions
  • servicequotas:ListServiceQuotas (Read)

Data-plane actions (6)

By access level: 1 List, 3 Read, 2 Write.

Data-plane actions by service
ServiceGrantedAccess levels and limitsGranted by
Bedrock1 of 371 Read; 1 restricted, 1 conditionalbedrock:InvokeModel
Lambda1 of 141 Write; 1 restricted, 1 conditionallambda:InvokeFunction
S33 of 251 List, 1 Read, 1 Write; 3 restricted, 1 conditionals3:GetObject, s3:ListBucket, s3:PutObject
SageMaker1 of 191 Read; 1 restricted, 1 conditionalsagemaker:InvokeEndpoint
Bedrock: 1 actions
  • bedrock:InvokeModel (Read)
Lambda: 1 actions
  • lambda:InvokeFunction (Write)
S3: 3 actions
  • s3:GetObject (Read)
  • s3:ListBucket (List)
  • s3:PutObject (Write)
SageMaker: 1 actions
  • sagemaker:InvokeEndpoint (Read)

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 47 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.
  • Grants iam:PassRole, but only for scoped roles or under conditions (for example iam:PassedToService).

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.

Same service

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

Download policy.json

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "SageMakerPublicHubPermissions",
      "Effect": "Allow",
      "Action": [
        "sagemaker:ListHubContents"
      ],
      "Resource": [
        "arn:aws:sagemaker:*:aws:hub/SageMakerPublicHub"
      ]
    },
    {
      "Sid": "SageMakerHubPermissions",
      "Effect": "Allow",
      "Action": [
        "sagemaker:ImportHubContent",
        "sagemaker:ListHubs",
        "sagemaker:ListHubContents",
        "sagemaker:ListHubContentVersions",
        "sagemaker:DescribeHubContent",
        "sagemaker:DeleteHubContent"
      ],
      "Resource": [
        "arn:aws:sagemaker:*:*:hub/*",
        "arn:aws:sagemaker:*:*:hub-content/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "JumpStartS3Access",
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::jumpstart*"
      ]
    },
    {
      "Sid": "SageMakerTrainingJob",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateTrainingJob",
        "sagemaker:DescribeTrainingJob",
        "sagemaker:ListTrainingJobs",
        "sagemaker:StopTrainingJob"
      ],
      "Resource": [
        "arn:aws:sagemaker:*:*:training-job/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "SageMakerMLFlow",
      "Effect": "Allow",
      "Action": [
        "sagemaker:UpdateMlflowApp",
        "sagemaker:DescribeMlflowApp",
        "sagemaker:CreatePresignedMlflowAppUrl",
        "sagemaker:CallMlflowAppApi",
        "sagemaker-mlflow:AccessUI",
        "sagemaker-mlflow:GetExperiment",
        "sagemaker-mlflow:GetExperimentByName",
        "sagemaker-mlflow:GetRun",
        "sagemaker-mlflow:GetMetricHistory",
        "sagemaker-mlflow:GetLoggedModel",
        "sagemaker-mlflow:SearchExperiments",
        "sagemaker-mlflow:SearchRuns",
        "sagemaker-mlflow:ListArtifacts",
        "sagemaker-mlflow:CreateExperiment",
        "sagemaker-mlflow:CreateRun",
        "sagemaker-mlflow:LogBatch",
        "sagemaker-mlflow:LogMetric",
        "sagemaker-mlflow:LogParam",
        "sagemaker-mlflow:LogModel",
        "sagemaker-mlflow:LogInputs",
        "sagemaker-mlflow:SetTag",
        "sagemaker-mlflow:UpdateRun"
      ],
      "Resource": [
        "arn:aws:sagemaker:*:*:mlflow-app/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "BYODataSetS3Access",
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket",
        "s3:GetObject",
        "s3:PutObject"
      ],
      "Resource": [
        "arn:aws:s3:::*SageMaker*",
        "arn:aws:s3:::*Sagemaker*",
        "arn:aws:s3:::*sagemaker*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "SageMakerModelPackage",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateModel",
        "sagemaker:CreateModelPackage",
        "sagemaker:CreateModelPackageGroup",
        "sagemaker:UpdateModelPackage",
        "sagemaker:DescribeModelPackage",
        "sagemaker:DescribeModelPackageGroup",
        "sagemaker:ListModelPackages",
        "sagemaker:ListModelPackageGroups",
        "sagemaker:DescribeModel",
        "sagemaker:DeleteModelPackage",
        "sagemaker:DeleteModelPackageGroup"
      ],
      "Resource": [
        "arn:aws:sagemaker:*:*:model-package-group/*",
        "arn:aws:sagemaker:*:*:model-package/*",
        "arn:aws:sagemaker:*:*:model/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "SageMakerLineage",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateAction",
        "sagemaker:CreateArtifact",
        "sagemaker:CreateContext",
        "sagemaker:DescribeAction",
        "sagemaker:DescribeArtifact",
        "sagemaker:DescribeTrialComponent",
        "sagemaker:QueryLineage",
        "sagemaker:AddAssociation",
        "sagemaker:UpdateArtifact"
      ],
      "Resource": [
        "arn:aws:sagemaker:*:*:action/*",
        "arn:aws:sagemaker:*:*:artifact/*",
        "arn:aws:sagemaker:*:*:context/*",
        "arn:aws:sagemaker:*:*:endpoint/*",
        "arn:aws:sagemaker:*:*:experiment-trial-component/*",
        "arn:aws:sagemaker:*:*:model-package/*",
        "arn:aws:sagemaker:*:*:pipeline/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "SageMakerPipelines",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreatePipeline",
        "sagemaker:DescribePipeline",
        "sagemaker:DescribePipelineDefinitionForExecution",
        "sagemaker:DescribePipelineExecution",
        "sagemaker:UpdatePipeline",
        "sagemaker:StartPipelineExecution"
      ],
      "Resource": [
        "arn:aws:sagemaker:*:*:pipeline/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "SageMakerInference",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateEndpoint",
        "sagemaker:CreateEndpointConfig",
        "sagemaker:CreateInferenceComponent",
        "sagemaker:DescribeInferenceComponent",
        "sagemaker:DescribeEndpoint",
        "sagemaker:DescribeEndpointConfig",
        "sagemaker:DeleteInferenceComponent",
        "sagemaker:DeleteEndpoint",
        "sagemaker:InvokeEndpoint"
      ],
      "Resource": [
        "arn:aws:sagemaker:*:*:inference-component/*",
        "arn:aws:sagemaker:*:*:endpoint/*",
        "arn:aws:sagemaker:*:*:endpoint-config/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "SageMakerInferenceAutoscaling",
      "Effect": "Allow",
      "Action": [
        "application-autoscaling:DescribeScalableTargets"
      ],
      "Resource": [
        "arn:aws:application-autoscaling:*:*:scalable-target/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "SageMakerInferenceEcrReadAccess",
      "Effect": "Allow",
      "Action": [
        "ecr:BatchGetImage",
        "ecr:BatchCheckLayerAvailability",
        "ecr:GetDownloadUrlForLayer",
        "ecr:GetAuthorizationToken"
      ],
      "Resource": "*"
    },
    {
      "Sid": "SageMakerListPermissions",
      "Effect": "Allow",
      "Action": [
        "sagemaker:ListActions",
        "sagemaker:ListArtifacts",
        "sagemaker:ListAssociations",
        "sagemaker:ListEndpoints",
        "sagemaker:ListInferenceComponents",
        "sagemaker:ListMlflowApps",
        "sagemaker:ListMlflowTrackingServers",
        "sagemaker:ListPipelineExecutions",
        "sagemaker:ListPipelineExecutionSteps",
        "sagemaker:ListWorkforces",
        "sagemaker:Search"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "SageMakerTagsPermission",
      "Effect": "Allow",
      "Action": [
        "sagemaker:AddTags",
        "sagemaker:ListTags"
      ],
      "Resource": [
        "arn:aws:sagemaker:*:*:model-package-group/*",
        "arn:aws:sagemaker:*:*:model-package/*",
        "arn:aws:sagemaker:*:*:hub/*",
        "arn:aws:sagemaker:*:*:hub-content/*",
        "arn:aws:sagemaker:*:*:training-job/*",
        "arn:aws:sagemaker:*:*:model/*",
        "arn:aws:sagemaker:*:*:endpoint/*",
        "arn:aws:sagemaker:*:*:endpoint-config/*",
        "arn:aws:sagemaker:*:*:pipeline/*",
        "arn:aws:sagemaker:*:*:inference-component/*",
        "arn:aws:sagemaker:*:*:action/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "SageMakerJobAdvancedSettings",
      "Effect": "Allow",
      "Action": [
        "kms:DescribeKey",
        "kms:ListAliases",
        "iam:ListRoles",
        "ec2:DescribeVpcs",
        "servicequotas:ListServiceQuotas"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "CloudWatchLogReadAccess",
      "Effect": "Allow",
      "Action": [
        "logs:DescribeLogGroups",
        "logs:DescribeLogStreams",
        "logs:GetLogEvents"
      ],
      "Resource": [
        "arn:aws:logs:*:*:log-group:/aws/sagemaker/*",
        "arn:aws:logs:*:*:log-group::log-stream:"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "CloudWatchLogWriteAccess",
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents"
      ],
      "Resource": [
        "arn:aws:logs:*:*:log-group:/aws/sagemaker/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "LambdaListFunctions",
      "Effect": "Allow",
      "Action": [
        "lambda:ListFunctions"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "LambdaPermissionsForRewardFunction",
      "Effect": "Allow",
      "Action": [
        "lambda:CreateFunction",
        "lambda:DeleteFunction",
        "lambda:InvokeFunction",
        "lambda:GetFunction"
      ],
      "Resource": [
        "arn:aws:lambda:*:*:function:*SageMaker*",
        "arn:aws:lambda:*:*:function:*sagemaker*",
        "arn:aws:lambda:*:*:function:*Sagemaker*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "LambdaLayerForAWSSDK",
      "Effect": "Allow",
      "Action": [
        "lambda:GetLayerVersion"
      ],
      "Resource": [
        "arn:aws:lambda:*:336392948345:layer:AWSSDK*"
      ]
    },
    {
      "Sid": "BedrockCustomModelAndEvaluation",
      "Effect": "Allow",
      "Action": [
        "bedrock:CreateCustomModel",
        "bedrock:CreateEvaluationJob",
        "bedrock:GetCustomModel",
        "bedrock:GetModelImportJob",
        "bedrock:GetImportedModel",
        "bedrock:GetEvaluationJob",
        "bedrock:InvokeModel",
        "bedrock:InvokeModelWithResponseStream"
      ],
      "Resource": [
        "arn:aws:bedrock:*:*:evaluation-job/*",
        "arn:aws:bedrock:*:*:imported-model/*",
        "arn:aws:bedrock:*:*:custom-model/*",
        "arn:aws:bedrock:*:*:model-import-job/*",
        "arn:aws:bedrock:*:*:foundation-model/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "BedrockModelImportAndList",
      "Effect": "Allow",
      "Action": [
        "bedrock:CreateModelImportJob",
        "bedrock:ListProvisionedModelThroughputs",
        "bedrock:ListCustomModelDeployments",
        "bedrock:ListCustomModels",
        "bedrock:ListModelImportJobs"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "BedrockFoundationModelOperations",
      "Effect": "Allow",
      "Action": [
        "bedrock:GetFoundationModelAvailability",
        "bedrock:ListFoundationModels"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Sid": "PassRoleForSageMaker",
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": [
        "arn:aws:iam::*:role/service-role/*SageMaker*",
        "arn:aws:iam::*:role/service-role/*Sagemaker*",
        "arn:aws:iam::*:role/service-role/*sagemaker*"
      ],
      "Condition": {
        "ArnLike": {
          "iam:AssociatedResourceArn": "arn:aws:sagemaker:*:*:*"
        },
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}",
          "iam:PassedToService": [
            "sagemaker.amazonaws.com",
            "job.sagemaker.amazonaws.com"
          ]
        }
      }
    },
    {
      "Sid": "PassRoleForAWSLambda",
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": [
        "arn:aws:iam::*:role/SageMakerForLambda*",
        "arn:aws:iam::*:role/service-role/SageMakerForLambda*"
      ],
      "Condition": {
        "ArnLike": {
          "iam:AssociatedResourceArn": "arn:aws:lambda:*:*:function:*"
        },
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}",
          "iam:PassedToService": "lambda.amazonaws.com"
        }
      }
    },
    {
      "Sid": "PassRoleForBedrock",
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": [
        "arn:aws:iam::*:role/SageMakerForBedrock*",
        "arn:aws:iam::*:role/service-role/SageMakerForBedrock*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}",
          "iam:PassedToService": "bedrock.amazonaws.com"
        }
      }
    }
  ]
}

Version history

Current version v3, edited by AWS on 2026-07-21. 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/AmazonSageMakerModelCustomizationCoreAccess
aws iam attach-user-policy --user-name USER_NAME --policy-arn arn:aws:iam::aws:policy/AmazonSageMakerModelCustomizationCoreAccess
aws iam attach-group-policy --group-name GROUP_NAME --policy-arn arn:aws:iam::aws:policy/AmazonSageMakerModelCustomizationCoreAccess

CloudFormation

Resources:
  ExampleRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument: {}  # replace with your trust policy
      ManagedPolicyArns:
        - arn:aws:iam::aws:policy/AmazonSageMakerModelCustomizationCoreAccess

Terraform

resource "aws_iam_role_policy_attachment" "amazonsagemakermodelcustomizationcoreaccess" {
  role       = aws_iam_role.example.name
  policy_arn = "arn:aws:iam::aws:policy/AmazonSageMakerModelCustomizationCoreAccess"
}

CDK (TypeScript)

role.addManagedPolicy(
  iam.ManagedPolicy.fromAwsManagedPolicyName("AmazonSageMakerModelCustomizationCoreAccess"),
);

Sources

Pending editorial review. No editorial sources are listed yet.