SageMakerStudioProjectRoleMachineLearningPolicy
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.
| Service | Granted | Access levels and limits | Granted by |
|---|---|---|---|
| MWAA Serverless | 15 of 16 | 4 List, 4 Read, 2 Tagging, 5 Write; 11 restricted, 11 conditional | airflow-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 Scaling | 8 of 14 | 4 Read, 4 Write; 8 restricted, 8 conditional | application-autoscaling:DeregisterScalableTarget, application-autoscaling:DescribeScalableTargets, application-autoscaling:DescribeScalingActivities, application-autoscaling:DescribeScalingPolicies, application-autoscaling:DescribeScheduledActions, application-autoscaling:PutScalingPolicy, application-autoscaling:PutScheduledAction, application-autoscaling:RegisterScalableTarget |
| Athena | 3 of 86 | 1 Read, 1 Tagging, 1 Write; 3 restricted, 3 conditional | athena:GetResourceDashboard, athena:GetSessionEndpoint, athena:TagResource |
| Bedrock-Agentcore | 62 of 197 | 14 List, 2 Permissions management, 12 Read, 1 Tagging, 33 Write; 55 restricted, 54 conditional | bedrock-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 |
| CloudWatch | 3 of 160 | 1 Read, 2 Write; 3 restricted, 3 conditional | cloudwatch:DeleteAlarms, cloudwatch:DescribeAlarms, cloudwatch:PutMetricAlarm |
| DataZone | 156 of 278 | 54 List, 2 Permissions management, 60 Read, 40 Write; 0 restricted, 0 conditional | datazone:*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 |
| EC2 | 13 of 834 | 7 List, 2 Permissions management, 4 Write; 6 restricted, 6 conditional | ec2: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 Registry | 4 of 65 | 1 List, 3 Read; 4 restricted, 1 conditional | ecr:BatchGetImage, ecr:DescribeImages, ecr:GetAuthorizationToken, ecr:GetDownloadUrlForLayer |
| Elastic Container Registry Public | 1 of 23 | 1 Read; 0 restricted, 0 conditional | ecr-public:GetAuthorizationToken |
| EFS | 1 of 38 | 1 Read; 0 restricted, 0 conditional | elasticfilesystem:DescribeMountTargets |
| Glue | 1 of 306 | 1 List; 0 restricted, 0 conditional | glue:ListSessions |
| IAM | 1 of 190 | 1 Write; 1 restricted, 0 conditional | iam:CreateServiceLinkedRole |
| Identity Store | 2 of 29 | 2 Read; 2 restricted, 2 conditional | identitystore:DescribeGroup, identitystore:DescribeUser |
| KMS | 5 of 58 | 1 Permissions management, 4 Write; 5 restricted, 5 conditional | kms:CreateGrant, kms:Decrypt, kms:Encrypt, kms:GenerateDataKey, kms:GenerateDataKeyWithoutPlaintext |
| CloudWatch Logs | 11 of 133 | 1 List, 1 Permissions management, 5 Read, 4 Write; 11 restricted, 3 conditional | logs:CreateLogGroup, logs:CreateLogStream, logs:DescribeLogStreams, logs:GetLogEvents, logs:GetLogGroupFields, logs:GetLogRecord, logs:GetQueryResults, logs:PutLogEvents, logs:PutResourcePolicy, logs:PutRetentionPolicy, logs:StartQuery |
| Resource Access Manager | 2 of 39 | 1 Read, 1 Write; 1 restricted, 1 conditional | ram:CreateResourceShare, ram:GetResourceShareInvitations |
| Resource Groups | 5 of 29 | 1 List, 1 Read, 1 Tagging, 2 Write; 5 restricted, 5 conditional | resource-groups:CreateGroup, resource-groups:DeleteGroup, resource-groups:GetGroupQuery, resource-groups:ListGroupResources, resource-groups:Tag |
| S3 | 13 of 155 | 3 List, 5 Permissions management, 4 Read, 1 Tagging; 8 restricted, 8 conditional | s3: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 |
| SageMaker | 144 of 441 | 33 List, 39 Read, 2 Tagging, 70 Write; 131 restricted, 129 conditional | sagemaker:*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 MLflow | All 61 actions (see the SageMaker MLflow page) | 3 List, 17 Read, 41 Write; 61 restricted, 61 conditional | sagemaker-mlflow:* |
| EventBridge Scheduler | 1 of 13 | 1 List; 1 restricted, 1 conditional | scheduler:ListSchedules |
| SQL Workbench | 1 of 79 | 1 Read; 1 restricted, 1 conditional | sqlworkbench:GetConnection |
| Systems Manager | 3 of 164 | 3 Read; 3 restricted, 0 conditional | ssm:GetParameter, ssm:GetParameters, ssm:GetParametersByPath |
| IAM Identity Center | 2 of 126 | 2 Read; 2 restricted, 2 conditional | sso:DescribeApplication, sso:DescribeInstance |
| STS | 2 of 16 | 2 Read; 0 restricted, 0 conditional | sts:GetCallerIdentity, sts:GetServiceBearerToken |
| Resource Group Tagging | 1 of 9 | 1 Read; 0 restricted, 0 conditional | tag:GetResources |
| X-Ray | 2 of 32 | 2 Read; 0 restricted, 0 conditional | xray: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.
| Service | Granted | Access levels and limits | Granted by |
|---|---|---|---|
| Bedrock-Agentcore | 31 of 62 | 8 List, 5 Read, 18 Write; 28 restricted, 21 conditional | bedrock-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 |
| CloudWatch | 1 of 5 | 1 Write; 1 restricted, 1 conditional | cloudwatch:PutMetricData |
| S3 | 12 of 25 | 2 List, 2 Permissions management, 4 Read, 4 Write; 12 restricted, 12 conditional | s3:AbortMultipartUpload, s3:DeleteObject, s3:DeleteObjectVersion, s3:GetObject, s3:GetObjectAcl, s3:GetObjectVersion, s3:GetObjectVersionAcl, s3:ListBucket, s3:ListMultipartUploadParts, s3:PutObject, s3:PutObjectAcl, s3:PutObjectVersionAcl |
| SageMaker | 7 of 19 | 4 Read, 3 Write; 7 restricted, 7 conditional | sagemaker:*Record, sagemaker:InvokeEndpoint, sagemaker:InvokeEndpointAsync |
| X-Ray | 3 of 12 | 1 Read, 2 Write; 0 restricted, 0 conditional | xray: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.
Related policies
Same service
- AgentRegistryFullAccess
- AmazonAugmentedAIFullAccess
- AmazonAugmentedAIHumanLoopFullAccess
- AmazonAugmentedAIIntegratedAPIAccess
- AmazonBedrockMarketplaceAccess
- AmazonBraketFullAccess
- AmazonDataZoneDomainExecutionRolePolicy
- AmazonDataZoneEnvironmentRolePermissionsBoundary
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": "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/SageMakerStudioProjectRoleMachineLearningPolicyCloudFormation
Resources:
ExampleRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument: {} # replace with your trust policy
ManagedPolicyArns:
- arn:aws:iam::aws:policy/SageMakerStudioProjectRoleMachineLearningPolicyTerraform
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.