Skip to main content
IAM Policy Map

SageMakerStudioProjectRoleMachineLearningPolicy

OperatorAWS managedActivePermissions reviewedShow on mapCompare

Summary

Amazon SageMaker Studio creates IAM roles for projects users to perform data analytics, artificial intelligence, and machine learning actions, and uses this policy when creating these roles to define the permissions related to SageMaker.

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

Identity

ARN
arn:aws:iam::aws:policy/SageMakerStudioProjectRoleMachineLearningPolicy
Default version
v47
Created
Last edited
Services
airflow-serverless, application-autoscaling, athena, bedrock-agentcore, cloudwatch, datazone, ec2, ecr, ecr-public, elasticfilesystem, glue, iam, identitystore, kms, logs, ram, resource-groups, s3, sagemaker, sagemaker-mlflow, scheduler, sqlworkbench, ssm, sso, sts, tag, xray

Control-plane actions (523)

By access level: 123 List, 13 Permissions management, 167 Read, 8 Tagging, 212 Write.

Control-plane actions by service
ServiceGrantedAccess levels and limitsGranted by
MWAA Serverless15 of 164 List, 4 Read, 2 Tagging, 5 Write; 11 restricted, 11 conditionalairflow-serverless:CreateWorkflow, airflow-serverless:DeleteWorkflow, airflow-serverless:GetTaskInstance, airflow-serverless:GetWorkflow, airflow-serverless:GetWorkflowRun, airflow-serverless:ListTagsForResource, airflow-serverless:ListTask*, airflow-serverless:ListWorkflow*, airflow-serverless:StartWorkflowRun, airflow-serverless:StopWorkflowRun, airflow-serverless:TagResource, airflow-serverless:UntagResource and 1 more
Application Auto Scaling8 of 144 Read, 4 Write; 8 restricted, 8 conditionalapplication-autoscaling:DeregisterScalableTarget, application-autoscaling:DescribeScalableTargets, application-autoscaling:DescribeScalingActivities, application-autoscaling:DescribeScalingPolicies, application-autoscaling:DescribeScheduledActions, application-autoscaling:PutScalingPolicy, application-autoscaling:PutScheduledAction, application-autoscaling:RegisterScalableTarget
Athena3 of 861 Read, 1 Tagging, 1 Write; 3 restricted, 3 conditionalathena:GetResourceDashboard, athena:GetSessionEndpoint, athena:TagResource
Bedrock-Agentcore62 of 19714 List, 2 Permissions management, 12 Read, 1 Tagging, 33 Write; 55 restricted, 54 conditionalbedrock-agentcore:*AgentRuntime, bedrock-agentcore:*AgentRuntimeEndpoint, bedrock-agentcore:*Dataset*, bedrock-agentcore:*Gateway, bedrock-agentcore:*GatewayTarget, bedrock-agentcore:*GatewayTargets, bedrock-agentcore:*Harness*, bedrock-agentcore:*Memory, bedrock-agentcore:*WorkloadIdentity, bedrock-agentcore:ConnectBrowserAutomationStream, bedrock-agentcore:CreateHarnessEndpoint, bedrock-agentcore:CreateWorkloadIdentity and 15 more
CloudWatch3 of 1601 Read, 2 Write; 3 restricted, 3 conditionalcloudwatch:DeleteAlarms, cloudwatch:DescribeAlarms, cloudwatch:PutMetricAlarm
DataZone156 of 27854 List, 2 Permissions management, 60 Read, 40 Write; 0 restricted, 0 conditionaldatazone:*Agent*, datazone:*Cell*, datazone:*Compute*, datazone:*Conversation*, datazone:*DataApp*, datazone:*Message*, datazone:*Notebook*, datazone:CreateAsset*, datazone:CreateListingChangeSet, datazone:CreateSubscriptionRequest, datazone:GenerateCode, datazone:Get* and 3 more
EC213 of 8347 List, 2 Permissions management, 4 Write; 6 restricted, 6 conditionalec2:AttachNetworkInterface, ec2:CreateNetworkInterface, ec2:CreateNetworkInterfacePermission, ec2:CreateVpcEndpoint, ec2:DeleteNetworkInterface, ec2:DeleteNetworkInterfacePermission, ec2:DescribeDhcpOptions, ec2:DescribeNetworkInterfaces, ec2:DescribeRouteTables, ec2:DescribeSecurityGroups, ec2:DescribeSubnets, ec2:DescribeVpcEndpoints and 1 more
Elastic Container Registry4 of 651 List, 3 Read; 4 restricted, 1 conditionalecr:BatchGetImage, ecr:DescribeImages, ecr:GetAuthorizationToken, ecr:GetDownloadUrlForLayer
Elastic Container Registry Public1 of 231 Read; 0 restricted, 0 conditionalecr-public:GetAuthorizationToken
EFS1 of 381 Read; 0 restricted, 0 conditionalelasticfilesystem:DescribeMountTargets
Glue1 of 3061 List; 0 restricted, 0 conditionalglue:ListSessions
IAM1 of 1901 Write; 1 restricted, 0 conditionaliam:CreateServiceLinkedRole
Identity Store2 of 292 Read; 2 restricted, 2 conditionalidentitystore:DescribeGroup, identitystore:DescribeUser
KMS5 of 581 Permissions management, 4 Write; 5 restricted, 5 conditionalkms:CreateGrant, kms:Decrypt, kms:Encrypt, kms:GenerateDataKey, kms:GenerateDataKeyWithoutPlaintext
CloudWatch Logs11 of 1331 List, 1 Permissions management, 5 Read, 4 Write; 11 restricted, 3 conditionallogs:CreateLogGroup, logs:CreateLogStream, logs:DescribeLogStreams, logs:GetLogEvents, logs:GetLogGroupFields, logs:GetLogRecord, logs:GetQueryResults, logs:PutLogEvents, logs:PutResourcePolicy, logs:PutRetentionPolicy, logs:StartQuery
Resource Access Manager2 of 391 Read, 1 Write; 1 restricted, 1 conditionalram:CreateResourceShare, ram:GetResourceShareInvitations
Resource Groups5 of 291 List, 1 Read, 1 Tagging, 2 Write; 5 restricted, 5 conditionalresource-groups:CreateGroup, resource-groups:DeleteGroup, resource-groups:GetGroupQuery, resource-groups:ListGroupResources, resource-groups:Tag
S313 of 1553 List, 5 Permissions management, 4 Read, 1 Tagging; 8 restricted, 8 conditionals3:CreateAccessGrant, s3:CreateAccessGrantsLocation, s3:DeleteAccessGrant, s3:DeleteAccessGrantsLocation, s3:GetAccessGrantsInstance, s3:GetAccessGrantsInstanceForPrefix, s3:GetAccessGrantsLocation, s3:GetDataAccess, s3:ListAccessGrants, s3:ListCallerAccessGrants, s3:ListTagsForResource, s3:PutAccessGrantsInstanceResourcePolicy and 1 more
SageMaker144 of 44133 List, 39 Read, 2 Tagging, 70 Write; 131 restricted, 129 conditionalsagemaker:*Feature*, sagemaker:AddAssociation, sagemaker:AddTags, sagemaker:BatchDescribeModelPackage, sagemaker:BatchGetMetrics, sagemaker:BatchPutMetrics, sagemaker:CallMlflowAppApi, sagemaker:CreateAction, sagemaker:CreateApp, sagemaker:CreateArtifact, sagemaker:CreateAutoMLJob, sagemaker:CreateAutoMLJobV2 and 127 more
SageMaker MLflowAll 61 actions (see the SageMaker MLflow page)3 List, 17 Read, 41 Write; 61 restricted, 61 conditionalsagemaker-mlflow:*
EventBridge Scheduler1 of 131 List; 1 restricted, 1 conditionalscheduler:ListSchedules
SQL Workbench1 of 791 Read; 1 restricted, 1 conditionalsqlworkbench:GetConnection
Systems Manager3 of 1643 Read; 3 restricted, 0 conditionalssm:GetParameter, ssm:GetParameters, ssm:GetParametersByPath
IAM Identity Center2 of 1262 Read; 2 restricted, 2 conditionalsso:DescribeApplication, sso:DescribeInstance
STS2 of 162 Read; 0 restricted, 0 conditionalsts:GetCallerIdentity, sts:GetServiceBearerToken
Resource Group Tagging1 of 91 Read; 0 restricted, 0 conditionaltag:GetResources
X-Ray2 of 322 Read; 0 restricted, 0 conditionalxray:GetSamplingRules, xray:GetTraceSegmentDestination
MWAA Serverless: 15 actions
  • airflow-serverless:CreateWorkflow (Write)
  • airflow-serverless:DeleteWorkflow (Write)
  • airflow-serverless:GetTaskInstance (Read)
  • airflow-serverless:GetWorkflow (Read)
  • airflow-serverless:GetWorkflowRun (Read)
  • airflow-serverless:ListTagsForResource (Read)
  • airflow-serverless:ListTaskInstances (List)
  • airflow-serverless:ListWorkflowRuns (List)
  • airflow-serverless:ListWorkflowVersions (List)
  • airflow-serverless:ListWorkflows (List)
  • airflow-serverless:StartWorkflowRun (Write)
  • airflow-serverless:StopWorkflowRun (Write)
  • airflow-serverless:TagResource (Tagging)
  • airflow-serverless:UntagResource (Tagging)
  • airflow-serverless:UpdateWorkflow (Write)
Application Auto Scaling: 8 actions
  • application-autoscaling:DeregisterScalableTarget (Write)
  • application-autoscaling:DescribeScalableTargets (Read)
  • application-autoscaling:DescribeScalingActivities (Read)
  • application-autoscaling:DescribeScalingPolicies (Read)
  • application-autoscaling:DescribeScheduledActions (Read)
  • application-autoscaling:PutScalingPolicy (Write)
  • application-autoscaling:PutScheduledAction (Write)
  • application-autoscaling:RegisterScalableTarget (Write)
Athena: 3 actions
  • athena:GetResourceDashboard (Read)
  • athena:GetSessionEndpoint (Write)
  • athena:TagResource (Tagging)
Bedrock-Agentcore: 62 actions
  • bedrock-agentcore:AddDatasetExamples (Write)
  • bedrock-agentcore:ConnectBrowserAutomationStream (Read)
  • bedrock-agentcore:CreateAgentRuntime (Write)
  • bedrock-agentcore:CreateAgentRuntimeEndpoint (Write)
  • bedrock-agentcore:CreateDataset (Write)
  • bedrock-agentcore:CreateDatasetVersion (Write)
  • bedrock-agentcore:CreateGateway (Write)
  • bedrock-agentcore:CreateGatewayTarget (Write)
  • bedrock-agentcore:CreateHarness (Write)
  • bedrock-agentcore:CreateHarnessEndpoint (Write)
  • bedrock-agentcore:CreateMemory (Write)
  • bedrock-agentcore:CreateWorkloadIdentity (Write)
  • bedrock-agentcore:DeleteAgentRuntime (Write)
  • bedrock-agentcore:DeleteAgentRuntimeEndpoint (Write)
  • bedrock-agentcore:DeleteDataset (Write)
  • bedrock-agentcore:DeleteDatasetExamples (Write)
  • bedrock-agentcore:DeleteGateway (Write)
  • bedrock-agentcore:DeleteGatewayTarget (Write)
  • bedrock-agentcore:DeleteHarness (Write)
  • bedrock-agentcore:DeleteHarnessEndpoint (Write)
  • bedrock-agentcore:DeleteMemory (Write)
  • bedrock-agentcore:DeleteWorkloadIdentity (Write)
  • bedrock-agentcore:GetAgentRuntime (Read)
  • bedrock-agentcore:GetAgentRuntimeEndpoint (Read)
  • bedrock-agentcore:GetConfigurationBundleVersion (Read)
  • bedrock-agentcore:GetDataset (Read)
  • bedrock-agentcore:GetEvaluator (Read)
  • bedrock-agentcore:GetGateway (Read)
  • bedrock-agentcore:GetGatewayTarget (Read)
  • bedrock-agentcore:GetHarness (Read)
  • bedrock-agentcore:GetHarnessEndpoint (Read)
  • bedrock-agentcore:GetMemory (Read)
  • bedrock-agentcore:GetWorkloadAccessToken (Write)
  • bedrock-agentcore:GetWorkloadAccessTokenForJWT (Write)
  • bedrock-agentcore:GetWorkloadIdentity (Read)
  • bedrock-agentcore:InvokeGateway (Permissions management)
  • bedrock-agentcore:ListAgentRuntimeEndpoints (List)
  • bedrock-agentcore:ListAgentRuntimeVersions (List)
  • bedrock-agentcore:ListAgentRuntimes (List)
  • bedrock-agentcore:ListDatasetExamples (List)
  • bedrock-agentcore:ListDatasetVersions (List)
  • bedrock-agentcore:ListDatasets (List)
  • bedrock-agentcore:ListEvaluators (List)
  • bedrock-agentcore:ListGatewayTargets (List)
  • bedrock-agentcore:ListGateways (List)
  • bedrock-agentcore:ListHarnessEndpoints (List)
  • bedrock-agentcore:ListHarnessVersions (List)
  • bedrock-agentcore:ListHarnesses (List)
  • bedrock-agentcore:ListMemories (List)
  • bedrock-agentcore:ListTagsForResource (List)
  • bedrock-agentcore:SynchronizeGatewayTargets (Permissions management)
  • bedrock-agentcore:TagResource (Tagging)
  • bedrock-agentcore:UpdateAgentRuntime (Write)
  • bedrock-agentcore:UpdateAgentRuntimeEndpoint (Write)
  • bedrock-agentcore:UpdateDataset (Write)
  • bedrock-agentcore:UpdateDatasetExamples (Write)
  • bedrock-agentcore:UpdateGateway (Write)
  • bedrock-agentcore:UpdateGatewayTarget (Write)
  • bedrock-agentcore:UpdateHarness (Write)
  • bedrock-agentcore:UpdateHarnessEndpoint (Write)
  • bedrock-agentcore:UpdateMemory (Write)
  • bedrock-agentcore:UpdateWorkloadIdentity (Write)
CloudWatch: 3 actions
  • cloudwatch:DeleteAlarms (Write)
  • cloudwatch:DescribeAlarms (Read)
  • cloudwatch:PutMetricAlarm (Write)
DataZone: 156 actions
  • datazone:BatchGetCell (Read)
  • datazone:BatchGetCellRun (Read)
  • datazone:CancelMessage (Write)
  • datazone:CreateAsset (Write)
  • datazone:CreateAssetFilter (Write)
  • datazone:CreateAssetRevision (Write)
  • datazone:CreateAssetType (Write)
  • datazone:CreateCell (Write)
  • datazone:CreateCellRun (Write)
  • datazone:CreateDataApp (Write)
  • datazone:CreateListingChangeSet (Write)
  • datazone:CreateNotebook (Write)
  • datazone:CreateSubscriptionRequest (Write)
  • datazone:DeleteAgentApprovalPolicy (Write)
  • datazone:DeleteCell (Write)
  • datazone:DeleteCellRun (Write)
  • datazone:DeleteConversation (Write)
  • datazone:DeleteDataApp (Write)
  • datazone:DeleteNotebook (Write)
  • datazone:DeregisterAgentArtifact (Write)
  • datazone:GenerateCode (Write)
  • datazone:GetAccountPool (Read)
  • datazone:GetAgentApprovalPolicy (Read)
  • datazone:GetAsset (Read)
  • datazone:GetAssetFilter (Read)
  • datazone:GetAssetType (Read)
  • datazone:GetCell (Read)
  • datazone:GetCellRun (Read)
  • datazone:GetCellRunResult (Read)
  • datazone:GetCompute (Read)
  • datazone:GetConnection (Read)
  • datazone:GetConversation (Read)
  • datazone:GetCurrentEffectivePolicy (Read)
  • datazone:GetDataApp (Read)
  • datazone:GetDataExportConfiguration (Read)
  • datazone:GetDataProduct (Read)
  • datazone:GetDataSource (Read)
  • datazone:GetDataSourceRun (Read)
  • datazone:GetDesignation (Read)
  • datazone:GetDomain (Read)
  • datazone:GetDomainExecutionRoleCredentials (Read)
  • datazone:GetDomainSharingPolicy (Read)
  • datazone:GetDomainUnit (Read)
  • datazone:GetEffectiveUICustomization (Read)
  • datazone:GetEnvironment (Read)
  • datazone:GetEnvironmentAction (Read)
  • datazone:GetEnvironmentActionLink (Read)
  • datazone:GetEnvironmentBlueprint (Read)
  • datazone:GetEnvironmentBlueprintConfiguration (Read)
  • datazone:GetEnvironmentCredentials (Read)
  • datazone:GetEnvironmentProfile (Read)
  • datazone:GetFormType (Read)
  • datazone:GetGlossary (Read)
  • datazone:GetGlossaryTerm (Read)
  • datazone:GetGroupProfile (Read)
  • datazone:GetIamPortalLoginUrl (Permissions management)
  • datazone:GetJobRun (Read)
  • datazone:GetLineageEvent (Read)
  • datazone:GetLineageNode (Read)
  • datazone:GetListing (Read)
  • datazone:GetMetadataGenerationRun (Read)
  • datazone:GetNotebook (Read)
  • datazone:GetNotebookCompute (Read)
  • datazone:GetNotebookExport (Read)
  • datazone:GetNotebookRun (Read)
  • datazone:GetNotificationPreference (Read)
  • datazone:GetProject (Read)
  • datazone:GetProjectProfile (Read)
  • datazone:GetRule (Read)
  • datazone:GetSubscription (Read)
  • datazone:GetSubscriptionEligibility (Read)
  • datazone:GetSubscriptionGrant (Read)
  • datazone:GetSubscriptionRequestDetails (Read)
  • datazone:GetSubscriptionTarget (Read)
  • datazone:GetSystemTableExportConfiguration (Read)
  • datazone:GetTimeSeriesDataPoint (Read)
  • datazone:GetUIConfiguration (Read)
  • datazone:GetUpdateEligibility (Read)
  • datazone:GetUserProfile (Read)
  • datazone:InvokeAgent (Write)
  • datazone:ListAccountEnvironments (List)
  • datazone:ListAccountPools (List)
  • datazone:ListAccountsInAccountPool (List)
  • datazone:ListAgentArtifacts (List)
  • datazone:ListAgentSessionRecords (List)
  • datazone:ListAssetFilters (List)
  • datazone:ListAssetRevisions (List)
  • datazone:ListCellRuns (List)
  • datazone:ListConnections (List)
  • datazone:ListConversations (List)
  • datazone:ListDataApps (List)
  • datazone:ListDataProductRevisions (List)
  • datazone:ListDataSourceRunActivities (List)
  • datazone:ListDataSourceRuns (List)
  • datazone:ListDataSources (List)
  • datazone:ListDeployableEnvironmentBlueprints (List)
  • datazone:ListDesignations (List)
  • datazone:ListDomainUnitsForParent (List)
  • datazone:ListDomains (List)
  • datazone:ListEntityOwners (List)
  • datazone:ListEnvironmentActions (List)
  • datazone:ListEnvironmentBlueprintConfigurationSummaries (List)
  • datazone:ListEnvironmentBlueprintConfigurations (List)
  • datazone:ListEnvironmentBlueprints (List)
  • datazone:ListEnvironmentProfiles (List)
  • datazone:ListEnvironments (List)
  • datazone:ListGroupsForUser (List)
  • datazone:ListJobRuns (List)
  • datazone:ListLineageEvents (List)
  • datazone:ListLineageNodeHistory (List)
  • datazone:ListLinkedTypes (List)
  • datazone:ListMetadataGenerationRuns (List)
  • datazone:ListNotebookRuns (List)
  • datazone:ListNotebooks (List)
  • datazone:ListNotifications (List)
  • datazone:ListPolicyGrants (List)
  • datazone:ListProjectMemberships (List)
  • datazone:ListProjectProfiles (List)
  • datazone:ListProjects (List)
  • datazone:ListRules (List)
  • datazone:ListSharedDataApps (List)
  • datazone:ListSubscriptionGrants (List)
  • datazone:ListSubscriptionRequests (List)
  • datazone:ListSubscriptionTargets (List)
  • datazone:ListSubscriptions (List)
  • datazone:ListTagsForResource (Read)
  • datazone:ListTimeSeriesDataPoints (List)
  • datazone:ListUIConfigurations (List)
  • datazone:ListWarehouseMetadata (List)
  • datazone:PutAgentApprovalPolicy (Write)
  • datazone:PutCellRunResult (Write)
  • datazone:RegisterAgentArtifact (Write)
  • datazone:RevokeSubscription (Permissions management)
  • datazone:Search (List)
  • datazone:SearchGroupProfiles (List)
  • datazone:SearchListings (List)
  • datazone:SearchRules (List)
  • datazone:SearchTypes (List)
  • datazone:SearchUserProfiles (List)
  • datazone:SendMessage (Write)
  • datazone:StartCompute (Write)
  • datazone:StartConversation (Write)
  • datazone:StartNotebookCompute (Write)
  • datazone:StartNotebookExport (Write)
  • datazone:StartNotebookImport (Write)
  • datazone:StartNotebookRun (Write)
  • datazone:StartNotebookSync (Write)
  • datazone:StopAgent (Write)
  • datazone:StopCompute (Write)
  • datazone:StopNotebookCompute (Write)
  • datazone:StopNotebookRun (Write)
  • datazone:UpdateCell (Write)
  • datazone:UpdateCellRun (Write)
  • datazone:UpdateConversation (Write)
  • datazone:UpdateDataApp (Write)
  • datazone:UpdateNotebook (Write)
EC2: 13 actions
  • ec2:AttachNetworkInterface (Write)
  • ec2:CreateNetworkInterface (Write)
  • ec2:CreateNetworkInterfacePermission (Permissions management)
  • ec2:CreateVpcEndpoint (Write)
  • ec2:DeleteNetworkInterface (Write)
  • ec2:DeleteNetworkInterfacePermission (Permissions management)
  • ec2:DescribeDhcpOptions (List)
  • ec2:DescribeNetworkInterfaces (List)
  • ec2:DescribeRouteTables (List)
  • ec2:DescribeSecurityGroups (List)
  • ec2:DescribeSubnets (List)
  • ec2:DescribeVpcEndpoints (List)
  • ec2:DescribeVpcs (List)
Elastic Container Registry: 4 actions
  • ecr:BatchGetImage (Read)
  • ecr:DescribeImages (List)
  • ecr:GetAuthorizationToken (Read)
  • ecr:GetDownloadUrlForLayer (Read)
Elastic Container Registry Public: 1 actions
  • ecr-public:GetAuthorizationToken (Read)
EFS: 1 actions
  • elasticfilesystem:DescribeMountTargets (Read)
Glue: 1 actions
  • glue:ListSessions (List)
IAM: 1 actions
  • iam:CreateServiceLinkedRole (Write)
Identity Store: 2 actions
  • identitystore:DescribeGroup (Read)
  • identitystore:DescribeUser (Read)
KMS: 5 actions
  • kms:CreateGrant (Permissions management)
  • kms:Decrypt (Write)
  • kms:Encrypt (Write)
  • kms:GenerateDataKey (Write)
  • kms:GenerateDataKeyWithoutPlaintext (Write)
CloudWatch Logs: 11 actions
  • logs:CreateLogGroup (Write)
  • logs:CreateLogStream (Write)
  • logs:DescribeLogStreams (List)
  • logs:GetLogEvents (Read)
  • logs:GetLogGroupFields (Read)
  • logs:GetLogRecord (Read)
  • logs:GetQueryResults (Read)
  • logs:PutLogEvents (Write)
  • logs:PutResourcePolicy (Permissions management)
  • logs:PutRetentionPolicy (Write)
  • logs:StartQuery (Read)
Resource Access Manager: 2 actions
  • ram:CreateResourceShare (Write)
  • ram:GetResourceShareInvitations (Read)
Resource Groups: 5 actions
  • resource-groups:CreateGroup (Write)
  • resource-groups:DeleteGroup (Write)
  • resource-groups:GetGroupQuery (Read)
  • resource-groups:ListGroupResources (List)
  • resource-groups:Tag (Tagging)
S3: 13 actions
  • s3:CreateAccessGrant (Permissions management)
  • s3:CreateAccessGrantsLocation (Permissions management)
  • s3:DeleteAccessGrant (Permissions management)
  • s3:DeleteAccessGrantsLocation (Permissions management)
  • s3:GetAccessGrantsInstance (Read)
  • s3:GetAccessGrantsInstanceForPrefix (Read)
  • s3:GetAccessGrantsLocation (Read)
  • s3:GetDataAccess (Read)
  • s3:ListAccessGrants (List)
  • s3:ListCallerAccessGrants (List)
  • s3:ListTagsForResource (List)
  • s3:PutAccessGrantsInstanceResourcePolicy (Permissions management)
  • s3:TagResource (Tagging)
SageMaker: 144 actions
  • sagemaker:AddAssociation (Write)
  • sagemaker:AddTags (Tagging)
  • sagemaker:BatchDescribeModelPackage (Read)
  • sagemaker:BatchGetMetrics (Read)
  • sagemaker:BatchPutMetrics (Write)
  • sagemaker:CallMlflowAppApi (Write)
  • sagemaker:CreateAction (Write)
  • sagemaker:CreateApp (Write)
  • sagemaker:CreateArtifact (Write)
  • sagemaker:CreateAutoMLJob (Write)
  • sagemaker:CreateAutoMLJobV2 (Write)
  • sagemaker:CreateContext (Write)
  • sagemaker:CreateEndpoint (Write)
  • sagemaker:CreateEndpointConfig (Write)
  • sagemaker:CreateFeatureGroup (Write)
  • sagemaker:CreateHyperParameterTuningJob (Write)
  • sagemaker:CreateInferenceComponent (Write)
  • sagemaker:CreateInferenceRecommendationsJob (Write)
  • sagemaker:CreateMlflowApp (Write)
  • sagemaker:CreateModel (Write)
  • sagemaker:CreateModelPackage (Write)
  • sagemaker:CreateModelPackageGroup (Write)
  • sagemaker:CreatePipeline (Write)
  • sagemaker:CreatePresignedDomainUrl (Write)
  • sagemaker:CreatePresignedMlflowAppUrl (Write)
  • sagemaker:CreatePresignedMlflowTrackingServerUrl (Write)
  • sagemaker:CreateProcessingJob (Write)
  • sagemaker:CreateSpace (Write)
  • sagemaker:CreateTrainingJob (Write)
  • sagemaker:CreateTransformJob (Write)
  • sagemaker:CreateUserProfile (Write)
  • sagemaker:DeleteAction (Write)
  • sagemaker:DeleteApp (Write)
  • sagemaker:DeleteArtifact (Write)
  • sagemaker:DeleteAssociation (Write)
  • sagemaker:DeleteContext (Write)
  • sagemaker:DeleteEndpoint (Write)
  • sagemaker:DeleteEndpointConfig (Write)
  • sagemaker:DeleteFeatureGroup (Write)
  • sagemaker:DeleteInferenceComponent (Write)
  • sagemaker:DeleteMlflowApp (Write)
  • sagemaker:DeleteModel (Write)
  • sagemaker:DeleteModelPackage (Write)
  • sagemaker:DeleteModelPackageGroup (Write)
  • sagemaker:DeletePipeline (Write)
  • sagemaker:DeleteSpace (Write)
  • sagemaker:DeleteTags (Tagging)
  • sagemaker:DeleteUserProfile (Write)
  • sagemaker:DescribeAction (Read)
  • sagemaker:DescribeApp (Read)
  • sagemaker:DescribeAppImageConfig (Read)
  • sagemaker:DescribeArtifact (Read)
  • sagemaker:DescribeAutoMLJob (Read)
  • sagemaker:DescribeAutoMLJobV2 (Read)
  • sagemaker:DescribeContext (Read)
  • sagemaker:DescribeDomain (Read)
  • sagemaker:DescribeEndpoint (Read)
  • sagemaker:DescribeEndpointConfig (Read)
  • sagemaker:DescribeFeatureGroup (Read)
  • sagemaker:DescribeFeatureMetadata (Read)
  • sagemaker:DescribeHub (Read)
  • sagemaker:DescribeHubContent (Read)
  • sagemaker:DescribeHyperParameterTuningJob (Read)
  • sagemaker:DescribeImage (Read)
  • sagemaker:DescribeImageVersion (Read)
  • sagemaker:DescribeInferenceComponent (Read)
  • sagemaker:DescribeInferenceRecommendationsJob (Read)
  • sagemaker:DescribeMlflowApp (Read)
  • sagemaker:DescribeMlflowTrackingServer (Read)
  • sagemaker:DescribeModel (Read)
  • sagemaker:DescribeModelPackage (Read)
  • sagemaker:DescribeModelPackageGroup (Read)
  • sagemaker:DescribeOptimizationJob (Read)
  • sagemaker:DescribePipeline (Read)
  • sagemaker:DescribePipelineDefinitionForExecution (Read)
  • sagemaker:DescribePipelineExecution (Read)
  • sagemaker:DescribeProcessingJob (Read)
  • sagemaker:DescribeSpace (Read)
  • sagemaker:DescribeTrainingJob (Read)
  • sagemaker:DescribeTransformJob (Read)
  • sagemaker:DescribeTrialComponent (Read)
  • sagemaker:DescribeUserProfile (Read)
  • sagemaker:GetSearchSuggestions (Read)
  • sagemaker:InvokeEndpointWithResponseStream (Read)
  • sagemaker:ListApps (List)
  • sagemaker:ListArtifacts (List)
  • sagemaker:ListAssociations (List)
  • sagemaker:ListAutoMLJobs (List)
  • sagemaker:ListCandidatesForAutoMLJob (List)
  • sagemaker:ListContexts (List)
  • sagemaker:ListDomains (List)
  • sagemaker:ListEndpointConfigs (List)
  • sagemaker:ListEndpoints (List)
  • sagemaker:ListFeatureGroups (List)
  • sagemaker:ListHubContents (List)
  • sagemaker:ListHubs (List)
  • sagemaker:ListHyperParameterTuningJobs (List)
  • sagemaker:ListImageVersions (List)
  • sagemaker:ListInferenceComponents (List)
  • sagemaker:ListMlflowApps (List)
  • sagemaker:ListMlflowTrackingServers (List)
  • sagemaker:ListModelMetadata (List)
  • sagemaker:ListModelPackageGroups (List)
  • sagemaker:ListModelPackages (List)
  • sagemaker:ListModels (List)
  • sagemaker:ListPipelineExecutionSteps (List)
  • sagemaker:ListPipelineExecutions (List)
  • sagemaker:ListPipelineParametersForExecution (List)
  • sagemaker:ListPipelines (List)
  • sagemaker:ListProcessingJobs (List)
  • sagemaker:ListSpaces (List)
  • sagemaker:ListTags (List)
  • sagemaker:ListTrainingJobs (List)
  • sagemaker:ListTrainingJobsForHyperParameterTuningJob (List)
  • sagemaker:ListTransformJobs (List)
  • sagemaker:ListUserProfiles (List)
  • sagemaker:QueryLineage (List)
  • sagemaker:RetryPipelineExecution (Write)
  • sagemaker:Search (Read)
  • sagemaker:SendPipelineExecutionStepFailure (Write)
  • sagemaker:SendPipelineExecutionStepSuccess (Write)
  • sagemaker:StartMlflowTrackingServer (Write)
  • sagemaker:StartPipelineExecution (Write)
  • sagemaker:StartSession (Write)
  • sagemaker:StopAutoMLJob (Write)
  • sagemaker:StopHyperParameterTuningJob (Write)
  • sagemaker:StopMlflowTrackingServer (Write)
  • sagemaker:StopPipelineExecution (Write)
  • sagemaker:StopProcessingJob (Write)
  • sagemaker:StopTrainingJob (Write)
  • sagemaker:StopTransformJob (Write)
  • sagemaker:UpdateEndpoint (Write)
  • sagemaker:UpdateEndpointWeightsAndCapacities (Write)
  • sagemaker:UpdateFeatureGroup (Write)
  • sagemaker:UpdateFeatureMetadata (Write)
  • sagemaker:UpdateInferenceComponentRuntimeConfig (Write)
  • sagemaker:UpdateMlflowApp (Write)
  • sagemaker:UpdateMlflowTrackingServer (Write)
  • sagemaker:UpdateModelPackage (Write)
  • sagemaker:UpdatePipeline (Write)
  • sagemaker:UpdatePipelineExecution (Write)
  • sagemaker:UpdateSpace (Write)
  • sagemaker:UpdateTrainingJob (Write)
  • sagemaker:UpdateUserProfile (Write)
EventBridge Scheduler: 1 actions
  • scheduler:ListSchedules (List)
SQL Workbench: 1 actions
  • sqlworkbench:GetConnection (Read)
Systems Manager: 3 actions
  • ssm:GetParameter (Read)
  • ssm:GetParameters (Read)
  • ssm:GetParametersByPath (Read)
IAM Identity Center: 2 actions
  • sso:DescribeApplication (Read)
  • sso:DescribeInstance (Read)
STS: 2 actions
  • sts:GetCallerIdentity (Read)
  • sts:GetServiceBearerToken (Read)
Resource Group Tagging: 1 actions
  • tag:GetResources (Read)
X-Ray: 2 actions
  • xray:GetSamplingRules (Read)
  • xray:GetTraceSegmentDestination (Read)

Data-plane actions (54)

By access level: 10 List, 2 Permissions management, 14 Read, 28 Write.

Data-plane actions by service
ServiceGrantedAccess levels and limitsGranted by
Bedrock-Agentcore31 of 628 List, 5 Read, 18 Write; 28 restricted, 21 conditionalbedrock-agentcore:*AgentRuntime, bedrock-agentcore:*BatchEvaluation*, bedrock-agentcore:*BrowserSession, bedrock-agentcore:*CodeInterpreterSession, bedrock-agentcore:*Event, bedrock-agentcore:*Harness*, bedrock-agentcore:*MemoryRecord*, bedrock-agentcore:InvokeCodeInterpreter, bedrock-agentcore:ListActors, bedrock-agentcore:ListBatchEvaluations, bedrock-agentcore:ListBrowserSessions, bedrock-agentcore:ListCodeInterpreterSessions and 3 more
CloudWatch1 of 51 Write; 1 restricted, 1 conditionalcloudwatch:PutMetricData
S312 of 252 List, 2 Permissions management, 4 Read, 4 Write; 12 restricted, 12 conditionals3:AbortMultipartUpload, s3:DeleteObject, s3:DeleteObjectVersion, s3:GetObject, s3:GetObjectAcl, s3:GetObjectVersion, s3:GetObjectVersionAcl, s3:ListBucket, s3:ListMultipartUploadParts, s3:PutObject, s3:PutObjectAcl, s3:PutObjectVersionAcl
SageMaker7 of 194 Read, 3 Write; 7 restricted, 7 conditionalsagemaker:*Record, sagemaker:InvokeEndpoint, sagemaker:InvokeEndpointAsync
X-Ray3 of 121 Read, 2 Write; 0 restricted, 0 conditionalxray:GetSamplingTargets, xray:PutTelemetryRecords, xray:PutTraceSegments
Bedrock-Agentcore: 31 actions
  • bedrock-agentcore:BatchCreateMemoryRecords (Write)
  • bedrock-agentcore:BatchDeleteMemoryRecords (Write)
  • bedrock-agentcore:BatchUpdateMemoryRecords (Write)
  • bedrock-agentcore:CreateEvent (Write)
  • bedrock-agentcore:DeleteBatchEvaluation (Write)
  • bedrock-agentcore:DeleteEvent (Write)
  • bedrock-agentcore:DeleteMemoryRecord (Write)
  • bedrock-agentcore:GetBatchEvaluation (Read)
  • bedrock-agentcore:GetBrowserSession (Read)
  • bedrock-agentcore:GetCodeInterpreterSession (Read)
  • bedrock-agentcore:GetEvent (Read)
  • bedrock-agentcore:GetMemoryRecord (Read)
  • bedrock-agentcore:InvokeAgentRuntime (Write)
  • bedrock-agentcore:InvokeCodeInterpreter (Write)
  • bedrock-agentcore:InvokeHarness (Write)
  • bedrock-agentcore:ListActors (List)
  • bedrock-agentcore:ListBatchEvaluations (List)
  • bedrock-agentcore:ListBrowserSessions (List)
  • bedrock-agentcore:ListCodeInterpreterSessions (List)
  • bedrock-agentcore:ListEvents (List)
  • bedrock-agentcore:ListMemoryRecords (List)
  • bedrock-agentcore:ListSessions (List)
  • bedrock-agentcore:RetrieveMemoryRecords (List)
  • bedrock-agentcore:StartBatchEvaluation (Write)
  • bedrock-agentcore:StartBrowserSession (Write)
  • bedrock-agentcore:StartCodeInterpreterSession (Write)
  • bedrock-agentcore:StopBatchEvaluation (Write)
  • bedrock-agentcore:StopBrowserSession (Write)
  • bedrock-agentcore:StopCodeInterpreterSession (Write)
  • bedrock-agentcore:StopRuntimeSession (Write)
  • bedrock-agentcore:UpdateMemoryRecordExpirySpecification (Write)
CloudWatch: 1 actions
  • cloudwatch:PutMetricData (Write)
S3: 12 actions
  • s3:AbortMultipartUpload (Write)
  • s3:DeleteObject (Write)
  • s3:DeleteObjectVersion (Write)
  • s3:GetObject (Read)
  • s3:GetObjectAcl (Read)
  • s3:GetObjectVersion (Read)
  • s3:GetObjectVersionAcl (Read)
  • s3:ListBucket (List)
  • s3:ListMultipartUploadParts (List)
  • s3:PutObject (Write)
  • s3:PutObjectAcl (Permissions management)
  • s3:PutObjectVersionAcl (Permissions management)
SageMaker: 7 actions
  • sagemaker:BatchGetRecord (Read)
  • sagemaker:BatchWriteRecord (Write)
  • sagemaker:DeleteRecord (Write)
  • sagemaker:GetRecord (Read)
  • sagemaker:InvokeEndpoint (Read)
  • sagemaker:InvokeEndpointAsync (Read)
  • sagemaker:PutRecord (Write)
X-Ray: 3 actions
  • xray:GetSamplingTargets (Read)
  • xray:PutTelemetryRecords (Write)
  • xray:PutTraceSegments (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 263 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.

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": "AllowManageSageMakerEniOnVpc",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateVpcEndpoint"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:network-interface/*",
        "arn:aws:ec2:*:*:subnet/*",
        "arn:aws:ec2:*:*:route-table/*",
        "arn:aws:ec2:*:*:security-group/*"
      ],
      "Condition": {
        "ArnLike": {
          "ec2:Vpc": "arn:aws:ec2:*:*:vpc/${aws:PrincipalTag/VpcId}"
        },
        "StringEquals": {
          "aws:CalledViaLast": [
            "sagemaker.amazonaws.com",
            "airflow.amazonaws.com"
          ]
        }
      }
    },
    {
      "Sid": "AllowManageSageMakerTrainingEniOnVpc",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateNetworkInterface",
        "ec2:DeleteNetworkInterface",
        "ec2:AttachNetworkInterface",
        "ec2:CreateNetworkInterfacePermission",
        "ec2:DeleteNetworkInterfacePermission"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:network-interface/*",
        "arn:aws:ec2:*:*:subnet/*",
        "arn:aws:ec2:*:*:route-table/*",
        "arn:aws:ec2:*:*:security-group/*"
      ],
      "Condition": {
        "ArnLike": {
          "ec2:Vpc": "arn:aws:ec2:*:*:vpc/${aws:PrincipalTag/VpcId}"
        }
      }
    },
    {
      "Sid": "AllowManageSageMakerEni",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateNetworkInterface",
        "ec2:AttachNetworkInterface"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:network-interface/*",
        "arn:aws:ec2:*:*:instance/*"
      ],
      "Condition": {
        "StringEqualsIfExists": {
          "aws:CalledViaLast": "sagemaker.amazonaws.com",
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "AllowSageMakerCreateVpcEndpointOnVpcId",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateVpcEndpoint"
      ],
      "Resource": "arn:aws:ec2:*:*:vpc/${aws:PrincipalTag/VpcId}",
      "Condition": {
        "StringEquals": {
          "ec2:VpcID": "${aws:PrincipalTag/VpcId}"
        },
        "StringEqualsIfExists": {
          "aws:CalledViaLast": "sagemaker.amazonaws.com",
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "AllowSageMakerCreateVpcEndpoint",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateVpcEndpoint"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:vpc-endpoint/*"
      ],
      "Condition": {
        "StringEqualsIfExists": {
          "aws:CalledViaLast": "sagemaker.amazonaws.com",
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "AllowSageMakerDescribeVPCResources",
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeVpcEndpoints",
        "ec2:DescribeSubnets",
        "ec2:DescribeRouteTables",
        "ec2:DescribeSecurityGroups",
        "glue:ListSessions",
        "ec2:DescribeVpcs",
        "ec2:DescribeNetworkInterfaces",
        "ec2:DescribeDhcpOptions"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AllowSageMakerLogAccess",
      "Effect": "Allow",
      "Action": [
        "logs:DescribeLogStreams",
        "logs:GetLogEvents"
      ],
      "Resource": "arn:aws:logs:*:*:log-group:/aws/sagemaker/*"
    },
    {
      "Sid": "SageMakerMlflowPermission",
      "Effect": "Allow",
      "Action": [
        "sagemaker:UpdateMlflowTrackingServer",
        "sagemaker:StartMlflowTrackingServer",
        "sagemaker:StopMlflowTrackingServer",
        "sagemaker:DescribeMlflowTrackingServer",
        "sagemaker:CreatePresignedMlflowTrackingServerUrl",
        "sagemaker-mlflow:*"
      ],
      "Resource": "arn:aws:sagemaker:*:*:mlflow-tracking-server/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/AmazonDataZoneProject": "${aws:PrincipalTag/AmazonDataZoneProject}"
        }
      }
    },
    {
      "Sid": "SageMakerMlflowServerlessPermission",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateMlflowApp",
        "sagemaker:CreatePresignedMlflowAppUrl",
        "sagemaker:DeleteMlflowApp",
        "sagemaker:DescribeMlflowApp",
        "sagemaker:UpdateMlflowApp",
        "sagemaker:CallMlflowAppApi"
      ],
      "Resource": "arn:aws:sagemaker:*:*:mlflow-app/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/AmazonDataZoneProject": "${aws:PrincipalTag/AmazonDataZoneProject}"
        }
      }
    },
    {
      "Sid": "SageMakerBYOFSPermissions",
      "Effect": "Allow",
      "Action": [
        "elasticfilesystem:DescribeMountTargets"
      ],
      "Resource": "*"
    },
    {
      "Sid": "SageMakerBYOIPermissions",
      "Effect": "Allow",
      "Action": [
        "sagemaker:DescribeAppImageConfig",
        "sagemaker:DescribeImageVersion",
        "sagemaker:ListImageVersions"
      ],
      "Resource": "*"
    },
    {
      "Sid": "SageMakerStudioAppDescribeImageActionPermissions",
      "Effect": "Allow",
      "Action": [
        "sagemaker:DescribeImage"
      ],
      "Resource": "arn:aws:sagemaker:*:*:image/*"
    },
    {
      "Sid": "SageMakerPipelinesSTSPermissions",
      "Effect": "Allow",
      "Action": [
        "sts:GetCallerIdentity",
        "ecr-public:GetAuthorizationToken",
        "sts:GetServiceBearerToken"
      ],
      "Resource": "*"
    },
    {
      "Sid": "SageMakerLogPermissions",
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents"
      ],
      "Resource": "arn:aws:logs:*:*:log-group:/aws/sagemaker/*"
    },
    {
      "Sid": "SageMakerCreatePermissions",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateTrainingJob",
        "sagemaker:CreateTransformJob",
        "sagemaker:CreateProcessingJob",
        "sagemaker:CreateAutoMLJob",
        "sagemaker:CreateAutoMLJobV2",
        "sagemaker:CreateHyperParameterTuningJob",
        "sagemaker:CreateEndpointConfig",
        "sagemaker:CreateEndpoint",
        "sagemaker:CreateModel",
        "sagemaker:CreateModelPackage",
        "sagemaker:CreateModelPackageGroup",
        "sagemaker:CreateInferenceComponent",
        "sagemaker:CreatePipeline",
        "sagemaker:CreateInferenceRecommendationsJob"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:PrincipalTag/EnableSageMakerMLWorkloadsPermissions": "true",
          "aws:ResourceTag/AmazonDataZoneProject": "${aws:PrincipalTag/AmazonDataZoneProject}"
        }
      }
    },
    {
      "Sid": "SageMakerInferencePermissions",
      "Effect": "Allow",
      "Action": [
        "sagemaker:StopTrainingJob",
        "sagemaker:StopProcessingJob",
        "sagemaker:StopAutoMLJob",
        "sagemaker:StopHyperParameterTuningJob",
        "sagemaker:UpdateTrainingJob",
        "sagemaker:BatchGetMetrics",
        "sagemaker:BatchPutMetrics",
        "sagemaker:DeleteEndpointConfig",
        "sagemaker:DeleteEndpoint",
        "sagemaker:UpdateEndpoint",
        "sagemaker:UpdateEndpointWeightsAndCapacities",
        "sagemaker:UpdateInferenceComponentRuntimeConfig",
        "sagemaker:BatchDescribeModelPackage",
        "sagemaker:UpdateModelPackage",
        "sagemaker:DeleteModel",
        "sagemaker:DeleteModelPackage",
        "sagemaker:DeleteModelPackageGroup",
        "sagemaker:DeleteInferenceComponent",
        "sagemaker:InvokeEndpoint",
        "sagemaker:InvokeEndpointAsync",
        "sagemaker:InvokeEndpointWithResponseStream",
        "sagemaker:DescribeInferenceComponent",
        "sagemaker:DescribeEndpointConfig",
        "sagemaker:DescribeModel",
        "sagemaker:DescribeOptimizationJob",
        "sagemaker:DescribeEndpoint"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:PrincipalTag/EnableSageMakerMLWorkloadsPermissions": "true",
          "aws:ResourceTag/AmazonDataZoneProject": "${aws:PrincipalTag/AmazonDataZoneProject}"
        }
      }
    },
    {
      "Sid": "SageMakerUpdateInferenceComponentRuntimeConfigAutoscalingPermissions",
      "Effect": "Allow",
      "Action": [
        "sagemaker:UpdateInferenceComponentRuntimeConfig"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:CalledViaLast": "application-autoscaling.amazonaws.com",
          "aws:PrincipalTag/EnableSageMakerMLWorkloadsPermissions": "true"
        }
      }
    },
    {
      "Sid": "SageMakerDescribeUpdateDeletePermissions",
      "Effect": "Allow",
      "Action": [
        "sagemaker:DescribeInferenceRecommendationsJob",
        "sagemaker:DescribeModelPackage",
        "sagemaker:DescribeModelPackageGroup",
        "sagemaker:UpdatePipeline",
        "sagemaker:DescribePipeline",
        "sagemaker:DescribePipelineExecution",
        "sagemaker:DescribePipelineDefinitionForExecution",
        "sagemaker:DeletePipeline",
        "sagemaker:UpdatePipelineExecution",
        "sagemaker:StartPipelineExecution",
        "sagemaker:StopPipelineExecution",
        "sagemaker:DescribeTransformJob",
        "sagemaker:StopTransformJob",
        "sagemaker:RetryPipelineExecution",
        "sagemaker:SendPipelineExecutionStepSuccess",
        "sagemaker:SendPipelineExecutionStepFailure",
        "sagemaker:DescribeHyperParameterTuningJob",
        "sagemaker:DescribeAutoMLJob",
        "sagemaker:DescribeAutoMLJobV2",
        "sagemaker:DescribeProcessingJob",
        "sagemaker:DescribeTrainingJob"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:PrincipalTag/EnableSageMakerMLWorkloadsPermissions": "true",
          "aws:ResourceTag/AmazonDataZoneProject": "${aws:PrincipalTag/AmazonDataZoneProject}"
        }
      }
    },
    {
      "Sid": "SageMakerLineageSpecialPermissions",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateContext",
        "sagemaker:CreateArtifact",
        "sagemaker:CreateAction",
        "sagemaker:AddAssociation",
        "sagemaker:DeleteAssociation",
        "sagemaker:DeleteContext",
        "sagemaker:DeleteAction",
        "sagemaker:DeleteArtifact"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:PrincipalTag/EnableSageMakerMLWorkloadsPermissions": "true",
          "aws:ResourceTag/AmazonDataZoneProject": "${aws:PrincipalTag/AmazonDataZoneProject}"
        }
      }
    },
    {
      "Sid": "SageMakerModelRegistryLineageSpecialPermissions",
      "Effect": "Allow",
      "Action": [
        "sagemaker:QueryLineage",
        "sagemaker:DescribeAction",
        "sagemaker:DescribeArtifact",
        "sagemaker:DescribeTrialComponent",
        "sagemaker:DescribeContext"
      ],
      "Resource": "*"
    },
    {
      "Sid": "SageMakerListPermissions",
      "Effect": "Allow",
      "Action": [
        "sagemaker:GetSearchSuggestions",
        "sagemaker:ListTrainingJobs",
        "sagemaker:ListTransformJobs",
        "sagemaker:ListProcessingJobs",
        "sagemaker:ListAutoMLJobs",
        "sagemaker:ListHyperParameterTuningJobs",
        "sagemaker:ListInferenceComponents",
        "sagemaker:ListEndpoints",
        "sagemaker:ListEndpointConfigs",
        "sagemaker:ListModels",
        "sagemaker:ListModelPackages",
        "sagemaker:ListModelPackageGroups",
        "sagemaker:ListModelMetadata",
        "sagemaker:ListMlflowTrackingServers",
        "sagemaker:ListArtifacts",
        "sagemaker:ListAssociations",
        "sagemaker:ListHubs",
        "sagemaker:ListPipelines",
        "sagemaker:ListContexts",
        "sagemaker:ListMlflowApps",
        "sagemaker:ListFeatureGroups",
        "scheduler:ListSchedules"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:PrincipalTag/EnableSageMakerMLWorkloadsPermissions": "true"
        }
      }
    },
    {
      "Sid": "SageMakerSearchPermissions",
      "Effect": "Allow",
      "Action": [
        "sagemaker:Search"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:PrincipalTag/EnableSageMakerMLWorkloadsPermissions": "true",
          "sagemaker:SearchVisibilityCondition/Tags.AmazonDataZoneProject/EqualsIfExists": "${aws:PrincipalTag/AmazonDataZoneProject}"
        }
      }
    },
    {
      "Sid": "SageMakerListPermissionsTagRestricted",
      "Effect": "Allow",
      "Action": [
        "sagemaker:ListCandidatesForAutoMLJob",
        "sagemaker:ListTrainingJobsForHyperParameterTuningJob",
        "sagemaker:ListHubContents",
        "sagemaker:ListPipelineExecutionSteps",
        "sagemaker:ListPipelineExecutions",
        "sagemaker:ListPipelineParametersForExecution"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:PrincipalTag/EnableSageMakerMLWorkloadsPermissions": "true",
          "aws:ResourceTag/AmazonDataZoneProject": "${aws:PrincipalTag/AmazonDataZoneProject}"
        }
      }
    },
    {
      "Sid": "SageMakerPublicHubReadPermissions",
      "Effect": "Allow",
      "Action": [
        "sagemaker:DescribeHub",
        "sagemaker:DescribeHubContent",
        "sagemaker:ListHubContents"
      ],
      "Resource": [
        "arn:aws:sagemaker:*:aws:hub/SageMakerPublicHub",
        "arn:aws:sagemaker:*:aws:hub-content/SageMakerPublicHub/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:PrincipalTag/EnableSageMakerMLWorkloadsPermissions": "true"
        }
      }
    },
    {
      "Sid": "SageMakerECRPermissions",
      "Effect": "Allow",
      "Action": [
        "ecr:BatchGetImage",
        "ecr:DescribeImages",
        "ecr:GetDownloadUrlForLayer"
      ],
      "Resource": "arn:aws:ecr:*:*:repository/*"
    },
    {
      "Sid": "SageMakerECRGetAuthorizationTokenPermissions",
      "Effect": "Allow",
      "Action": [
        "ecr:GetAuthorizationToken"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "AmazonSageMakerModelRegistryResourceGroupGetPermission",
      "Effect": "Allow",
      "Action": [
        "resource-groups:GetGroupQuery"
      ],
      "Resource": "arn:aws:resource-groups:*:*:group/*",
      "Condition": {
        "StringEquals": {
          "aws:PrincipalTag/EnableSageMakerMLWorkloadsPermissions": "true",
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "AmazonSageMakerModelRegistryResourceGroupListPermission",
      "Effect": "Allow",
      "Action": [
        "resource-groups:ListGroupResources"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:PrincipalTag/EnableSageMakerMLWorkloadsPermissions": "true"
        }
      }
    },
    {
      "Sid": "AmazonSageMakerModelRegistryResourceGroupWritePermission",
      "Effect": "Allow",
      "Action": [
        "resource-groups:CreateGroup",
        "resource-groups:Tag"
      ],
      "Resource": "arn:aws:resource-groups:*:*:group/*",
      "Condition": {
        "Null": {
          "aws:ResourceTag/sagemaker:collection": "false"
        },
        "StringEquals": {
          "aws:PrincipalTag/EnableSageMakerMLWorkloadsPermissions": "true",
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "AmazonSageMakerModelRegistryResourceGroupDeletePermission",
      "Effect": "Allow",
      "Action": [
        "resource-groups:DeleteGroup"
      ],
      "Resource": "arn:aws:resource-groups:*:*:group/*",
      "Condition": {
        "Null": {
          "aws:ResourceTag/sagemaker:collection": "false"
        },
        "StringEquals": {
          "aws:PrincipalTag/EnableSageMakerMLWorkloadsPermissions": "true",
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "SageMakerMLFlowModelRegistrationPermission",
      "Effect": "Allow",
      "Action": [
        "sagemaker:DescribeModelPackageGroup"
      ],
      "Resource": "arn:aws:sagemaker:*:*:model-package-group/*",
      "Condition": {
        "StringEquals": {
          "aws:PrincipalTag/EnableSageMakerMLWorkloadsPermissions": "true"
        }
      }
    },
    {
      "Sid": "SageMakerStudioCreatePresignedDomainUrlForUserProfile",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreatePresignedDomainUrl"
      ],
      "Resource": "arn:aws:sagemaker:*:*:user-profile/*/${aws:PrincipalTag/datazone:userId}",
      "Condition": {
        "StringEquals": {
          "aws:PrincipalTag/EnableSageMakerMLWorkloadsPermissions": "true",
          "aws:ResourceTag/AmazonDataZoneProject": "${aws:PrincipalTag/AmazonDataZoneProject}"
        }
      }
    },
    {
      "Sid": "SageMakerStudioCreatePresignedDomainUrlForTaggedUserProfile",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreatePresignedDomainUrl"
      ],
      "Resource": "arn:aws:sagemaker:*:*:user-profile/*",
      "Condition": {
        "StringEquals": {
          "aws:PrincipalTag/EnableSageMakerMLWorkloadsPermissions": "true",
          "aws:ResourceTag/AmazonDataZoneProject": "${aws:PrincipalTag/AmazonDataZoneProject}",
          "aws:ResourceTag/AmazonDataZoneUser": "${aws:PrincipalTag/datazone:userId}"
        }
      }
    },
    {
      "Sid": "UnscopedListAndRead",
      "Effect": "Allow",
      "Action": [
        "sagemaker:ListApps",
        "sagemaker:ListDomains",
        "sagemaker:ListUserProfiles",
        "sagemaker:ListSpaces"
      ],
      "Resource": "*"
    },
    {
      "Sid": "ACCreateHarnessEndpoint",
      "Effect": "Allow",
      "Action": "bedrock-agentcore:CreateHarnessEndpoint",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/AmazonDataZoneProject": "${aws:PrincipalTag/AmazonDataZoneProject}"
        },
        "StringEqualsIfExists": {
          "aws:ResourceTag/AmazonDataZoneProject": "${aws:PrincipalTag/AmazonDataZoneProject}"
        }
      }
    },
    {
      "Sid": "ACTagOwnResources",
      "Effect": "Allow",
      "Action": "bedrock-agentcore:TagResource",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/AmazonDataZoneProject": "${aws:PrincipalTag/AmazonDataZoneProject}",
          "aws:ResourceTag/AmazonDataZoneProject": "${aws:PrincipalTag/AmazonDataZoneProject}"
        }
      }
    },
    {
      "Sid": "ACProjectResources",
      "Effect": "Allow",
      "Action": [
        "bedrock-agentcore:*Harness*",
        "bedrock-agentcore:*AgentRuntime",
        "bedrock-agentcore:*AgentRuntimeEndpoint",
        "bedrock-agentcore:ListAgentRuntimeEndpoints",
        "bedrock-agentcore:ListAgentRuntimeVersions",
        "bedrock-agentcore:StopRuntimeSession",
        "bedrock-agentcore:*Memory",
        "bedrock-agentcore:*MemoryRecord*",
        "bedrock-agentcore:*Event",
        "bedrock-agentcore:ListEvents",
        "bedrock-agentcore:ListActors",
        "bedrock-agentcore:ListSessions",
        "bedrock-agentcore:*Gateway",
        "bedrock-agentcore:*GatewayTarget",
        "bedrock-agentcore:*GatewayTargets",
        "bedrock-agentcore:*Dataset*",
        "bedrock-agentcore:*BatchEvaluation*",
        "bedrock-agentcore:*WorkloadIdentity",
        "bedrock-agentcore:GetWorkloadAccessToken",
        "bedrock-agentcore:GetWorkloadAccessTokenForJWT",
        "bedrock-agentcore:ListTagsForResource",
        "bedrock-agentcore:GetConfigurationBundleVersion"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/AmazonDataZoneProject": "${aws:PrincipalTag/AmazonDataZoneProject}"
        }
      }
    },
    {
      "Sid": "ACUnscopedMetadata",
      "Effect": "Allow",
      "Action": [
        "bedrock-agentcore:ListHarnesses",
        "bedrock-agentcore:ListAgentRuntimes",
        "bedrock-agentcore:ListGateways",
        "bedrock-agentcore:ListDatasets",
        "bedrock-agentcore:ListBatchEvaluations",
        "bedrock-agentcore:ListEvaluators",
        "bedrock-agentcore:ListMemories",
        "bedrock-agentcore:GetEvaluator",
        "bedrock-agentcore:ListCodeInterpreterSessions",
        "bedrock-agentcore:ListBrowserSessions"
      ],
      "Resource": "*"
    },
    {
      "Sid": "ACManagedBuiltInTools",
      "Effect": "Allow",
      "Action": [
        "bedrock-agentcore:*CodeInterpreterSession",
        "bedrock-agentcore:InvokeCodeInterpreter",
        "bedrock-agentcore:*BrowserSession",
        "bedrock-agentcore:ConnectBrowserAutomationStream"
      ],
      "Resource": [
        "arn:*:bedrock-agentcore:*:aws:code-interpreter/*",
        "arn:*:bedrock-agentcore:*:aws:browser/*"
      ]
    },
    {
      "Sid": "ProjectTaggedResourceAccess",
      "Effect": "Allow",
      "Action": [
        "sagemaker:DescribeDomain"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/AmazonDataZoneProject": "${aws:PrincipalTag/AmazonDataZoneProject}"
        }
      }
    },
    {
      "Sid": "SageMakerStudioAppDescribeJupyterLabAppActionPermissions",
      "Effect": "Allow",
      "Action": [
        "sagemaker:DescribeApp"
      ],
      "Resource": [
        "arn:aws:sagemaker:*:*:app/*/*/codeeditor/*",
        "arn:aws:sagemaker:*:*:app/*/*/CodeEditor/*",
        "arn:aws:sagemaker:*:*:app/*/*/jupyterlab/*",
        "arn:aws:sagemaker:*:*:app/*/*/JupyterLab/*"
      ]
    },
    {
      "Sid": "SageMakerStudioAppDescribeUserProfileActionPermissions",
      "Effect": "Allow",
      "Action": [
        "sagemaker:DescribeUserProfile"
      ],
      "Resource": "arn:aws:sagemaker:*:*:user-profile/*/${aws:PrincipalTag/datazone:userId}",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/AmazonDataZoneProject": "${aws:PrincipalTag/AmazonDataZoneProject}"
        }
      }
    },
    {
      "Sid": "SageMakerStudioAppDescribeTaggedUserProfilePermissions",
      "Effect": "Allow",
      "Action": [
        "sagemaker:DescribeUserProfile"
      ],
      "Resource": "arn:aws:sagemaker:*:*:user-profile/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/AmazonDataZoneProject": "${aws:PrincipalTag/AmazonDataZoneProject}",
          "aws:ResourceTag/AmazonDataZoneUser": "${aws:PrincipalTag/datazone:userId}"
        }
      }
    },
    {
      "Sid": "SMStudioAppDescribeSpaceActionPermissions",
      "Effect": "Allow",
      "Action": [
        "sagemaker:DescribeSpace"
      ],
      "Resource": "*"
    },
    {
      "Sid": "SageMakerTagPermissions",
      "Effect": "Allow",
      "Action": [
        "sagemaker:AddTags",
        "sagemaker:DeleteTags"
      ],
      "Resource": "*",
      "Condition": {
        "ForAllValues:StringLike": {
          "aws:TagKeys": [
            "ProjectUserTag*",
            "sagemaker*",
            "sm-jumpstart*",
            "endpoint-has-jumpstart-model"
          ]
        },
        "ForAllValues:StringNotLike": {
          "aws:TagKeys": [
            "AmazonDataZone*",
            "sagemaker:shared-with:*"
          ]
        },
        "StringEquals": {
          "aws:ResourceTag/AmazonDataZoneProject": "${aws:PrincipalTag/AmazonDataZoneProject}"
        }
      }
    },
    {
      "Sid": "SageMakerStudioAllowCreatingDeletingOwnerUserProfile",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateUserProfile",
        "sagemaker:DeleteUserProfile",
        "sagemaker:UpdateUserProfile"
      ],
      "Resource": "arn:aws:sagemaker:*:*:user-profile/*/${aws:PrincipalTag/datazone:userId}",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/AmazonDataZoneProject": "${aws:PrincipalTag/AmazonDataZoneProject}"
        }
      }
    },
    {
      "Sid": "SageMakerStudioAllowCreatingDeletingTaggedOwnerUserProfile",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateUserProfile",
        "sagemaker:DeleteUserProfile",
        "sagemaker:UpdateUserProfile"
      ],
      "Resource": "arn:aws:sagemaker:*:*:user-profile/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/AmazonDataZoneProject": "${aws:PrincipalTag/AmazonDataZoneProject}",
          "aws:ResourceTag/AmazonDataZoneUser": "${aws:PrincipalTag/datazone:userId}"
        }
      }
    },
    {
      "Sid": "SageMakerStudioRestrictPrivateSpaceToOwnerUserProfile",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateSpace",
        "sagemaker:UpdateSpace",
        "sagemaker:DeleteSpace"
      ],
      "Resource": "arn:aws:sagemaker:*:*:space/*",
      "Condition": {
        "ArnLike": {
          "sagemaker:OwnerUserProfileArn": "arn:aws:sagemaker:*:*:user-profile/*/${aws:PrincipalTag/datazone:userId}"
        },
        "StringEquals": {
          "aws:ResourceTag/AmazonDataZoneProject": "${aws:PrincipalTag/AmazonDataZoneProject}",
          "sagemaker:SpaceSharingType": [
            "Private"
          ]
        }
      }
    },
    {
      "Sid": "SageMakerStudioRestrictPrivateSpaceToOwnerUser",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateSpace",
        "sagemaker:UpdateSpace",
        "sagemaker:DeleteSpace"
      ],
      "Resource": "arn:aws:sagemaker:*:*:space/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/AmazonDataZoneProject": "${aws:PrincipalTag/AmazonDataZoneProject}",
          "aws:ResourceTag/AmazonDataZoneUser": "${aws:PrincipalTag/datazone:userId}",
          "sagemaker:SpaceSharingType": [
            "Private"
          ]
        }
      }
    },
    {
      "Sid": "SageMakerStudioRestrictPrivateSpaceAppsToOwnerUserProfile",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateApp",
        "sagemaker:DeleteApp"
      ],
      "Resource": [
        "arn:aws:sagemaker:*:*:app/*/*/codeeditor/*",
        "arn:aws:sagemaker:*:*:app/*/*/CodeEditor/*",
        "arn:aws:sagemaker:*:*:app/*/*/jupyterlab/*",
        "arn:aws:sagemaker:*:*:app/*/*/JupyterLab/*"
      ],
      "Condition": {
        "ArnLike": {
          "sagemaker:OwnerUserProfileArn": "arn:aws:sagemaker:*:*:user-profile/*/${aws:PrincipalTag/datazone:userId}"
        },
        "StringEquals": {
          "aws:ResourceTag/AmazonDataZoneProject": "${aws:PrincipalTag/AmazonDataZoneProject}",
          "sagemaker:SpaceSharingType": [
            "Private"
          ]
        }
      }
    },
    {
      "Sid": "SageMakerStudioRestrictPrivateSpaceAppsToOwnerUser",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateApp",
        "sagemaker:DeleteApp"
      ],
      "Resource": [
        "arn:aws:sagemaker:*:*:app/*/*/CodeEditor/*",
        "arn:aws:sagemaker:*:*:app/*/*/codeeditor/*",
        "arn:aws:sagemaker:*:*:app/*/*/jupyterlab/*",
        "arn:aws:sagemaker:*:*:app/*/*/JupyterLab/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/AmazonDataZoneProject": "${aws:PrincipalTag/AmazonDataZoneProject}",
          "aws:ResourceTag/AmazonDataZoneUser": "${aws:PrincipalTag/datazone:userId}",
          "sagemaker:SpaceSharingType": [
            "Private"
          ]
        }
      }
    },
    {
      "Sid": "AllowStartSessionForSpaceRemoteConnection",
      "Effect": "Allow",
      "Action": [
        "sagemaker:StartSession"
      ],
      "Resource": "arn:aws:sagemaker:*:*:space/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/AmazonDataZoneProject": "${aws:PrincipalTag/AmazonDataZoneProject}",
          "aws:ResourceTag/AmazonDataZoneUser": "${aws:PrincipalTag/datazone:userId}"
        }
      }
    },
    {
      "Sid": "PublishSagemakerMetric",
      "Effect": "Allow",
      "Action": [
        "cloudwatch:PutMetricData"
      ],
      "Resource": "*",
      "Condition": {
        "StringLike": {
          "cloudwatch:namespace": "/aws/sagemaker/*"
        }
      }
    },
    {
      "Sid": "ManageSageMakerEndpointsAutoscalingAlarms",
      "Effect": "Allow",
      "Action": [
        "cloudwatch:DescribeAlarms"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "MutateSageMakerEndpointsAutoscalingAlarms",
      "Effect": "Allow",
      "Action": [
        "cloudwatch:PutMetricAlarm",
        "cloudwatch:DeleteAlarms"
      ],
      "Resource": "arn:aws:cloudwatch:*:*:alarm:TargetTracking*",
      "Condition": {
        "StringEquals": {
          "aws:CalledViaLast": "application-autoscaling.amazonaws.com",
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "SSMPermissions",
      "Effect": "Allow",
      "Action": [
        "ssm:GetParameter",
        "ssm:GetParameters",
        "ssm:GetParametersByPath"
      ],
      "Resource": "arn:aws:ssm:*::parameter/aws/service/sagemaker-distribution/*"
    },
    {
      "Sid": "SageMakerJumpstartS3Access",
      "Effect": "Allow",
      "Action": [
        "s3:GetObject"
      ],
      "Resource": [
        "arn:aws:s3:::jumpstart-cache-prod-*/*"
      ],
      "Condition": {
        "StringNotEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "SageMakerCrossAccountPermissions",
      "Effect": "Allow",
      "Action": [
        "sagemaker:DescribeModelPackage",
        "sagemaker:DescribeModelPackageGroup",
        "sagemaker:BatchDescribeModelPackage",
        "sagemaker:ListModelPackages",
        "sagemaker:CreateModel"
      ],
      "Resource": "*",
      "Condition": {
        "StringNotEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "SageMakerListTagsRestrictionOnSharedResources",
      "Effect": "Allow",
      "Action": [
        "sagemaker:ListTags"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/AmazonDataZoneProject": "${aws:PrincipalTag/AmazonDataZoneProject}"
        }
      }
    },
    {
      "Sid": "SageMakerFeatureStorePermission",
      "Effect": "Allow",
      "Action": [
        "sagemaker:*Feature*",
        "sagemaker:*Record"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/AmazonDataZoneProject": "${aws:PrincipalTag/AmazonDataZoneProject}"
        }
      }
    },
    {
      "Sid": "SageMakerAutoScalingPermissionsWithserviceNamespace",
      "Effect": "Allow",
      "Action": [
        "application-autoscaling:DeregisterScalableTarget",
        "application-autoscaling:PutScalingPolicy",
        "application-autoscaling:PutScheduledAction",
        "application-autoscaling:RegisterScalableTarget"
      ],
      "Resource": "arn:aws:application-autoscaling:*:*:scalable-target/*",
      "Condition": {
        "StringEquals": {
          "application-autoscaling:service-namespace": "sagemaker",
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "SageMakerAutoScalingPermissions",
      "Effect": "Allow",
      "Action": [
        "application-autoscaling:DescribeScalableTargets",
        "application-autoscaling:DescribeScalingActivities",
        "application-autoscaling:DescribeScalingPolicies",
        "application-autoscaling:DescribeScheduledActions"
      ],
      "Resource": "arn:aws:application-autoscaling:*:*:scalable-target/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "SageMakerSLRForAutoScalingPermissions",
      "Effect": "Allow",
      "Action": "iam:CreateServiceLinkedRole",
      "Resource": "arn:aws:iam::*:role/aws-service-role/sagemaker.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_SageMakerEndpoint",
      "Condition": {
        "StringLike": {
          "iam:AWSServiceName": "sagemaker.application-autoscaling.amazonaws.com"
        }
      }
    },
    {
      "Sid": "SageMakerKmsPermissions",
      "Effect": "Allow",
      "Action": [
        "kms:CreateGrant"
      ],
      "Resource": "arn:aws:kms:*:*:key/${aws:PrincipalTag/KmsKeyId}",
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        },
        "StringLike": {
          "kms:ViaService": [
            "sagemaker.*.amazonaws.com"
          ]
        }
      }
    },
    {
      "Sid": "S3AGObjectRead",
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:GetObjectVersion",
        "s3:GetObjectAcl",
        "s3:GetObjectVersionAcl",
        "s3:ListMultipartUploadParts"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "ArnEquals": {
          "s3:AccessGrantsInstanceArn": [
            "arn:aws:s3:*:*:access-grants/default"
          ]
        },
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "S3AGObjectWrite",
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:PutObjectAcl",
        "s3:PutObjectVersionAcl",
        "s3:DeleteObject",
        "s3:DeleteObjectVersion",
        "s3:AbortMultipartUpload"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "ArnEquals": {
          "s3:AccessGrantsInstanceArn": [
            "arn:aws:s3:*:*:access-grants/default"
          ]
        },
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "S3AGBucketLevelReadPermissions",
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::*"
      ],
      "Condition": {
        "ArnEquals": {
          "s3:AccessGrantsInstanceArn": [
            "arn:aws:s3:*:*:access-grants/default"
          ]
        },
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "S3AGKMSPermissions",
      "Effect": "Allow",
      "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKey"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "ForAnyValue:StringEquals": {
          "kms:EncryptionContextKeys": "aws:s3:arn"
        },
        "StringLike": {
          "kms:ViaService": "s3.*.amazonaws.com"
        }
      }
    },
    {
      "Sid": "S3AGLocationManagement",
      "Effect": "Allow",
      "Action": [
        "s3:CreateAccessGrantsLocation",
        "s3:DeleteAccessGrantsLocation",
        "s3:GetAccessGrantsLocation"
      ],
      "Resource": [
        "arn:aws:s3:*:*:access-grants/default/*"
      ],
      "Condition": {
        "StringEquals": {
          "s3:accessGrantsLocationScope": "s3://${aws:PrincipalTag/DomainBucketName}/${aws:PrincipalTag/AmazonDataZoneDomain}/${aws:PrincipalTag/AmazonDataZoneProject}/"
        }
      }
    },
    {
      "Sid": "S3AGPermissionManagement",
      "Effect": "Allow",
      "Action": [
        "s3:CreateAccessGrant",
        "s3:DeleteAccessGrant"
      ],
      "Resource": [
        "arn:aws:s3:*:*:access-grants/default/location/*",
        "arn:aws:s3:*:*:access-grants/default/grant/*"
      ],
      "Condition": {
        "StringLike": {
          "s3:accessGrantScope": "s3://${aws:PrincipalTag/DomainBucketName}/${aws:PrincipalTag/AmazonDataZoneDomain}/${aws:PrincipalTag/AmazonDataZoneProject}/*"
        }
      }
    },
    {
      "Sid": "CrossAccountS3AGResourceSharingPermissions",
      "Effect": "Allow",
      "Action": [
        "ram:CreateResourceShare"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        },
        "StringEqualsIfExists": {
          "ram:RequestedResourceType": [
            "s3:AccessGrants"
          ]
        }
      }
    },
    {
      "Sid": "CrossAccountS3AGResourceSharingPolicyPermissions",
      "Effect": "Allow",
      "Action": [
        "s3:PutAccessGrantsInstanceResourcePolicy"
      ],
      "Resource": "arn:aws:s3:*:*:access-grants/default",
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "S3AGTaggingPermission",
      "Effect": "Allow",
      "Action": [
        "s3:TagResource",
        "s3:ListTagsForResource"
      ],
      "Resource": [
        "arn:aws:s3:*:*:access-grants/default/location/*",
        "arn:aws:s3:*:*:access-grants/default/grant/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "ConsumerS3AGPermission",
      "Effect": "Allow",
      "Action": [
        "s3:GetAccessGrantsInstance",
        "s3:GetAccessGrantsInstanceForPrefix",
        "s3:GetDataAccess",
        "s3:ListAccessGrants",
        "s3:ListCallerAccessGrants",
        "ram:GetResourceShareInvitations"
      ],
      "Resource": "*"
    },
    {
      "Sid": "MLAccountDiscovery",
      "Effect": "Allow",
      "Action": [
        "airflow-serverless:ListWorkflow*",
        "airflow-serverless:ListTask*"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AirflowServerlessPermissions",
      "Effect": "Allow",
      "Action": [
        "airflow-serverless:CreateWorkflow",
        "airflow-serverless:DeleteWorkflow",
        "airflow-serverless:GetTaskInstance",
        "airflow-serverless:GetWorkflow",
        "airflow-serverless:GetWorkflowRun",
        "airflow-serverless:ListTagsForResource",
        "airflow-serverless:StartWorkflowRun",
        "airflow-serverless:StopWorkflowRun",
        "airflow-serverless:TagResource",
        "airflow-serverless:UntagResource",
        "airflow-serverless:UpdateWorkflow"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/AmazonDataZoneProject": "${aws:PrincipalTag/AmazonDataZoneProject}"
        }
      }
    },
    {
      "Sid": "AirflowCloudwatchLogsActions",
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogStream",
        "logs:CreateLogGroup",
        "logs:PutLogEvents",
        "logs:GetLogEvents",
        "logs:GetLogRecord",
        "logs:GetLogGroupFields",
        "logs:GetQueryResults"
      ],
      "Resource": [
        "arn:aws:logs:*:*:log-group:/aws/mwaa-serverless/${aws:PrincipalTag/AmazonDataZoneDomain}-${aws:PrincipalTag/AmazonDataZoneProject}/*"
      ]
    },
    {
      "Sid": "WorkflowsCreateGrant",
      "Effect": "Allow",
      "Action": [
        "kms:CreateGrant"
      ],
      "Resource": "arn:aws:kms:*:*:key/${aws:PrincipalTag/KmsKeyId}",
      "Condition": {
        "ForAllValues:StringEquals": {
          "kms:GrantOperations": [
            "Decrypt",
            "Encrypt",
            "GenerateDataKey",
            "GenerateDataKeyWithoutPlaintext",
            "RetireGrant"
          ]
        },
        "ForAnyValue:StringEquals": {
          "kms:EncryptionContextKeys": "aws:airflow-serverless:workflow-arn"
        },
        "StringLike": {
          "kms:ViaService": "airflow-serverless.*.amazonaws.com"
        }
      }
    },
    {
      "Sid": "WorkflowsKms",
      "Effect": "Allow",
      "Action": [
        "kms:Decrypt",
        "kms:Encrypt",
        "kms:GenerateDataKey",
        "kms:GenerateDataKeyWithoutPlaintext"
      ],
      "Resource": "arn:aws:kms:*:*:key/${aws:PrincipalTag/KmsKeyId}",
      "Condition": {
        "ForAnyValue:StringEquals": {
          "kms:EncryptionContextKeys": "aws:airflow-serverless:workflow-arn"
        }
      }
    },
    {
      "Sid": "CreateSLR",
      "Effect": "Allow",
      "Action": "iam:CreateServiceLinkedRole",
      "Resource": [
        "arn:aws:iam::*:role/aws-service-role/airflow-serverless.amazonaws.com/AWSServiceRoleForAmazonMWAAServerless",
        "arn:*:iam::*:role/aws-service-role/sagemaker.amazonaws.com/AWSServiceRoleForAmazonSageMakerNotebooks",
        "arn:aws:iam::*:role/aws-service-role/runtime-identity.bedrock-agentcore.amazonaws.com/AWSServiceRoleForBedrockAgentCoreRuntimeIdentity",
        "arn:aws:iam::*:role/aws-service-role/network.bedrock-agentcore.amazonaws.com/AWSServiceRoleForBedrockAgentCoreNetwork",
        "arn:aws:iam::*:role/aws-service-role/bedrock-agentcore.amazonaws.com/AWSServiceRoleForBedrockAgentCoreGatewayNetwork",
        "arn:aws:iam::*:role/aws-service-role/identity-network.bedrock-agentcore.amazonaws.com/AWSServiceRoleForBedrockAgentCoreIdentity"
      ]
    },
    {
      "Sid": "DataZoneUserPermissions",
      "Effect": "Allow",
      "Action": [
        "datazone:GenerateCode",
        "datazone:CreateAsset*",
        "datazone:Get*",
        "datazone:CreateListingChangeSet",
        "datazone:CreateSubscriptionRequest",
        "datazone:RevokeSubscription",
        "datazone:List*",
        "datazone:Search*",
        "datazone:*Message*",
        "datazone:*Conversation*",
        "datazone:*Cell*",
        "datazone:*Notebook*",
        "datazone:*Compute*",
        "datazone:*Agent*",
        "datazone:*DataApp*"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AthenaSession",
      "Effect": "Allow",
      "Action": [
        "athena:GetSessionEndpoint",
        "athena:GetResourceDashboard",
        "athena:TagResource"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/AmazonDataZoneProject": "${aws:PrincipalTag/AmazonDataZoneProject}"
        }
      }
    },
    {
      "Sid": "SQLWorkBenchMLActionsWithResourceType",
      "Effect": "Allow",
      "Action": [
        "sqlworkbench:GetConnection"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/AmazonDataZoneProject": "${aws:PrincipalTag/AmazonDataZoneProject}",
          "aws:ResourceTag/sqlworkbench-resource-owner": "${aws:userid}"
        }
      }
    },
    {
      "Sid": "ACIdentityDirectory",
      "Effect": "Allow",
      "Action": [
        "bedrock-agentcore:CreateWorkloadIdentity",
        "bedrock-agentcore:DeleteWorkloadIdentity"
      ],
      "Resource": "arn:*:bedrock-agentcore:*:*:workload-identity-directory/default",
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "ACGatewayWorkloadIdentity",
      "Effect": "Allow",
      "Action": "bedrock-agentcore:CreateWorkloadIdentity",
      "Resource": "arn:*:bedrock-agentcore:*:*:workload-identity-directory/default/workload-identity/*",
      "Condition": {
        "Null": {
          "aws:ResourceTag/AmazonDataZoneProject": "true"
        },
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "ACUnscoped",
      "Effect": "Allow",
      "Action": [
        "xray:GetTraceSegmentDestination",
        "xray:GetSamplingRules",
        "xray:GetSamplingTargets",
        "xray:PutTraceSegments",
        "xray:PutTelemetryRecords",
        "tag:GetResources"
      ],
      "Resource": "*"
    },
    {
      "Sid": "ACLogsQuery",
      "Effect": "Allow",
      "Action": [
        "logs:StartQuery",
        "logs:GetQueryResults"
      ],
      "Resource": [
        "arn:aws:logs:*:*:log-group:/aws/bedrock-agentcore/runtimes/*",
        "arn:aws:logs:*:*:log-group:aws/spans"
      ],
      "Condition": {
        "ForAnyValue:StringEquals": {
          "aws:CalledVia": "bedrock-agentcore.amazonaws.com"
        },
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "ACLogRetention",
      "Effect": "Allow",
      "Action": "logs:PutRetentionPolicy",
      "Resource": "arn:aws:logs:*:*:log-group:/aws/bedrock-agentcore/*",
      "Condition": {
        "ForAnyValue:StringEquals": {
          "aws:CalledVia": "bedrock-agentcore.amazonaws.com"
        },
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "ACResourcePolicy",
      "Effect": "Allow",
      "Action": [
        "logs:PutResourcePolicy"
      ],
      "Resource": "arn:aws:logs:*:*:log-group:/aws/bedrock-agentcore/runtimes/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "SSOReadOnlyPermissions",
      "Effect": "Allow",
      "Action": [
        "identitystore:DescribeUser",
        "identitystore:DescribeGroup",
        "sso:DescribeInstance",
        "sso:DescribeApplication"
      ],
      "Resource": "*",
      "Condition": {
        "Bool": {
          "aws:ViaAWSService": "true"
        }
      }
    }
  ]
}

Version history

Current version v47, edited by AWS on 2026-10-29. 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/SageMakerStudioProjectRoleMachineLearningPolicy
aws iam attach-user-policy --user-name USER_NAME --policy-arn arn:aws:iam::aws:policy/SageMakerStudioProjectRoleMachineLearningPolicy
aws iam attach-group-policy --group-name GROUP_NAME --policy-arn arn:aws:iam::aws:policy/SageMakerStudioProjectRoleMachineLearningPolicy

CloudFormation

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

Terraform

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

CDK (TypeScript)

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

Sources

Pending editorial review. No editorial sources are listed yet.