Amazon iconAmazonSep 28, 2026 ~6 min source read

How to enforce IAM permissions boundaries for SageMaker Unified Studio Tooling blueprints

Amazon SageMaker Unified Studio Tooling blueprints can now attach a customer-managed IAM permissions boundary to every role they create. This brief explains why that matters for organizations that require boundaries, what to configure, and how to validate the result.

Enforce IAM permissions boundaries for Amazon SageMaker Unified Studio Tooling blueprints

Share this story

Send the public story page.

Useful takeaways from this story.

If your organization enforces Service Control Policies (SCPs) that require permissions boundaries, configure PermissionsBoundaryArn on the Tooling blueprint so project creation no longer fails.

Define a customer-managed permissions boundary that scopes allowed SageMaker and related service actions and explicitly denies agent capabilities you want blocked.

Set the PermissionsBoundaryArn on the Tooling blueprint using the AWS CLI and validate that each provisioned IAM role has the boundary attached.

# Why this matters Organizations using SCPs to require a permissions boundary on every IAM role saw SageMaker Unified Studio project creation fail because the Tooling blueprint previously created roles without a boundary. The failure surfaced as a Tooling environment provisioning error and traced back to an iam:CreateRole explicit deny in the SCP. Without a fix, organizations that require boundaries couldn't adopt SageMaker Unified Studio without changing their governance.

# What changed SageMaker Unified Studio now supports supplying a customer-managed permissions boundary ARN (PermissionsBoundaryArn) on the Tooling blueprint. When configured, SageMaker attaches that boundary to every IAM role the Tooling blueprint provisions for a project. That lets accounts keep SCP-driven guardrails while allowing Unified Studio projects to deploy successfully.

# When you should use this Use a permissions boundary on the Tooling blueprint when your governance mandates boundaries on all IAM roles, or when you want to limit capabilities of Tooling-created roles. Example constraints include disabling conversational AI, agent code generation, or notebook cell execution provided by integrated agent features, while still permitting data access and SQL queries through other paths.

# Designing the permissions boundary The post provides an illustrative permissions boundary that:

  • Allows the core AWS services SageMaker Unified Studio uses (SageMaker, S3, Glue, Lake Formation, Redshift variants, Athena, Bedrock, Lambda, KMS, Secrets Manager, CloudWatch, Logs, STS AssumeRole, iam:PassRole, and required EC2 network interface actions).
  • Explicitly denies DataZone actions that enable agent-driven notebooks and conversations to block agent capabilities.

That example is for illustration only. Tailor your boundary to the principle of least privilege for your workloads and organization.

# Configure the Tooling blueprint (high level)

  1. Create a customer-managed IAM policy to use as your permissions boundary and publish it in the account.
  2. Note the policy ARN (the permissions boundary ARN) you created.
  3. Configure the Tooling blueprint to use that PermissionsBoundaryArn. The blog demonstrates doing this through the AWS Command Line Interface (AWS CLI).

# Validate enforcement after provisioning After creating a project with the Tooling blueprint configured with PermissionsBoundaryArn:

  • Inspect the IAM roles the blueprint provisioned (for example, the project IAM role and service roles created by the blueprint).
  • Confirm each role's permissions boundary is the ARN you configured.
  • If your SCPs previously caused iam:CreateRole denials, confirm that project creation proceeds without the prior 403/CREATE_FAILED CloudFormation error.

# Practical checklist

  • Create and test the boundary policy in a development account before applying it broadly.
  • Ensure the boundary allows iam:PassRole and sts:AssumeRole for the principals the blueprint needs to operate.
  • Explicitly deny any DataZone or agent actions you want to block in the boundary.
  • Use the AWS CLI to set the Tooling blueprint PermissionsBoundaryArn so the change applies at project creation.
  • Verify each provisioned role has the boundary attached and that CloudFormation stacks for Tooling do not show iam:CreateRole denies.

# Result With PermissionsBoundaryArn configured on the Tooling blueprint, organizations that require boundaries can adopt SageMaker Unified Studio without changing SCPs. Administrators gain a single control point to scope what Tooling-created roles are allowed to do while preventing agent features or other actions that the boundary explicitly denies.

More context around this story.

Loading more related stories...

Keep reading in the app

Open the app view to save this story, compare related coverage, and continue from the same source.

Open in app