Amazon Bedrock
Vendor key: aws_bedrock. In Arthur this source appears as AWS Bedrock. For how source fields and scan configs fit together, see Agent Discovery Integrations.
Lists the Bedrock agents and AgentCore agent runtimes in one AWS account and the regions you name. It also reads CloudTrail management events for the IAM roles and users that call Bedrock models directly, and reports each one as an agent in each region it called from, with the models it called. To cover more accounts, add one source for each.
Arthur treats calls made through IAM Identity Center (SSO) roles and by the root user as calls made by people, so it doesn't report them. A call that IAM refused isn't counted as a model call.
Source fields
| Field | Required | Sensitive | Default | Description |
|---|---|---|---|---|
regions | Yes* | No | Comma-separated AWS regions to read, for example us-east-1,us-west-2. | |
list_agents | No | No | true | true or false. Lists Bedrock agents and AgentCore agent runtimes. |
read_cloudtrail | No | No | true | true or false. Finds workloads that call Bedrock models directly, from CloudTrail management events. No trail setup is needed. |
role_arn | No | No | An IAM role to assume before reading, for another account or for a credential with no Bedrock permissions of its own. For example arn:aws:iam::123456789012:role/arthur-discovery. | |
external_id | No | No | The external ID the role's trust policy requires. Sent only when assuming role_arn. | |
access_key_id | No | Yes | An IAM access key ID. Set it together with secret_access_key. | |
secret_access_key | No | Yes | The secret of the IAM access key. |
* Every scan needs at least one region. The field is marked optional only so that sources saved before it existed still load.
Leave access_key_id and secret_access_key empty only if your Arthur engine is configured to use its own AWS credentials (ARTHUR_ENGINE_AWS_BEDROCK_ALLOW_DEFAULT_CREDENTIALS=true). If you turn off both list_agents and read_cloudtrail, the scan fails, because it would read nothing.
Scan config
| Setting | Value |
|---|---|
query | "" |
query_language | none |
lookback_window_seconds | Agents and agent runtimes ignore it: every scan returns all of them. CloudTrail is read over this window. 0 reads the last 7 days. |
Required permissions
bedrock:ListAgentsandbedrock-agentcore:ListAgentRuntimes. Needed only iflist_agentsis on.cloudtrail:LookupEvents. Needed only ifread_cloudtrailis on.sts:AssumeRoleonrole_arn. Needed only if you setrole_arn.
For least privilege, grant a custom policy with just these actions. Arthur never calls GetAgent or GetAgentRuntime, which return an agent's prompt and a runtime's environment variables, so you don't need to grant them.
If AWS refuses one of these calls in a region, or AgentCore doesn't run in a region, the scan logs a warning and reads the rest. If the credential is refused, or every call is refused, the scan fails.
Updated 1 day ago