AmazonSageMakerServiceCatalogProductsCodeBuildServiceRolePolicy

Last Modified

Mar 12, 2026

March 12, 2026 at 09:28 PM UTC

Version

v5

Total Versions

3

Created

Feb 12, 2026

Actions

319

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 take over existing resources that run as another role

    Grants every action of 2 documented escalation paths on any resource with no condition.

    • sagemaker-004sagemaker:CreatePresignedNotebookInstanceUrlunrestricted
    • sagemaker-005sagemaker:CreateNotebookInstanceLifecycleConfig + sagemaker:StopNotebookInstance + sagemaker:UpdateNotebookInstance + sagemaker:StartNotebookInstanceunrestricted

    Use with caution: List the roles attached to the functions, instances, pipelines or notebooks it can modify: the holder effectively has them too.

  • Medium

    Can launch resources that run as a more privileged role

    Grants the actions of 3 documented escalation paths, but only on named resources or under a condition. Review that scope before trusting it.

    • sagemaker-001iam:PassRole + sagemaker:CreateNotebookInstancescoped
      • iam:PassRole: condition iam:PassedToService, on arn:aws:iam::*:role/service-role/AmazonSageMakerServiceCatalogProductsEventsRole, arn:aws:iam::*:role/service-role/AmazonSageMakerServiceCatalogProductsCodePipelineRole, arn:aws:iam::*:role/service-role/AmazonSageMakerServiceCatalogProductsCloudformationRole
    • sagemaker-002iam:PassRole + sagemaker:CreateTrainingJobscoped
      • iam:PassRole: condition iam:PassedToService, on arn:aws:iam::*:role/service-role/AmazonSageMakerServiceCatalogProductsEventsRole, arn:aws:iam::*:role/service-role/AmazonSageMakerServiceCatalogProductsCodePipelineRole, arn:aws:iam::*:role/service-role/AmazonSageMakerServiceCatalogProductsCloudformationRole
    • sagemaker-003iam:PassRole + sagemaker:CreateProcessingJobscoped
      • iam:PassRole: condition iam:PassedToService, on arn:aws:iam::*:role/service-role/AmazonSageMakerServiceCatalogProductsEventsRole, arn:aws:iam::*:role/service-role/AmazonSageMakerServiceCatalogProductsCodePipelineRole, arn:aws:iam::*:role/service-role/AmazonSageMakerServiceCatalogProductsCloudformationRole

    Use with caution: Check which roles, users or policies fall inside the scope shown above. Within it the escalation works as documented, so keep privileged principals out of it.

IAM Access Analyzer (2)

  • Warning / POLICY_SIZE_EXCEEDS_IDENTITY_POLICY_QUOTA

    The 12207 characters in the identity policy, excluding whitespace, exceed the 10240 character maximum for inline and managed policies. We recommend that you use multiple granular policies. AWS docs

  • Suggestion / REDUNDANT_ACTION

    The 2 action(s) are redundant because they provide similar permissions. Update the policy to remove the redundant action such as: ecr:DescribeImageReplicationStatus. AWS docs

Policy Document

View on GitHub
{
  "PolicyVersion": {
    "Document": {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Sid": "AmazonSageMakerCodeBuildCodeCommitPermission",
          "Effect": "Allow",
          "Action": [
            "codecommit:CancelUploadArchive",
            "codecommit:GetBranch",
            "codecommit:GetCommit",
            "codecommit:GetUploadArchiveStatus",
            "codecommit:UploadArchive"
          ],
          "Resource": "arn:aws:codecommit:*:*:sagemaker-*"
        },
        {
          "Sid": "AmazonSageMakerCodeBuildECRReadPermission",
          "Effect": "Allow",
          "Action": [
            "ecr:BatchCheckLayerAvailability",
            "ecr:BatchGetImage",
            "ecr:DescribeImageScanFindings",
            "ecr:DescribeRegistry",
            "ecr:DescribeImageReplicationStatus",
            "ecr:DescribeRepositories",
            "ecr:DescribeImageReplicationStatus",
            "ecr:GetAuthorizationToken",
            "ecr:GetDownloadUrlForLayer"
          ],
          "Resource": [
            "*"
          ]
        },
        {
          "Sid": "AmazonSageMakerCodeBuildECRWritePermission",
          "Effect": "Allow",
          "Action": [
            "ecr:CompleteLayerUpload",
            "ecr:CreateRepository",
            "ecr:InitiateLayerUpload",
            "ecr:PutImage",
            "ecr:UploadLayerPart"
          ],
          "Resource": [
            "arn:aws:ecr:*:*:repository/sagemaker-*"
          ]
        },
        {
          "Sid": "AmazonSageMakerCodeBuildPassRoletPermission",
          "Effect": "Allow",
          "Action": [
            "iam:PassRole"
          ],
          "Resource": [
            "arn:aws:iam::*:role/service-role/AmazonSageMakerServiceCatalogProductsEventsRole",
            "arn:aws:iam::*:role/service-role/AmazonSageMakerServiceCatalogProductsCodePipelineRole",
            "arn:aws:iam::*:role/service-role/AmazonSageMakerServiceCatalogProductsCloudformationRole",
            "arn:aws:iam::*:role/service-role/AmazonSageMakerServiceCatalogProductsCodeBuildRole",
            "arn:aws:iam::*:role/service-role/AmazonSageMakerServiceCatalogProductsExecutionRole"
          ],
          "Condition": {
            "StringEquals": {
              "iam:PassedToService": [
                "events.amazonaws.com",
                "codepipeline.amazonaws.com",
                "cloudformation.amazonaws.com",
                "codebuild.amazonaws.com",
                "sagemaker.amazonaws.com"
              ]
            }
          }
        },
        {
          "Sid": "AmazonSageMakerCodeBuildLogPermission",
          "Effect": "Allow",
          "Action": [
            "logs:CreateLogDelivery",
            "logs:CreateLogGroup",
            "logs:CreateLogStream",
            "logs:DeleteLogDelivery",
            "logs:DescribeLogGroups",
            "logs:DescribeLogStreams",
            "logs:DescribeResourcePolicies",
            "logs:DescribeDestinations",
            "logs:DescribeExportTasks",
            "logs:DescribeMetricFilters",
            "logs:DescribeQueries",
            "logs:DescribeQueryDefinitions",
            "logs:DescribeSubscriptionFilters",
            "logs:GetLogDelivery",
            "logs:GetLogEvents",
            "logs:ListLogDeliveries",
            "logs:PutLogEvents",
            "logs:PutResourcePolicy",
            "logs:UpdateLogDelivery"
          ],
          "Resource": "arn:aws:logs:*:*:log-group:/aws/codebuild/*"
        },
        {
          "Sid": "AmazonSageMakerCodeBuildS3Permission",
          "Effect": "Allow",
          "Action": [
            "s3:CreateBucket",
            "s3:DeleteBucket",
            "s3:GetBucketAcl",
            "s3:GetBucketCors",
            "s3:GetBucketLocation",
            "s3:ListAllMyBuckets",
            "s3:ListBucket",
            "s3:ListBucketMultipartUploads",
            "s3:PutBucketCors",
            "s3:AbortMultipartUpload",
            "s3:DeleteObject",
            "s3:GetObject",
            "s3:GetObjectVersion",
            "s3:PutObject"
          ],
          "Resource": [
            "arn:aws:s3:::aws-glue-*",
            "arn:aws:s3:::sagemaker-*"
          ]
        },
        {
          "Sid": "AmazonSageMakerCodeBuildSageMakerPermission",
          "Effect": "Allow",
          "Action": [
            "sagemaker:AddAssociation",
            "sagemaker:AddTags",
            "sagemaker:AssociateTrialComponent",
            "sagemaker:BatchDescribeModelPackage",
            "sagemaker:BatchGetMetrics",
            "sagemaker:BatchGetRecord",
            "sagemaker:BatchPutMetrics",
            "sagemaker:CreateAction",
            "sagemaker:CreateAlgorithm",
            "sagemaker:CreateApp",
            "sagemaker:CreateAppImageConfig",
            "sagemaker:CreateArtifact",
            "sagemaker:CreateAutoMLJob",
            "sagemaker:CreateCodeRepository",
            "sagemaker:CreateCompilationJob",
            "sagemaker:CreateContext",
            "sagemaker:CreateDataQualityJobDefinition",
            "sagemaker:CreateDeviceFleet",
            "sagemaker:CreateDomain",
            "sagemaker:CreateEdgePackagingJob",
            "sagemaker:CreateEndpoint",
            "sagemaker:CreateEndpointConfig",
            "sagemaker:CreateExperiment",
            "sagemaker:CreateFeatureGroup",
            "sagemaker:CreateFlowDefinition",
            "sagemaker:CreateHumanTaskUi",
            "sagemaker:CreateHyperParameterTuningJob",
            "sagemaker:CreateImage",
            "sagemaker:CreateImageVersion",
            "sagemaker:CreateInferenceRecommendationsJob",
            "sagemaker:CreateLabelingJob",
            "sagemaker:CreateLineageGroupPolicy",
            "sagemaker:CreateModel",
            "sagemaker:CreateModelBiasJobDefinition",
            "sagemaker:CreateModelExplainabilityJobDefinition",
            "sagemaker:CreateModelPackage",
            "sagemaker:CreateModelPackageGroup",
            "sagemaker:CreateModelQualityJobDefinition",
            "sagemaker:CreateMonitoringSchedule",
            "sagemaker:CreateNotebookInstance",
            "sagemaker:CreateNotebookInstanceLifecycleConfig",
            "sagemaker:CreatePipeline",
            "sagemaker:CreatePresignedDomainUrl",
            "sagemaker:CreatePresignedNotebookInstanceUrl",
            "sagemaker:CreateProcessingJob",
            "sagemaker:CreateProject",
            "sagemaker:CreateTrainingJob",
            "sagemaker:CreateTransformJob",
            "sagemaker:CreateTrial",
            "sagemaker:CreateTrialComponent",
            "sagemaker:CreateUserProfile",
            "sagemaker:CreateWorkforce",
            "sagemaker:CreateWorkteam",
            "sagemaker:DeleteAction",
            "sagemaker:DeleteAlgorithm",
            "sagemaker:DeleteApp",
            "sagemaker:DeleteAppImageConfig",
            "sagemaker:DeleteArtifact",
            "sagemaker:DeleteAssociation",
            "sagemaker:DeleteCodeRepository",
            "sagemaker:DeleteContext",
            "sagemaker:DeleteDataQualityJobDefinition",
            "sagemaker:DeleteDeviceFleet",
            "sagemaker:DeleteDomain",
            "sagemaker:DeleteEndpoint",
            "sagemaker:DeleteEndpointConfig",
            "sagemaker:DeleteExperiment",
            "sagemaker:DeleteFeatureGroup",
            "sagemaker:DeleteFlowDefinition",
            "sagemaker:DeleteHumanLoop",
            "sagemaker:DeleteHumanTaskUi",
            "sagemaker:DeleteImage",
            "sagemaker:DeleteImageVersion",
            "sagemaker:DeleteLineageGroupPolicy",
            "sagemaker:DeleteModel",
            "sagemaker:DeleteModelBiasJobDefinition",
            "sagemaker:DeleteModelExplainabilityJobDefinition",
            "sagemaker:DeleteModelPackage",
            "sagemaker:DeleteModelPackageGroup",
            "sagemaker:DeleteModelPackageGroupPolicy",
            "sagemaker:DeleteModelQualityJobDefinition",
            "sagemaker:DeleteMonitoringSchedule",
            "sagemaker:DeleteNotebookInstance",
            "sagemaker:DeleteNotebookInstanceLifecycleConfig",
            "sagemaker:DeletePipeline",
            "sagemaker:DeleteProject",
            "sagemaker:DeleteRecord",
            "sagemaker:DeleteTags",
            "sagemaker:DeleteTrial",
            "sagemaker:DeleteTrialComponent",
            "sagemaker:DeleteUserProfile",
            "sagemaker:DeleteWorkforce",
            "sagemaker:DeleteWorkteam",
            "sagemaker:DeregisterDevices",
            "sagemaker:DescribeAction",
            "sagemaker:DescribeAlgorithm",
            "sagemaker:DescribeApp",
            "sagemaker:DescribeAppImageConfig",
            "sagemaker:DescribeArtifact",
            "sagemaker:DescribeAutoMLJob",
            "sagemaker:DescribeCodeRepository",
            "sagemaker:DescribeCompilationJob",
            "sagemaker:DescribeContext",
            "sagemaker:DescribeDataQualityJobDefinition",
            "sagemaker:DescribeDevice",
            "sagemaker:DescribeDeviceFleet",
            "sagemaker:DescribeDomain",
            "sagemaker:DescribeEdgePackagingJob",
            "sagemaker:DescribeEndpoint",
            "sagemaker:DescribeEndpointConfig",
            "sagemaker:DescribeExperiment",
            "sagemaker:DescribeFeatureGroup",
            "sagemaker:DescribeFlowDefinition",
            "sagemaker:DescribeHumanLoop",
            "sagemaker:DescribeHumanTaskUi",
            "sagemaker:DescribeHyperParameterTuningJob",
            "sagemaker:DescribeImage",
            "sagemaker:DescribeImageVersion",
            "sagemaker:DescribeInferenceRecommendationsJob",
            "sagemaker:DescribeLabelingJob",
            "sagemaker:DescribeLineageGroup",
            "sagemaker:DescribeModel",
            "sagemaker:DescribeModelBiasJobDefinition",
            "sagemaker:DescribeModelExplainabilityJobDefinition",
            "sagemaker:DescribeModelPackage",
            "sagemaker:DescribeModelPackageGroup",
            "sagemaker:DescribeModelQualityJobDefinition",
            "sagemaker:DescribeMonitoringSchedule",
            "sagemaker:DescribeNotebookInstance",
            "sagemaker:DescribeNotebookInstanceLifecycleConfig",
            "sagemaker:DescribePipeline",
            "sagemaker:DescribePipelineDefinitionForExecution",
            "sagemaker:DescribePipelineExecution",
            "sagemaker:DescribeProcessingJob",
            "sagemaker:DescribeProject",
            "sagemaker:DescribeSubscribedWorkteam",
            "sagemaker:DescribeTrainingJob",
            "sagemaker:DescribeTransformJob",
            "sagemaker:DescribeTrial",
            "sagemaker:DescribeTrialComponent",
            "sagemaker:DescribeUserProfile",
            "sagemaker:DescribeWorkforce",
            "sagemaker:DescribeWorkteam",
            "sagemaker:DisableSagemakerServicecatalogPortfolio",
            "sagemaker:DisassociateTrialComponent",
            "sagemaker:EnableSagemakerServicecatalogPortfolio",
            "sagemaker:GetDeviceFleetReport",
            "sagemaker:GetDeviceRegistration",
            "sagemaker:GetLineageGroupPolicy",
            "sagemaker:GetModelPackageGroupPolicy",
            "sagemaker:GetRecord",
            "sagemaker:GetSagemakerServicecatalogPortfolioStatus",
            "sagemaker:GetSearchSuggestions",
            "sagemaker:InvokeEndpoint",
            "sagemaker:InvokeEndpointAsync",
            "sagemaker:ListActions",
            "sagemaker:ListAlgorithms",
            "sagemaker:ListAppImageConfigs",
            "sagemaker:ListApps",
            "sagemaker:ListArtifacts",
            "sagemaker:ListAssociations",
            "sagemaker:ListAutoMLJobs",
            "sagemaker:ListCandidatesForAutoMLJob",
            "sagemaker:ListCodeRepositories",
            "sagemaker:ListCompilationJobs",
            "sagemaker:ListContexts",
            "sagemaker:ListDataQualityJobDefinitions",
            "sagemaker:ListDeviceFleets",
            "sagemaker:ListDevices",
            "sagemaker:ListDomains",
            "sagemaker:ListEdgePackagingJobs",
            "sagemaker:ListEndpointConfigs",
            "sagemaker:ListEndpoints",
            "sagemaker:ListExperiments",
            "sagemaker:ListFeatureGroups",
            "sagemaker:ListFlowDefinitions",
            "sagemaker:ListHumanLoops",
            "sagemaker:ListHumanTaskUis",
            "sagemaker:ListHyperParameterTuningJobs",
            "sagemaker:ListImageVersions",
            "sagemaker:ListImages",
            "sagemaker:ListInferenceRecommendationsJobs",
            "sagemaker:ListLabelingJobs",
            "sagemaker:ListLabelingJobsForWorkteam",
            "sagemaker:ListLineageGroups",
            "sagemaker:ListModelBiasJobDefinitions",
            "sagemaker:ListModelExplainabilityJobDefinitions",
            "sagemaker:ListModelMetadata",
            "sagemaker:ListModelPackageGroups",
            "sagemaker:ListModelPackages",
            "sagemaker:ListModelQualityJobDefinitions",
            "sagemaker:ListModels",
            "sagemaker:ListMonitoringExecutions",
            "sagemaker:ListMonitoringSchedules",
            "sagemaker:ListNotebookInstanceLifecycleConfigs",
            "sagemaker:ListNotebookInstances",
            "sagemaker:ListPipelineExecutionSteps",
            "sagemaker:ListPipelineExecutions",
            "sagemaker:ListPipelineParametersForExecution",
            "sagemaker:ListPipelines",
            "sagemaker:ListProcessingJobs",
            "sagemaker:ListProjects",
            "sagemaker:ListSubscribedWorkteams",
            "sagemaker:ListTags",
            "sagemaker:ListTrainingJobs",
            "sagemaker:ListTrainingJobsForHyperParameterTuningJob",
            "sagemaker:ListTransformJobs",
            "sagemaker:ListTrialComponents",
            "sagemaker:ListTrials",
            "sagemaker:ListUserProfiles",
            "sagemaker:ListWorkforces",
            "sagemaker:ListWorkteams",
            "sagemaker:PutLineageGroupPolicy",
            "sagemaker:PutModelPackageGroupPolicy",
            "sagemaker:PutRecord",
            "sagemaker:QueryLineage",
            "sagemaker:RegisterDevices",
            "sagemaker:RenderUiTemplate",
            "sagemaker:Search",
            "sagemaker:SendHeartbeat",
            "sagemaker:SendPipelineExecutionStepFailure",
            "sagemaker:SendPipelineExecutionStepSuccess",
            "sagemaker:StartHumanLoop",
            "sagemaker:StartMonitoringSchedule",
            "sagemaker:StartNotebookInstance",
            "sagemaker:StartPipelineExecution",
            "sagemaker:StopAutoMLJob",
            "sagemaker:StopCompilationJob",
            "sagemaker:StopEdgePackagingJob",
            "sagemaker:StopHumanLoop",
            "sagemaker:StopHyperParameterTuningJob",
            "sagemaker:StopInferenceRecommendationsJob",
            "sagemaker:StopLabelingJob",
            "sagemaker:StopMonitoringSchedule",
            "sagemaker:StopNotebookInstance",
            "sagemaker:StopPipelineExecution",
            "sagemaker:StopProcessingJob",
            "sagemaker:StopTrainingJob",
            "sagemaker:StopTransformJob",
            "sagemaker:UpdateAction",
            "sagemaker:UpdateAppImageConfig",
            "sagemaker:UpdateArtifact",
            "sagemaker:UpdateCodeRepository",
            "sagemaker:UpdateContext",
            "sagemaker:UpdateDeviceFleet",
            "sagemaker:UpdateDevices",
            "sagemaker:UpdateDomain",
            "sagemaker:UpdateEndpoint",
            "sagemaker:UpdateEndpointWeightsAndCapacities",
            "sagemaker:UpdateExperiment",
            "sagemaker:UpdateImage",
            "sagemaker:UpdateModelPackage",
            "sagemaker:UpdateMonitoringSchedule",
            "sagemaker:UpdateNotebookInstance",
            "sagemaker:UpdateNotebookInstanceLifecycleConfig",
            "sagemaker:UpdatePipeline",
            "sagemaker:UpdatePipelineExecution",
            "sagemaker:UpdateProject",
            "sagemaker:UpdateTrainingJob",
            "sagemaker:UpdateTrial",
            "sagemaker:UpdateTrialComponent",
            "sagemaker:UpdateUserProfile",
            "sagemaker:UpdateWorkforce",
            "sagemaker:UpdateWorkteam"
          ],
          "Resource": [
            "arn:aws:sagemaker:*:*:endpoint/*",
            "arn:aws:sagemaker:*:*:endpoint-config/*",
            "arn:aws:sagemaker:*:*:model/*",
            "arn:aws:sagemaker:*:*:pipeline/*",
            "arn:aws:sagemaker:*:*:project/*",
            "arn:aws:sagemaker:*:*:model-package/*"
          ]
        },
        {
          "Sid": "AmazonSageMakerCodeBuildCodeStarConnectionPermission",
          "Effect": "Allow",
          "Action": [
            "codestar-connections:UseConnection"
          ],
          "Resource": [
            "arn:aws:codestar-connections:*:*:connection/*",
            "arn:aws:codeconnections:*:*:connection/*"
          ],
          "Condition": {
            "StringEqualsIgnoreCase": {
              "aws:ResourceTag/sagemaker": "true"
            }
          }
        },
        {
          "Sid": "AmazonSageMakerCodeBuildCodeConnectionPermission",
          "Effect": "Allow",
          "Action": [
            "codeconnections:UseConnection"
          ],
          "Resource": [
            "arn:aws:codeconnections:*:*:connection/*",
            "arn:aws:codestar-connections:*:*:connection/*"
          ],
          "Condition": {
            "StringEqualsIgnoreCase": {
              "aws:ResourceTag/sagemaker": "true"
            }
          }
        }
      ]
    },
    "VersionId": "v5",
    "IsDefaultVersion": true,
    "CreateDate": "2026-02-12T18:00:10+00:00"
  }
}

Version History (8 recorded)

Raw history

AmazonSageMakerServiceCatalogProductsCodeBuildServiceRolePolicy - Policy Version v5

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

Mar 12, 2026

677e98f

AmazonSageMakerServiceCatalogProductsCodeBuildServiceRolePolicy - Policy Version v5

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

Feb 12, 2026

63377a4

AmazonSageMakerServiceCatalogProductsCodeBuildServiceRolePolicy - Policy Version v4

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

Feb 12, 2026

8c019bc

AmazonSageMakerServiceCatalogProductsCodeBuildServiceRolePolicy - Policy Version v3

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

Sep 29, 2025

225f7f7

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.

Jun 11, 2024

fbbac04

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.

Mar 25, 2022

e93a360