Skip to content

Amazon Bedrock access control & privilege security checks

Admin roles, standing privileges, permission scopes and policy enforcement — the settings that decide how much damage one compromised account can do.

On Amazon Bedrock, Black Cat runs 11 checks in this area on every scan. Each one below lists its severity, how to fix it, and the compliance controls it satisfies where a control applies. See what access the Amazon Bedrock connector needs.

Checks (11)

severity: critical Bedrock Agent Overprivileged Execution Role fix difficulty: medium #

Apply least-privilege policies to the agent execution role

  1. Open AWS IAM Console > Roles
  2. Find the agent's execution role
  3. Replace wildcard actions/resources with specific permissions

Vendor docs ↗

Satisfies: NIS2 Directive NIS2-21.i.4 DORA (SaaS Security) DORA-9.3

severity: high Bedrock Agent Cross-Account Role fix difficulty: medium #

Remove cross-account resource references from the execution role

  1. Open AWS IAM Console > Roles
  2. Review policy statements for external account ARNs
  3. Replace with same-account resources or remove

Vendor docs ↗

Satisfies: NIS2 Directive NIS2-21.i.4 DORA (SaaS Security) DORA-9.3

severity: high Bedrock Agent No Guardrail fix difficulty: medium #

Attach a Bedrock Guardrail to this agent

  1. Open AWS Bedrock Console > Guardrails
  2. Create or select an appropriate guardrail
  3. Attach it to the agent configuration

Vendor docs ↗

Satisfies: NIS2 Directive NIS2-21.i.4 DORA (SaaS Security) DORA-9.3

severity: medium Bedrock Agent Excessive Action Groups fix difficulty: medium #

Reduce the number of action groups to 3 or fewer

  1. Open AWS Bedrock Console > Agents
  2. Review action groups and consolidate or remove unnecessary ones

Vendor docs ↗

Satisfies: NIS2 Directive NIS2-21.i.4 DORA (SaaS Security) DORA-9.3

severity: high Bedrock Knowledge Base Overprivileged Role fix difficulty: medium #

Scope the knowledge base service role to least privilege

  1. Open AWS IAM Console > Roles and select the knowledge base service role
  2. Replace wildcard actions and resources with the specific model, data source bucket and vector store ARNs the knowledge base uses
  3. Run an ingestion job and a retrieval test to confirm the knowledge base still works under the scoped role

Vendor docs ↗

Satisfies: NIS2 Directive NIS2-21.i.4 DORA (SaaS Security) DORA-9.3

severity: high Bedrock Flow Overprivileged Execution Role fix difficulty: medium #

Scope the flow execution role to least privilege

  1. Open AWS IAM Console > Roles and select the flow execution role
  2. Replace wildcard actions and resources with the specific Lambda functions, agents, knowledge bases and models the flow's nodes invoke
  3. Prepare the flow and run a test invocation to confirm it still completes under the scoped role

Vendor docs ↗

Satisfies: NIS2 Directive NIS2-21.i.4 DORA (SaaS Security) DORA-9.3

severity: high Bedrock AgentCore Gateway Without Authorizer fix difficulty: easy #

Require an inbound authorizer on the gateway

  1. Open AWS Bedrock AgentCore Console > Gateways and select the gateway
  2. Edit the inbound authorization and choose AWS_IAM or CUSTOM_JWT with the identity provider's discovery URL
  3. Save the gateway and confirm an unauthenticated tools/list request is rejected

Vendor docs ↗

Satisfies: NIS2 Directive NIS2-21.i.4 DORA (SaaS Security) DORA-9.3

severity: medium Bedrock AgentCore Gateway Authenticate-Only Authorizer fix difficulty: easy #

Replace the authenticate-only authorizer with one that authorizes callers

  1. Open AWS Bedrock AgentCore Console > Gateways and select the gateway
  2. Change the inbound authorizer from AUTHENTICATE_ONLY to AWS_IAM or CUSTOM_JWT with allowed audiences, clients or scopes
  3. Save the gateway and confirm a token outside the allowed clients is rejected

Vendor docs ↗

Satisfies: NIS2 Directive NIS2-21.i.4 DORA (SaaS Security) DORA-9.3

severity: critical Bedrock AgentCore Runtime Overprivileged Execution Role fix difficulty: medium #

Scope the runtime execution role to least privilege

  1. Open AWS IAM Console > Roles and select the runtime's execution role
  2. Replace wildcard actions and resources with the specific actions and ARNs the agent calls
  3. Invoke the runtime and confirm the agent still completes under the scoped role

Vendor docs ↗

Satisfies: NIS2 Directive NIS2-21.i.4 DORA (SaaS Security) DORA-9.3

severity: high Bedrock AgentCore Runtime Cross-Account Role fix difficulty: medium #

Restrict the runtime execution role's trust policy to the owning account

  1. Open AWS IAM Console > Roles and select the runtime's execution role
  2. Edit the trust policy to remove principals from other AWS accounts
  3. Invoke the runtime and confirm it still assumes the role

Vendor docs ↗

Satisfies: NIS2 Directive NIS2-21.i.4 DORA (SaaS Security) DORA-9.3

severity: critical Bedrock AgentCore Harness Overprivileged Execution Role fix difficulty: medium #

Scope the harness execution role to least privilege

  1. Open AWS IAM Console > Roles and select the harness's execution role
  2. Replace wildcard actions and resources with the specific actions and ARNs the harness's tools use
  3. Run the harness and confirm its tools still succeed under the scoped role

Vendor docs ↗

Satisfies: NIS2 Directive NIS2-21.i.4 DORA (SaaS Security) DORA-9.3

More Amazon Bedrock checks

The information on this page is provided for general informational purposes and is believed to be accurate as of its most recent update. Product names, logos, and trademarks are the property of their respective owners and are used for identification purposes only; their use does not imply any affiliation with or endorsement by those owners. Descriptions of third-party applications and of compliance frameworks are based on publicly available documentation and may change over time.

See these checks run on your stack

Start a free 14-day trial — no credit card required.

Start Free Trial