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
- Open AWS IAM Console > Roles
- Find the agent's execution role
- Replace wildcard actions/resources with specific permissions
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
- Open AWS IAM Console > Roles
- Review policy statements for external account ARNs
- Replace with same-account resources or remove
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
- Open AWS Bedrock Console > Guardrails
- Create or select an appropriate guardrail
- Attach it to the agent configuration
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
- Open AWS Bedrock Console > Agents
- Review action groups and consolidate or remove unnecessary ones
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
- Open AWS IAM Console > Roles and select the knowledge base service role
- Replace wildcard actions and resources with the specific model, data source bucket and vector store ARNs the knowledge base uses
- Run an ingestion job and a retrieval test to confirm the knowledge base still works under the scoped role
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
- Open AWS IAM Console > Roles and select the flow execution role
- Replace wildcard actions and resources with the specific Lambda functions, agents, knowledge bases and models the flow's nodes invoke
- Prepare the flow and run a test invocation to confirm it still completes under the scoped role
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
- Open AWS Bedrock AgentCore Console > Gateways and select the gateway
- Edit the inbound authorization and choose AWS_IAM or CUSTOM_JWT with the identity provider's discovery URL
- Save the gateway and confirm an unauthenticated tools/list request is rejected
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
- Open AWS Bedrock AgentCore Console > Gateways and select the gateway
- Change the inbound authorizer from AUTHENTICATE_ONLY to AWS_IAM or CUSTOM_JWT with allowed audiences, clients or scopes
- Save the gateway and confirm a token outside the allowed clients is rejected
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
- Open AWS IAM Console > Roles and select the runtime's execution role
- Replace wildcard actions and resources with the specific actions and ARNs the agent calls
- Invoke the runtime and confirm the agent still completes under the scoped role
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
- Open AWS IAM Console > Roles and select the runtime's execution role
- Edit the trust policy to remove principals from other AWS accounts
- Invoke the runtime and confirm it still assumes the role
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
- Open AWS IAM Console > Roles and select the harness's execution role
- Replace wildcard actions and resources with the specific actions and ARNs the harness's tools use
- Run the harness and confirm its tools still succeed under the scoped role
Satisfies: NIS2 Directive NIS2-21.i.4 DORA (SaaS Security) DORA-9.3