Under active development Content is continuously updated and improved · Last updated Feb 18, 2026, 2:55 AM UTC

Identity & Access Management

IAM policies, least-privilege access, cross-service security, and privilege escalation prevention for Bedrock.

Under Construction: This guidance is being actively developed and verified. Content may change.

Authoritative Sources

Key guidance documents from authoritative organizations. Click to view the original source.

Amazon Bedrock follows the AWS shared responsibility model, outlining security of the cloud vs. security in the cloud. The security guidance covers data protection, IAM configuration, incident response, resilience, and monitoring topics for Bedrock workloads.

Configuration Examples(5)

·

Kwatra & Kaushik (Packt, 2024) present an IAM governance checklist for Bedrock: audit access patterns with CloudTrail and IAM Access Analyzer, implement ABAC using resource tags (e.g., Env:Dev), enforce permissions boundaries, restrict models via SCPs at the Organizations level, establish user lifecycle policies to prevent permissions creep, and build a job-role matrix mapping roles to Bedrock actions like InvokeModel and ListFoundationModels.

With iam:PassRole, bedrock-agentcore:CreateCodeInterpreter, and bedrock-agentcore:InvokeCodeInterpreter permissions, an adversary can create and invoke a Bedrock AgentCore code interpreter with a more privileged role, executing arbitrary code with that role's permissions to escalate to administrator privileges.

Customer Configuration Responsibilities

Configuration tasks the customer owns in the shared responsibility model. Use the verification commands below to validate settings.

1. Identity and Access Management (IAM)

Control who can access Bedrock resources and ensure privileged access is constrained.

IAM policies for Bedrock actions

Create and attach identity-based policies that restrict Bedrock actions to the minimum required.

AC-3 AC-6

Service roles for Bedrock access

Create roles that Bedrock can assume to access S3, KMS, or other resources on your behalf.

AC-3 AC-6 IA-2

Least privilege access

Use IAM Identity Center or IAM to grant only necessary permissions per user or role.

AC-6

Multi-factor authentication (MFA)

Enforce MFA for privileged and console access.

IA-2 IA-5

Temporary credentials

Prefer short-lived credentials via AWS STS over long-term access keys.

IA-2 IA-5

Condition keys and ABAC

Use tag-based conditions and attribute-based access control to scope access.

AC-3 AC-6

Restrict iam:PassRole for Bedrock AgentCore

Prevent privilege escalation by restricting iam:PassRole combined with bedrock-agentcore:CreateCodeInterpreter and bedrock-agentcore:InvokeCodeInterpreter. An adversary with these permissions can execute arbitrary code under a passed role.

AC-3 AC-6

8. Cross-Service Security

Protect against confused deputy issues and over-privileged roles.

Confused deputy prevention

Use aws:SourceAccount and aws:SourceArn in trust policies.

AC-3 AC-6

Service role permissions

Scope permissions for Bedrock-assumed roles to least privilege.

AC-6

Verification Commands

Commands and queries for testing and verifying security configurations.

IAM & Access

8 commands
IAM: List roles to audit Bedrock access CLI
aws iam list-roles --query "Roles[?contains(RoleName, `Bedrock`)].RoleName" --output table
IAM: Inspect role trust policy CLI
aws iam get-role --role-name ROLE_NAME --query "Role.AssumeRolePolicyDocument"
IAM: List attached role policies CLI
aws iam list-attached-role-policies --role-name ROLE_NAME
IAM: List inline role policies CLI
aws iam list-role-policies --role-name ROLE_NAME
IAM: Check account MFA status CLI
aws iam get-account-summary --query "SummaryMap.AccountMFAEnabled"
IAM: Find console users without MFA CLI
aws iam generate-credential-report && sleep 3 && aws iam get-credential-report --query Content --output text | base64 -d | awk -F, "NR>1 && $4==\"true\" && $8==\"false\" {print $1}"
IAM: List role tags (ABAC) CLI
aws iam list-role-tags --role-name ROLE_NAME
STS: Verify caller identity (temporary credentials) CLI
aws sts get-caller-identity