AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy
Summary
Service role policy used by the AWS service Catalog service to provision products from Amazon SageMaker portfolio of products. Grants permissions to a set of related services including CodePipeline, CodeBuild, CodeCommit, Glue, CloudFormation, etc,.
Permissions imported from the AWS Managed Policy Reference Guide; other sections pending editorial review.
Identity
- ARN
arn:aws:iam::aws:policy/AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy- Default version
- v12
- Created
- Last edited
- Services
- apigateway, cloudformation, codebuild, codecommit, codeconnections, codepipeline, codestar-connections, cognito-idp, ecr, events, firehose, glue, iam, lambda, logs, s3, sagemaker, states
Control-plane actions (128)
By access level: 5 List, 6 Permissions management, 24 Read, 9 Tagging, 84 Write.
| Service | Granted | Access levels and limits | Granted by |
|---|---|---|---|
| API Gateway | 5 of 44 | 1 Read, 4 Write; 5 restricted, 4 conditional | apigateway:DELETE, apigateway:GET, apigateway:PATCH, apigateway:POST, apigateway:PUT |
| CloudFormation | 9 of 104 | 1 List, 3 Read, 2 Tagging, 3 Write; 7 restricted, 5 conditional | cloudformation:CreateStack, cloudformation:DeleteStack, cloudformation:DescribeStackEvents, cloudformation:DescribeStacks, cloudformation:GetTemplateSummary, cloudformation:TagResource, cloudformation:UntagResource, cloudformation:UpdateStack, cloudformation:ValidateTemplate |
| CodeBuild | 3 of 67 | 3 Write; 3 restricted, 0 conditional | codebuild:CreateProject, codebuild:DeleteProject, codebuild:UpdateProject |
| CodeCommit | 6 of 91 | 1 List, 1 Read, 1 Tagging, 3 Write; 5 restricted, 0 conditional | codecommit:CreateCommit, codecommit:CreateRepository, codecommit:DeleteRepository, codecommit:GetRepository, codecommit:ListRepositories, codecommit:TagResource |
| CodeConnections | 1 of 38 | 1 Read; 1 restricted, 1 conditional | codeconnections:PassConnection |
| CodePipeline | 7 of 44 | 2 Read, 1 Tagging, 4 Write; 7 restricted, 0 conditional | codepipeline:CreatePipeline, codepipeline:DeletePipeline, codepipeline:GetPipeline, codepipeline:GetPipelineState, codepipeline:StartPipelineExecution, codepipeline:TagResource, codepipeline:UpdatePipeline |
| CodeStar Connections | 1 of 38 | 1 Read; 1 restricted, 1 conditional | codestar-connections:PassConnection |
| Cognito User Pools | 13 of 139 | 2 Read, 1 Tagging, 10 Write; 13 restricted, 13 conditional | cognito-idp:CreateGroup, cognito-idp:CreateUserPool, cognito-idp:CreateUserPoolClient, cognito-idp:CreateUserPoolDomain, cognito-idp:DeleteGroup, cognito-idp:DeleteUserPool, cognito-idp:DeleteUserPoolClient, cognito-idp:DeleteUserPoolDomain, cognito-idp:DescribeUserPool, cognito-idp:DescribeUserPoolClient, cognito-idp:TagResource, cognito-idp:UpdateUserPool and 1 more |
| Elastic Container Registry | 3 of 65 | 1 Tagging, 2 Write; 3 restricted, 0 conditional | ecr:CreateRepository, ecr:DeleteRepository, ecr:TagResource |
| EventBridge | 7 of 71 | 1 Read, 6 Write; 7 restricted, 0 conditional | events:DeleteRule, events:DescribeRule, events:DisableRule, events:EnableRule, events:PutRule, events:PutTargets, events:RemoveTargets |
| Firehose | 6 of 10 | 1 Read, 5 Write; 6 restricted, 0 conditional | firehose:CreateDeliveryStream, firehose:DeleteDeliveryStream, firehose:DescribeDeliveryStream, firehose:StartDeliveryStreamEncryption, firehose:StopDeliveryStreamEncryption, firehose:UpdateDestination |
| Glue | 15 of 306 | 2 Read, 13 Write; 8 restricted, 0 conditional | glue:CreateClassifier, glue:CreateCrawler, glue:CreateDatabase, glue:CreateJob, glue:CreateTrigger, glue:CreateWorkflow, glue:DeleteClassifier, glue:DeleteCrawler, glue:DeleteDatabase, glue:DeleteJob, glue:DeleteTrigger, glue:DeleteWorkflow and 3 more |
| IAM | 1 of 190 | 1 Write; 1 restricted, 0 conditional | iam:PassRole |
| Lambda | 7 of 121 | 2 Permissions management, 2 Read, 1 Tagging, 2 Write; 7 restricted, 1 conditional | lambda:AddPermission, lambda:CreateFunction, lambda:DeleteFunction, lambda:GetFunction, lambda:GetFunctionConfiguration, lambda:RemovePermission, lambda:TagResource |
| CloudWatch Logs | 7 of 133 | 2 List, 5 Write; 7 restricted, 0 conditional | logs:CreateLogGroup, logs:CreateLogStream, logs:DeleteLogGroup, logs:DeleteLogStream, logs:DescribeLogGroups, logs:DescribeLogStreams, logs:PutRetentionPolicy |
| S3 | 12 of 155 | 4 Permissions management, 1 Read, 1 Tagging, 6 Write; 12 restricted, 0 conditional | s3:CreateBucket, s3:DeleteBucket, s3:DeleteBucketPolicy, s3:GetBucketPolicy, s3:PutBucketAcl, s3:PutBucketCORS, s3:PutBucketLogging, s3:PutBucketNotification, s3:PutBucketPolicy, s3:PutBucketPublicAccessBlock, s3:PutBucketTagging, s3:PutEncryptionConfiguration |
| SageMaker | 22 of 441 | 1 List, 6 Read, 1 Tagging, 14 Write; 22 restricted, 1 conditional | sagemaker:AddTags, sagemaker:CreateCodeRepository, sagemaker:CreateEndpoint, sagemaker:CreateEndpointConfig, sagemaker:CreateImage, sagemaker:CreateModel, sagemaker:CreateWorkteam, sagemaker:DeleteCodeRepository, sagemaker:DeleteEndpoint, sagemaker:DeleteEndpointConfig, sagemaker:DeleteImage, sagemaker:DeleteModel and 10 more |
| Step Functions | 3 of 37 | 3 Write; 3 restricted, 0 conditional | states:CreateStateMachine, states:DeleteStateMachine, states:UpdateStateMachine |
API Gateway: 5 actions
- apigateway:DELETE (Write)
- apigateway:GET (Read)
- apigateway:PATCH (Write)
- apigateway:POST (Write)
- apigateway:PUT (Write)
CloudFormation: 9 actions
- cloudformation:CreateStack (Write)
- cloudformation:DeleteStack (Write)
- cloudformation:DescribeStackEvents (Read)
- cloudformation:DescribeStacks (List)
- cloudformation:GetTemplateSummary (Read)
- cloudformation:TagResource (Tagging)
- cloudformation:UntagResource (Tagging)
- cloudformation:UpdateStack (Write)
- cloudformation:ValidateTemplate (Read)
CodeBuild: 3 actions
- codebuild:CreateProject (Write)
- codebuild:DeleteProject (Write)
- codebuild:UpdateProject (Write)
CodeCommit: 6 actions
- codecommit:CreateCommit (Write)
- codecommit:CreateRepository (Write)
- codecommit:DeleteRepository (Write)
- codecommit:GetRepository (Read)
- codecommit:ListRepositories (List)
- codecommit:TagResource (Tagging)
CodeConnections: 1 actions
- codeconnections:PassConnection (Read)
CodePipeline: 7 actions
- codepipeline:CreatePipeline (Write)
- codepipeline:DeletePipeline (Write)
- codepipeline:GetPipeline (Read)
- codepipeline:GetPipelineState (Read)
- codepipeline:StartPipelineExecution (Write)
- codepipeline:TagResource (Tagging)
- codepipeline:UpdatePipeline (Write)
CodeStar Connections: 1 actions
- codestar-connections:PassConnection (Read)
Cognito User Pools: 13 actions
- cognito-idp:CreateGroup (Write)
- cognito-idp:CreateUserPool (Write)
- cognito-idp:CreateUserPoolClient (Write)
- cognito-idp:CreateUserPoolDomain (Write)
- cognito-idp:DeleteGroup (Write)
- cognito-idp:DeleteUserPool (Write)
- cognito-idp:DeleteUserPoolClient (Write)
- cognito-idp:DeleteUserPoolDomain (Write)
- cognito-idp:DescribeUserPool (Read)
- cognito-idp:DescribeUserPoolClient (Read)
- cognito-idp:TagResource (Tagging)
- cognito-idp:UpdateUserPool (Write)
- cognito-idp:UpdateUserPoolClient (Write)
Elastic Container Registry: 3 actions
- ecr:CreateRepository (Write)
- ecr:DeleteRepository (Write)
- ecr:TagResource (Tagging)
EventBridge: 7 actions
- events:DeleteRule (Write)
- events:DescribeRule (Read)
- events:DisableRule (Write)
- events:EnableRule (Write)
- events:PutRule (Write)
- events:PutTargets (Write)
- events:RemoveTargets (Write)
Firehose: 6 actions
- firehose:CreateDeliveryStream (Write)
- firehose:DeleteDeliveryStream (Write)
- firehose:DescribeDeliveryStream (Read)
- firehose:StartDeliveryStreamEncryption (Write)
- firehose:StopDeliveryStreamEncryption (Write)
- firehose:UpdateDestination (Write)
Glue: 15 actions
- glue:CreateClassifier (Write)
- glue:CreateCrawler (Write)
- glue:CreateDatabase (Write)
- glue:CreateJob (Write)
- glue:CreateTrigger (Write)
- glue:CreateWorkflow (Write)
- glue:DeleteClassifier (Write)
- glue:DeleteCrawler (Write)
- glue:DeleteDatabase (Write)
- glue:DeleteJob (Write)
- glue:DeleteTrigger (Write)
- glue:DeleteWorkflow (Write)
- glue:GetCrawler (Read)
- glue:GetTrigger (Read)
- glue:StopCrawler (Write)
IAM: 1 actions
- iam:PassRole (Write)
Lambda: 7 actions
- lambda:AddPermission (Permissions management)
- lambda:CreateFunction (Write)
- lambda:DeleteFunction (Write)
- lambda:GetFunction (Read)
- lambda:GetFunctionConfiguration (Read)
- lambda:RemovePermission (Permissions management)
- lambda:TagResource (Tagging)
CloudWatch Logs: 7 actions
- logs:CreateLogGroup (Write)
- logs:CreateLogStream (Write)
- logs:DeleteLogGroup (Write)
- logs:DeleteLogStream (Write)
- logs:DescribeLogGroups (List)
- logs:DescribeLogStreams (List)
- logs:PutRetentionPolicy (Write)
S3: 12 actions
- s3:CreateBucket (Write)
- s3:DeleteBucket (Write)
- s3:DeleteBucketPolicy (Permissions management)
- s3:GetBucketPolicy (Read)
- s3:PutBucketAcl (Permissions management)
- s3:PutBucketCORS (Write)
- s3:PutBucketLogging (Write)
- s3:PutBucketNotification (Write)
- s3:PutBucketPolicy (Permissions management)
- s3:PutBucketPublicAccessBlock (Permissions management)
- s3:PutBucketTagging (Tagging)
- s3:PutEncryptionConfiguration (Write)
SageMaker: 22 actions
- sagemaker:AddTags (Tagging)
- sagemaker:CreateCodeRepository (Write)
- sagemaker:CreateEndpoint (Write)
- sagemaker:CreateEndpointConfig (Write)
- sagemaker:CreateImage (Write)
- sagemaker:CreateModel (Write)
- sagemaker:CreateWorkteam (Write)
- sagemaker:DeleteCodeRepository (Write)
- sagemaker:DeleteEndpoint (Write)
- sagemaker:DeleteEndpointConfig (Write)
- sagemaker:DeleteImage (Write)
- sagemaker:DeleteModel (Write)
- sagemaker:DeleteWorkteam (Write)
- sagemaker:DescribeCodeRepository (Read)
- sagemaker:DescribeEndpoint (Read)
- sagemaker:DescribeEndpointConfig (Read)
- sagemaker:DescribeImage (Read)
- sagemaker:DescribeModel (Read)
- sagemaker:DescribeWorkteam (Read)
- sagemaker:ListTags (List)
- sagemaker:UpdateCodeRepository (Write)
- sagemaker:UpdateImage (Write)
Step Functions: 3 actions
- states:CreateStateMachine (Write)
- states:DeleteStateMachine (Write)
- states:UpdateStateMachine (Write)
Data-plane actions (3)
By access level: 1 Read, 1 Tagging, 1 Write.
| Service | Granted | Access levels and limits | Granted by |
|---|---|---|---|
| Lambda | 1 of 14 | 1 Write; 1 restricted, 0 conditional | lambda:InvokeFunction |
| S3 | 2 of 25 | 1 Read, 1 Tagging; 2 restricted, 0 conditional | s3:GetObject, s3:PutObjectTagging |
Lambda: 1 actions
- lambda:InvokeFunction (Write)
S3: 2 actions
- s3:GetObject (Read)
- s3:PutObjectTagging (Tagging)
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 101 write, tagging or permissions-management actions, short of full control of any service.
- 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.
Related policies
Same service
- AccessAnalyzerServiceRolePolicy
- AdministratorAccess-AWSElasticBeanstalk
- AmazonAppFlowFullAccess
- AmazonAppStreamServiceAccess
- AmazonAthenaFullAccess
- AmazonAugmentedAIFullAccess
- AmazonAugmentedAIHumanLoopFullAccess
- AmazonAugmentedAIIntegratedAPIAccess
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": "AmazonSageMakerServiceCatalogAPIGatewayPermission",
"Effect": "Allow",
"Action": [
"apigateway:GET",
"apigateway:POST",
"apigateway:PUT",
"apigateway:PATCH",
"apigateway:DELETE"
],
"Resource": "*",
"Condition": {
"StringLike": {
"aws:ResourceTag/sagemaker:launch-source": "*"
}
}
},
{
"Sid": "AmazonSageMakerServiceCatalogAPIGatewayPostPermission",
"Effect": "Allow",
"Action": [
"apigateway:POST"
],
"Resource": "*",
"Condition": {
"ForAnyValue:StringLike": {
"aws:TagKeys": [
"sagemaker:launch-source"
]
}
}
},
{
"Sid": "AmazonSageMakerServiceCatalogAPIGatewayPatchPermission",
"Effect": "Allow",
"Action": [
"apigateway:PATCH"
],
"Resource": [
"arn:aws:apigateway:*::/account"
]
},
{
"Sid": "AmazonSageMakerServiceCatalogCFnMutatePermission",
"Effect": "Allow",
"Action": [
"cloudformation:CreateStack",
"cloudformation:UpdateStack",
"cloudformation:DeleteStack"
],
"Resource": "arn:aws:cloudformation:*:*:stack/SC-*",
"Condition": {
"ArnLikeIfExists": {
"cloudformation:RoleArn": [
"arn:aws:sts::*:assumed-role/AmazonSageMakerServiceCatalog*"
]
}
}
},
{
"Sid": "AmazonSageMakerServiceCatalogCFnTagPermission",
"Effect": "Allow",
"Action": [
"cloudformation:TagResource",
"cloudformation:UntagResource"
],
"Resource": "arn:aws:cloudformation:*:*:stack/SC-*",
"Condition": {
"Null": {
"aws:ResourceTag/sagemaker:project-name": "false"
}
}
},
{
"Sid": "AmazonSageMakerServiceCatalogCFnReadPermission",
"Effect": "Allow",
"Action": [
"cloudformation:DescribeStackEvents",
"cloudformation:DescribeStacks"
],
"Resource": "arn:aws:cloudformation:*:*:stack/SC-*"
},
{
"Sid": "AmazonSageMakerServiceCatalogCFnTemplatePermission",
"Effect": "Allow",
"Action": [
"cloudformation:GetTemplateSummary",
"cloudformation:ValidateTemplate"
],
"Resource": "*"
},
{
"Sid": "AmazonSageMakerServiceCatalogCodeBuildPermission",
"Effect": "Allow",
"Action": [
"codebuild:CreateProject",
"codebuild:DeleteProject",
"codebuild:UpdateProject"
],
"Resource": [
"arn:aws:codebuild:*:*:project/sagemaker-*"
]
},
{
"Sid": "AmazonSageMakerServiceCatalogCodeCommitPermission",
"Effect": "Allow",
"Action": [
"codecommit:CreateCommit",
"codecommit:CreateRepository",
"codecommit:DeleteRepository",
"codecommit:GetRepository",
"codecommit:TagResource"
],
"Resource": [
"arn:aws:codecommit:*:*:sagemaker-*"
]
},
{
"Sid": "AmazonSageMakerServiceCatalogCodeCommitListPermission",
"Effect": "Allow",
"Action": [
"codecommit:ListRepositories"
],
"Resource": "*"
},
{
"Sid": "AmazonSageMakerServiceCatalogCodePipelinePermission",
"Effect": "Allow",
"Action": [
"codepipeline:CreatePipeline",
"codepipeline:DeletePipeline",
"codepipeline:GetPipeline",
"codepipeline:GetPipelineState",
"codepipeline:StartPipelineExecution",
"codepipeline:TagResource",
"codepipeline:UpdatePipeline"
],
"Resource": [
"arn:aws:codepipeline:*:*:sagemaker-*"
]
},
{
"Sid": "AmazonSageMakerServiceCatalogCIAMUserPermission",
"Effect": "Allow",
"Action": [
"cognito-idp:CreateUserPool",
"cognito-idp:TagResource"
],
"Resource": "*",
"Condition": {
"ForAnyValue:StringLike": {
"aws:TagKeys": [
"sagemaker:launch-source"
]
}
}
},
{
"Sid": "AmazonSageMakerServiceCatalogCIAMPermission",
"Effect": "Allow",
"Action": [
"cognito-idp:CreateGroup",
"cognito-idp:CreateUserPoolDomain",
"cognito-idp:CreateUserPoolClient",
"cognito-idp:DeleteGroup",
"cognito-idp:DeleteUserPool",
"cognito-idp:DeleteUserPoolClient",
"cognito-idp:DeleteUserPoolDomain",
"cognito-idp:DescribeUserPool",
"cognito-idp:DescribeUserPoolClient",
"cognito-idp:UpdateUserPool",
"cognito-idp:UpdateUserPoolClient"
],
"Resource": "*",
"Condition": {
"StringLike": {
"aws:ResourceTag/sagemaker:launch-source": "*"
}
}
},
{
"Sid": "AmazonSageMakerServiceCatalogECRPermission",
"Effect": "Allow",
"Action": [
"ecr:CreateRepository",
"ecr:DeleteRepository",
"ecr:TagResource"
],
"Resource": [
"arn:aws:ecr:*:*:repository/sagemaker-*"
]
},
{
"Sid": "AmazonSageMakerServiceCatalogEventBridgePermission",
"Effect": "Allow",
"Action": [
"events:DescribeRule",
"events:DeleteRule",
"events:DisableRule",
"events:EnableRule",
"events:PutRule",
"events:PutTargets",
"events:RemoveTargets"
],
"Resource": [
"arn:aws:events:*:*:rule/sagemaker-*"
]
},
{
"Sid": "AmazonSageMakerServiceCatalogFirehosePermission",
"Effect": "Allow",
"Action": [
"firehose:CreateDeliveryStream",
"firehose:DeleteDeliveryStream",
"firehose:DescribeDeliveryStream",
"firehose:StartDeliveryStreamEncryption",
"firehose:StopDeliveryStreamEncryption",
"firehose:UpdateDestination"
],
"Resource": "arn:aws:firehose:*:*:deliverystream/sagemaker-*"
},
{
"Sid": "AmazonSageMakerServiceCatalogGluePermission",
"Effect": "Allow",
"Action": [
"glue:CreateDatabase",
"glue:DeleteDatabase"
],
"Resource": [
"arn:aws:glue:*:*:catalog",
"arn:aws:glue:*:*:database/sagemaker-*",
"arn:aws:glue:*:*:table/sagemaker-*",
"arn:aws:glue:*:*:userDefinedFunction/sagemaker-*"
]
},
{
"Sid": "AmazonSageMakerServiceCatalogGlueClassiferPermission",
"Effect": "Allow",
"Action": [
"glue:CreateClassifier",
"glue:DeleteClassifier",
"glue:DeleteCrawler",
"glue:DeleteJob",
"glue:DeleteTrigger",
"glue:DeleteWorkflow",
"glue:StopCrawler"
],
"Resource": [
"*"
]
},
{
"Sid": "AmazonSageMakerServiceCatalogGlueWorkflowPermission",
"Effect": "Allow",
"Action": [
"glue:CreateWorkflow"
],
"Resource": [
"arn:aws:glue:*:*:workflow/sagemaker-*"
]
},
{
"Sid": "AmazonSageMakerServiceCatalogGlueJobPermission",
"Effect": "Allow",
"Action": [
"glue:CreateJob"
],
"Resource": [
"arn:aws:glue:*:*:job/sagemaker-*"
]
},
{
"Sid": "AmazonSageMakerServiceCatalogGlueCrawlerPermission",
"Effect": "Allow",
"Action": [
"glue:CreateCrawler",
"glue:GetCrawler"
],
"Resource": [
"arn:aws:glue:*:*:crawler/sagemaker-*"
]
},
{
"Sid": "AmazonSageMakerServiceCatalogGlueTriggerPermission",
"Effect": "Allow",
"Action": [
"glue:CreateTrigger",
"glue:GetTrigger"
],
"Resource": [
"arn:aws:glue:*:*:trigger/sagemaker-*"
]
},
{
"Sid": "AmazonSageMakerServiceCatalogPassRolePermission",
"Effect": "Allow",
"Action": [
"iam:PassRole"
],
"Resource": [
"arn:aws:iam::*:role/service-role/AmazonSageMakerServiceCatalog*"
]
},
{
"Sid": "AmazonSageMakerServiceCatalogLambdaPermission",
"Effect": "Allow",
"Action": [
"lambda:AddPermission",
"lambda:CreateFunction",
"lambda:DeleteFunction",
"lambda:GetFunction",
"lambda:GetFunctionConfiguration",
"lambda:InvokeFunction",
"lambda:RemovePermission"
],
"Resource": [
"arn:aws:lambda:*:*:function:sagemaker-*"
]
},
{
"Sid": "AmazonSageMakerServiceCatalogLambdaTagPermission",
"Effect": "Allow",
"Action": "lambda:TagResource",
"Resource": [
"arn:aws:lambda:*:*:function:sagemaker-*"
],
"Condition": {
"ForAllValues:StringLike": {
"aws:TagKeys": [
"sagemaker:*"
]
}
}
},
{
"Sid": "AmazonSageMakerServiceCatalogLogGroupPermission",
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:DeleteLogGroup",
"logs:DeleteLogStream",
"logs:DescribeLogGroups",
"logs:DescribeLogStreams",
"logs:PutRetentionPolicy"
],
"Resource": [
"arn:aws:logs:*:*:log-group:/aws/apigateway/AccessLogs/*",
"arn:aws:logs:*:*:log-group::log-stream:*"
]
},
{
"Sid": "AmazonSageMakerServiceCatalogS3ReadPermission",
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": "*",
"Condition": {
"StringEquals": {
"s3:ExistingObjectTag/servicecatalog:provisioning": "true"
}
}
},
{
"Sid": "AmazonSageMakerServiceCatalogS3ReadSagemakerResourcePermission",
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": [
"arn:aws:s3:::sagemaker-*"
]
},
{
"Sid": "AmazonSageMakerServiceCatalogS3MutatePermission",
"Effect": "Allow",
"Action": [
"s3:CreateBucket",
"s3:DeleteBucket",
"s3:DeleteBucketPolicy",
"s3:GetBucketPolicy",
"s3:PutBucketAcl",
"s3:PutBucketNotification",
"s3:PutBucketPolicy",
"s3:PutBucketPublicAccessBlock",
"s3:PutBucketLogging",
"s3:PutEncryptionConfiguration",
"s3:PutBucketCORS",
"s3:PutBucketTagging",
"s3:PutObjectTagging"
],
"Resource": "arn:aws:s3:::sagemaker-*"
},
{
"Sid": "AmazonSageMakerServiceCatalogSageMakerPermission",
"Effect": "Allow",
"Action": [
"sagemaker:CreateEndpoint",
"sagemaker:CreateEndpointConfig",
"sagemaker:CreateModel",
"sagemaker:CreateWorkteam",
"sagemaker:DeleteEndpoint",
"sagemaker:DeleteEndpointConfig",
"sagemaker:DeleteModel",
"sagemaker:DeleteWorkteam",
"sagemaker:DescribeModel",
"sagemaker:DescribeEndpointConfig",
"sagemaker:DescribeEndpoint",
"sagemaker:DescribeWorkteam",
"sagemaker:CreateCodeRepository",
"sagemaker:DescribeCodeRepository",
"sagemaker:UpdateCodeRepository",
"sagemaker:DeleteCodeRepository"
],
"Resource": [
"arn:aws:sagemaker:*:*:*"
]
},
{
"Sid": "AmazonSageMakerServiceCatalogSageMakerTagPermission",
"Effect": "Allow",
"Action": [
"sagemaker:AddTags"
],
"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/*"
],
"Condition": {
"ForAllValues:StringLike": {
"aws:TagKeys": [
"sagemaker:*"
]
}
}
},
{
"Sid": "AmazonSageMakerServiceCatalogSageMakerImagePermission",
"Effect": "Allow",
"Action": [
"sagemaker:CreateImage",
"sagemaker:DeleteImage",
"sagemaker:DescribeImage",
"sagemaker:UpdateImage",
"sagemaker:ListTags"
],
"Resource": [
"arn:aws:sagemaker:*:*:image/*"
]
},
{
"Sid": "AmazonSageMakerServiceCatalogStepFunctionPermission",
"Effect": "Allow",
"Action": [
"states:CreateStateMachine",
"states:DeleteStateMachine",
"states:UpdateStateMachine"
],
"Resource": [
"arn:aws:states:*:*:stateMachine:sagemaker-*"
]
},
{
"Sid": "AmazonSageMakerServiceCatalogCodeStarPermission",
"Effect": "Allow",
"Action": "codestar-connections:PassConnection",
"Resource": [
"arn:aws:codestar-connections:*:*:connection/*",
"arn:aws:codeconnections:*:*:connection/*"
],
"Condition": {
"StringEquals": {
"codestar-connections:PassedToService": "codepipeline.amazonaws.com"
}
}
},
{
"Sid": "AmazonSageMakerServiceCatalogCodeConnectionPermission",
"Effect": "Allow",
"Action": "codeconnections:PassConnection",
"Resource": [
"arn:aws:codeconnections:*:*:connection/*",
"arn:aws:codestar-connections:*:*:connection/*"
],
"Condition": {
"StringEquals": {
"codeconnections:PassedToService": "codepipeline.amazonaws.com"
}
}
}
]
}
Version history
Current version v12, 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/AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy
aws iam attach-user-policy --user-name USER_NAME --policy-arn arn:aws:iam::aws:policy/AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy
aws iam attach-group-policy --group-name GROUP_NAME --policy-arn arn:aws:iam::aws:policy/AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicyCloudFormation
Resources:
ExampleRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument: {} # replace with your trust policy
ManagedPolicyArns:
- arn:aws:iam::aws:policy/AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicyTerraform
resource "aws_iam_role_policy_attachment" "amazonsagemakeradmin_servicecatalogproductsservicerolepolicy" {
role = aws_iam_role.example.name
policy_arn = "arn:aws:iam::aws:policy/AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy"
}CDK (TypeScript)
role.addManagedPolicy(
iam.ManagedPolicy.fromAwsManagedPolicyName("AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy"),
);Sources
Pending editorial review. No editorial sources are listed yet.