AWS Bedrock connector
AWS Bedrock is Amazon Web Services' managed service for building and deploying AI agents. The AWS Bedrock connector is a read-only connector that discovers Bedrock agents and governance-relevant objects including aliases, action groups, knowledge bases, guardrails, identity bindings, and tool credential classifications.
Contact your Ping Identity Customer Success Outcome Manager (CSOM) or Account Executive to obtain this connector.
Retrieval of agentIdentityBinding and agentToolCredentials is enabled through an offline inventory mechanism that requires an Agent Governance license. Contact your CSOM for details.
|
AWS Bedrock requirements
The AWS Bedrock connector is read-only. It needs Bedrock read permissions and S3 read permission for the inventory bucket.
Required permissions
Use the narrowest policy your environment allows. The following is a starting point:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ReadBedrockAgents",
"Effect": "Allow",
"Action": [
"bedrock:ListAgents",
"bedrock:GetAgent",
"bedrock:ListAgentAliases",
"bedrock:GetAgentAlias",
"bedrock:ListAgentActionGroups",
"bedrock:GetAgentActionGroup",
"bedrock:ListAgentKnowledgeBases",
"bedrock:ListAgentCollaborators",
"bedrock:GetGuardrail"
],
"Resource": "*"
},
{
"Sid": "ReadBedrockInventoryArtifacts",
"Effect": "Allow",
"Action": [
"s3:GetObject"
],
"Resource": "arn:aws:s3:::<inventory-bucket>/latest/*"
}
]
}
Replace <inventory-bucket> with the name of your S3 inventory bucket (the value of the inventoryBucket configuration property, which defaults to bedrock-core-inventory).
The connector doesn’t need account-wide IAM list/read permissions when the companion inventory job is deployed. IAM scanning belongs to the inventory job, not to the connector.
Create an IAM user for explicit credentials
If useDefaultCredentialsProvider is false, create a dedicated IAM user and attach the policy above to it.
-
In the AWS console, go to IAM > Policies > Create policy.
-
On the JSON tab, paste the policy from Required permissions, then select Next.
-
Name the policy
iga-bedrock-connector-policy, then select Create policy. -
Go to IAM > Users > Create user.
-
Enter a username, for example
iga-bedrock-connector.Don’t select Provide user access to the AWS Management Console. The connector authenticates with an access key, not console sign-on. -
Select Next.
-
Under Set permissions, choose Attach policies directly.
-
Search for
iga-bedrock-connector-policy, select it, then select Next > Create user.
To create the access key:
-
Open the user, then select the Security credentials tab.
-
Select Create access key.
-
For Use case, select Application running outside AWS, then select Next.
-
Copy the access key ID and secret access key. You’ll need these for the
accessKeyIdandsecretAccessKeyconfiguration properties.
Before you configure the connector, confirm you have the following:
| Requirement | Value |
|---|---|
AWS Bedrock Agents |
Configured in the target AWS account and region |
S3 inventory bucket |
Required for identity binding and tool credential enrichment |
Companion inventory job |
Required if you want |
Install the AWS Bedrock connector
|
To check for an Advanced Identity Cloud application for this connector, refer to: |
To obtain the connector .jar file, contact your Ping Identity Customer Success Outcome Manager (CSOM) or Account Executive.
-
If you’re running the connector locally, place the
.jarfile in the/path/to/openidm/connectorsdirectory. -
If you’re using a remote connector server (RCS), place the
.jarfile in the/path/to/openicf/connectorsdirectory on the RCS.
Configure the AWS Bedrock connector
Create a connector configuration using the IDM admin UI:
-
From the navigation bar, click Configure > Connectors.
-
On the Connectors page, click New Connector.
-
On the New Connector page, type a Connector Name.
-
From the Connector Type list, select AWS Bedrock Connector - 1.5.20.33.
-
Complete the Base Connector Details and any applicable Additional Options.
For a list of all configuration properties, refer to AWS Bedrock Connector Configuration. -
Click Save.
When your connector is configured correctly, the connector displays as Active in the admin UI.
Refer to this procedure to create a connector configuration over REST.
Connection details
The AWS Bedrock connector uses the following configuration properties:
| Property | Type | Required | Default | Description |
|---|---|---|---|---|
|
String |
Yes |
|
AWS region for Bedrock and S3 calls. Deploy one connector configuration per region. |
|
String |
Yes |
None |
AWS account ID. Used to construct Bedrock Agent ARNs and relationship identifiers. |
|
Boolean |
Yes |
|
When |
|
String |
Conditional |
None |
AWS access key ID. Required when |
|
GuardedString |
Conditional |
None |
AWS secret access key. Required when |
|
String |
Yes |
|
S3 bucket containing |
|
Long |
No |
|
Cache TTL for S3 inventory artifacts. |
Example AWS Bedrock configuration
{
"connectorRef": {
"bundleName": "org.forgerock.openicf.connectors.awsbedrock-connector",
"bundleVersion": "[1.5.0.0,1.6.0.0)",
"connectorName": "org.forgerock.openicf.connectors.awsbedrock.AwsBedrockConnector"
},
"configurationProperties": {
"region": "us-east-1",
"accountId": "123456789012",
"useDefaultCredentialsProvider": false,
"accessKeyId": "AKIA...",
"secretAccessKey": {
"$crypto": {
"type": "x-simple-encryption",
"value": {
"cipher": "...",
"data": "...",
"iv": "...",
"key": "openidm-sym-default"
}
}
},
"inventoryBucket": "bedrock-core-inventory",
"bindingsCacheTtlSeconds": 300
}
}
Test the AWS Bedrock connector
Test that the configuration is correct by running the following command:
curl \
--header "X-OpenIDM-Username: openidm-admin" \
--header "X-OpenIDM-Password: openidm-admin" \
--header "Accept-API-Version: resource=1.0" \
--request POST \
"http://localhost:8080/openidm/system/awsbedrock?_action=test"
{
"name": "awsbedrock",
"enabled": true,
"config": "config/provisioner.openicf/awsbedrock",
"connectorRef": {
"bundleVersion": "[1.5.0.0,1.6.0.0)",
"bundleName": "org.forgerock.openicf.connectors.awsbedrock-connector",
"connectorName": "org.forgerock.openicf.connectors.awsbedrock.AwsBedrockConnector"
},
"displayName": "AWS Bedrock Connector",
"objectTypes": [
"__ACCOUNT__",
"__ALL__"
],
"ok": true
}
If the command returns "ok": true, your connector has been configured correctly and can authenticate to the Bedrock API.
TestOp validates connectivity by calling listAgents(). It doesn’t prove that the S3 inventory artifacts exist. Verify S3 inventory separately when validating identity bindings or tool credential records.
|
AWS Bedrock remote connector
If you want to run this connector outside of PingOne Advanced Identity Cloud or IDM, you can configure the AWS Bedrock connector as a remote connector. Java Connectors installed remotely on a Java Connector Server function identically to those bundled locally within PingOne Advanced Identity Cloud or installed locally on IDM.
Refer to Remote connectors for configuring the AWS Bedrock remote connector.
Implementation specifics
Collection architecture
The AWS Bedrock connector uses a split collection model.
Live collection runs inside the Java connector during reconciliation, calling AWS Bedrock APIs to list agents, aliases, action groups, knowledge bases, collaborators, and guardrails.
Offline collection is handled by the companion bedrock-core-tools-inventory process. That process scans IAM and related AWS resources, writes normalized JSON artifacts to S3, and the connector reads those artifacts during reconciliation. This split keeps reconciliation fast and avoids giving the connector broad IAM enumeration permissions.
Live data
| Data | AWS API family |
|---|---|
Agents |
Bedrock Agent |
Agent aliases |
Bedrock Agent |
Action groups |
Bedrock Agent |
Knowledge bases |
Bedrock Agent |
Collaborators / connected agents |
Bedrock Agent |
Guardrail details |
Bedrock |
S3 inventory data
| Artifact | S3 key | Used for |
|---|---|---|
Agent bindings |
|
|
Tool credentials |
|
|
Both artifacts are cached in memory. The cache TTL is controlled by bindingsCacheTtlSeconds.
S3 inventory behavior
| Behavior | Description |
|---|---|
Cache TTL |
Controlled by |
Cache scope |
Connector instance memory. |
Identity binding cache |
Used for |
Tool credential cache |
Used for |
Missing S3 key |
Connector logs a warning and returns no S3-backed records. Live Bedrock objects still reconcile. |
Read failure |
Connector logs an error or warning and continues with empty S3-backed data. |
Use the AWS Bedrock connector
The AWS Bedrock connector discovers the following resource types:
| ICF Native Type | AWS Bedrock Resource Type | Naming Attribute | Notes |
|---|---|---|---|
|
Bedrock Agent Alias, or Bedrock Agent when the agent has no aliases |
|
UID is |
|
Bedrock Agent Action Group |
|
Maps to action groups attached to an agent. |
|
Bedrock Agent Knowledge Base association |
|
Represents a knowledge base attached to an agent, not the standalone Bedrock Knowledge Base object. |
|
Bedrock Guardrail attached to an agent |
|
Derived from the agent’s |
|
Derived IAM-to-Bedrock invocation binding |
|
Not a native Bedrock entity. Represents who can invoke an agent or alias, derived from IAM policies and read from the S3 inventory artifact. |
|
Derived action-group credential surface |
|
Not a native Bedrock entity. Represents credential-related metadata for an action group. Read from the S3 inventory artifact. |
__ACCOUNT__ attributes
| Attribute | Type | Multivalued | Description |
|---|---|---|---|
|
String |
No |
Connector platform identifier. Current value is |
|
String |
No |
Bedrock Agent ID. |
|
String |
No |
Bedrock Agent name. |
|
String |
No |
Agent version returned by Bedrock. |
|
String |
No |
Agent status. |
|
String |
No |
Agent description. |
|
String |
No |
Foundation model configured for the agent. |
|
String |
No |
Agent resource role ARN. |
|
Integer |
No |
Idle session TTL in seconds. |
|
String |
No |
Agent creation timestamp. |
|
String |
No |
Agent update timestamp. |
|
String |
No |
Agent prepared timestamp. |
|
String |
No |
Agent ARN constructed from region, account ID, and agent ID. |
|
String |
No |
AWS region configured on this connector instance. |
|
String |
No |
Customer KMS key ARN, if present. |
|
String |
Yes |
Failure reason list from Bedrock. |
|
String |
Yes |
Recommended remediation actions from Bedrock. |
|
String |
No |
Guardrail identifier from the agent guardrail configuration. |
|
String |
No |
Guardrail version from the agent guardrail configuration. |
|
String |
Yes |
Action group IDs associated with the agent. |
|
String |
Yes |
Knowledge base IDs associated with the agent. |
|
String |
No |
Bedrock multi-agent collaboration mode. |
|
String |
Yes |
Collaborator alias ARNs returned by Bedrock. |
|
String |
No |
Alias ID. Present only on alias objects. |
|
String |
No |
Alias name. Present only on alias objects. |
|
String |
No |
Alias status. Present only on alias objects. |
|
String |
Yes |
Computed principal references from S3 identity bindings. |
|
String |
Yes |
Forward pointers to |
|
String |
Yes |
Forward pointers to |
agentTool attributes
| Attribute | Type | Multivalued | Description |
|---|---|---|---|
|
String |
No |
Connector platform identifier. |
|
String |
No |
Parent agent ID. |
|
String |
No |
Agent version used to list action groups. |
|
String |
No |
Action group ID. |
|
String |
No |
Action group name. |
|
String |
No |
Action group description. |
|
String |
No |
Action group state/status. |
|
String |
No |
Lambda executor ARN, when present. |
|
String |
No |
Bedrock system action group signature, when present. |
|
String |
No |
S3 schema URI, when present. |
agentKnowledgeBase attributes
| Attribute | Type | Multivalued | Description |
|---|---|---|---|
|
String |
No |
Connector platform identifier. |
|
String |
No |
Parent agent ID. |
|
String |
No |
Agent version used to list knowledge bases. |
|
String |
No |
Knowledge base ID. |
|
String |
No |
Knowledge base description. |
|
String |
No |
Knowledge base association state/status. |
|
String |
No |
Last update timestamp. |
agentGuardrail attributes
| Attribute | Type | Multivalued | Description |
|---|---|---|---|
|
String |
No |
Connector platform identifier. |
|
String |
No |
Parent agent ID. |
|
String |
No |
Agent version. |
|
String |
No |
Guardrail identifier. |
|
String |
No |
Guardrail version. |
|
String |
No |
Guardrail display name. |
|
String |
No |
Guardrail description. |
|
String |
No |
Guardrail state. |
|
String |
No |
Guardrail deployment status. |
|
String |
No |
Input action / filter information serialized as a string. |
|
String |
No |
Output action / filter information serialized as a string. |
agentIdentityBinding attributes
| Attribute | Type | Multivalued | Description |
|---|---|---|---|
|
String |
No |
Connector platform identifier. |
|
String |
No |
Agent ID, or wildcard marker for wildcard bindings. |
|
String |
No |
Binding kind. |
|
String |
No |
Principal reference. |
|
String |
Yes |
Permissions associated with the binding. |
agentToolCredentials attributes
| Attribute | Type | Multivalued | Description |
|---|---|---|---|
|
String |
No |
Tool credential record ID. |
|
String |
No |
Parent agent ID. |
|
String |
No |
Agent ARN. |
|
String |
No |
Agent service role ARN. |
|
String |
No |
Action group ID. |
|
String |
No |
Action group name. |
|
String |
No |
Action group state. |
|
String |
No |
Credential classification. |
|
String |
No |
Reference to the credential surface, such as a Lambda ARN or S3 URI. Doesn’t contain secret material. |
|
String |
No |
API schema source. |
|
String |
No |
Whether the action group uses a function schema. |
|
String |
No |
AWS account ID. |
|
String |
No |
AWS region. |
|
String |
No |
Lambda execution role ARN, when available. |
Troubleshooting
Connector initializes but test fails
Check:
-
regionis valid for Bedrock Agents. -
accountIdis populated. -
Explicit credentials are configured, or
useDefaultCredentialsProvider=trueand the connector runs on AWS infrastructure with an instance role, task role, or service account. -
The principal has Bedrock read permissions.
-
The target account has Bedrock Agents in the configured region.
Agents reconcile but agentPrincipals is empty
Check:
-
The companion inventory job has run successfully.
-
latest/agent-bindings.jsonexists in the configured S3 bucket. -
The connector principal can call
s3:GetObjecton the inventory key. -
bindingsCacheTtlSecondshas expired, or the connector has been restarted after a fresh inventory run. -
IAM policies actually grant
bedrock:InvokeAgentto the expected principals.
Agents reconcile but toolCredentialIds is empty
Check:
-
latest/agent-tool-credentials.jsonexists in the configured S3 bucket. -
The inventory job has permissions to inspect action groups and related credential surfaces.
-
The connector principal can read the S3 artifact.
-
The action groups are present for the same region and account as the connector configuration.
OpenICF interfaces implemented by the AWS Bedrock connector
The AWS Bedrock connector implements the following OpenICF interfaces. You can find additional details in ICF interfaces:
- Schema
-
Describes the object types, operations, and options that the connector supports.
- Search
-
Searches the target resource for all objects that match the specified object class and filter.
- Test
-
Tests the connector configuration.
Testing a configuration checks all elements of the environment that are referred to by the configuration are available. For example, the connector might make a physical connection to a host that is specified in the configuration to verify that it exists and that the credentials that are specified in the configuration are valid.
This operation might need to connect to a resource, and, as such, might take some time. Do not invoke this operation too often, such as before every provisioning operation. The test operation is not intended to check that the connector is alive (that is, that its physical connection to the resource has not timed out).
You can invoke the test operation before a connector configuration has been validated.
AWS Bedrock connector configuration
The AWS Bedrock connector has the following configurable properties:
Basic configuration properties
| Property | Type | Default | Encrypted(1) | Required(2) |
|---|---|---|---|---|
|
|
|
|
Yes |
AWS region where Bedrock Agents are deployed, for example |
||||
|
|
|
|
Yes |
AWS account ID. Used to construct Bedrock Agent ARNs and relationship identifiers. |
||||
|
|
|
|
Yes |
If enabled, the connector uses the AWS SDK DefaultCredentialsProvider chain (environment variables, shared config, EC2/ECS role). |
||||
|
|
|
|
No |
AWS access key ID used to authenticate when the default credentials provider is disabled. |
||||
|
|
|
Yes |
No |
AWS secret access key used to authenticate when the default credentials provider is disabled. |
||||
|
|
|
|
Yes |
S3 bucket containing |
||||
|
|
|
|
No |
Cache TTL in seconds for S3 inventory artifacts. |
||||
(1) Whether the property value is considered confidential, and is therefore encrypted in IDM.
(2) A list of operations in this column indicates that the property is required for those operations.