Azure AI Foundry connector
Azure AI Foundry is Microsoft’s unified platform for building and deploying AI agents and applications. The Azure AI Foundry connector discovers AI agents created in Azure AI Foundry and governance-relevant objects including tools, knowledge bases, guardrails, connections, service accounts, and identity bindings. It supports Delete for agents; all other object classes are read-only.
Contact your Ping Identity Customer Success Outcome Manager (CSOM) or Account Executive to obtain this connector.
Retrieval of agentIdentityBinding, serviceAccount, agentConnection, and agentToolCredential is enabled through an offline inventory mechanism that requires an Agent Governance license. Contact your CSOM for details.
|
Azure AI Foundry requirements
Before you configure the connector, you must register an application with Microsoft Entra and configure the Azure AI Foundry project. You need a Microsoft Azure subscription to complete this procedure.
Register an app in Microsoft Entra
-
Sign on to the Azure portal as an administrative user.
-
Select App registrations under Azure services.
-
On the Register an application page, enter a name for the application and select the supported account types.
-
On the new registration page, make a note of the Application (client) ID and the Directory (tenant) ID.
-
Generate a client secret. Select Certificates & secrets > New client secret, enter a description, and click Add. Copy the client secret value.
-
Note the Azure subscription ID and the resource group where your Azure AI Foundry project resides.
Before you configure the connector, confirm you have the following:
| Requirement | Value |
|---|---|
Tenant ID |
Microsoft Entra tenant GUID |
Subscription ID |
Azure subscription ID |
Resource Group |
Azure Resource Group for the Foundry project |
Project Location |
Location of the Foundry project |
Client ID |
Service principal (app registration) client ID |
Client Secret |
Service principal client secret |
Agent Service Endpoint |
Azure AI Foundry project endpoint URL, for example |
Install the Azure AI Foundry 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 Azure AI Foundry 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 Azure AI Foundry Connector - 1.5.20.33.
-
Complete the Base Connector Details and any applicable Additional Options.
For a list of all configuration properties, refer to Azure AI Foundry 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 Azure AI Foundry connector uses the following configuration properties:
| Property | Type | Required | Default | Description |
|---|---|---|---|---|
|
String |
Yes |
None |
Microsoft Entra tenant GUID. |
|
String |
Yes |
None |
Azure subscription ID. |
|
String |
No |
None |
Azure Resource Group for the Foundry project. |
|
String |
No |
None |
Azure AI Foundry workspace name used for agent discovery and operations. |
|
String |
Yes |
|
Azure region where AI Foundry resources are deployed. |
|
Boolean |
Yes |
|
When |
|
String |
Conditional |
None |
Service principal (app registration) client ID. Required when |
|
GuardedString |
Conditional |
None |
Service principal client secret. Required when |
|
String |
Yes |
None |
Azure AI Foundry project endpoint URL, for example |
|
String |
No |
|
Agent discovery flavor. Use |
|
String |
No |
|
API version string used when calling the Azure AI Foundry Agents API, for example |
|
Boolean |
No |
|
Enables offline inventory scan for identity bindings, service accounts, connections, and tool credentials. When |
|
String |
No |
None |
HTTPS URL to the tools inventory JSON (Azure Blob SAS URL or Azure Function HTTP trigger URL). Required when |
|
String |
No |
None |
Local filesystem path to the tools inventory JSON. Alternative to |
|
String |
No |
None |
Optional regular expression to restrict which agents are returned during discovery based on display name. |
|
Boolean |
No |
|
When |
Example Azure AI Foundry configuration
{
"connectorRef": {
"bundleName": "org.forgerock.openicf.connectors.azureaifoundry-connector",
"bundleVersion": "[1.5.0.0,1.6.0.0)",
"connectorName": "org.forgerock.openicf.connectors.azureaifoundry.AzureAIFoundryConnector"
},
"configurationProperties": {
"tenantId": "00000000-0000-0000-0000-000000000000",
"subscriptionId": "11111111-1111-1111-1111-111111111111",
"resourceGroupName": "my-foundry-rg",
"defaultLocation": "eastus",
"clientId": "22222222-2222-2222-2222-222222222222",
"clientSecret": {
"$crypto": {
"type": "x-simple-encryption",
"value": {
"cipher": "...",
"data": "...",
"iv": "...",
"key": "openidm-sym-default"
}
}
},
"useManagedIdentity": false,
"agentServiceEndpoint": "https://myresource.services.ai.azure.com/api/projects/myproject",
"agentApiFlavor": "classic",
"identityBindingScanEnabled": false
}
}
Test the Azure AI Foundry 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/azureaifoundry?_action=test"
{
"name": "azureaifoundry",
"enabled": true,
"config": "config/provisioner.openicf/azureaifoundry",
"connectorRef": {
"bundleVersion": "[1.5.0.0,1.6.0.0)",
"bundleName": "org.forgerock.openicf.connectors.azureaifoundry-connector",
"connectorName": "org.forgerock.openicf.connectors.azureaifoundry.AzureAIFoundryConnector"
},
"displayName": "Azure AI Foundry Connector",
"objectTypes": [
"__ACCOUNT__",
"__ALL__"
],
"ok": true
}
If the command returns "ok": true, your connector has been configured correctly and can authenticate to the Azure AI Foundry API.
Azure AI Foundry remote connector
If you want to run this connector outside of PingOne Advanced Identity Cloud or IDM, you can configure the Azure AI Foundry 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 Azure AI Foundry remote connector.
Use the Azure AI Foundry connector
The Azure AI Foundry connector discovers the following resource types:
| ICF Native Type | Azure AI Foundry Resource Type | Naming Attribute | Notes |
|---|---|---|---|
|
Azure AI Foundry agent |
|
Represents one AI Foundry agent. UID is the agent ID. Supports |
|
Agent tool |
|
Represents tools attached to an AI Foundry agent. |
|
Agent knowledge base |
|
Represents knowledge bases attached to an AI Foundry agent. |
|
Derived IAM-to-agent identity binding |
|
Not a native Azure AI Foundry entity. Read from the offline inventory artifact. |
|
Agent guardrail (RAI policy) |
|
Represents the Responsible AI policy associated with an agent. |
|
Azure managed identity or service principal associated with an agent |
|
Read from the offline inventory artifact. |
|
Derived tool credential surface |
|
Read from the offline inventory artifact. |
|
Azure AI Foundry project connection |
|
Represents connections (such as to Azure OpenAI or storage) configured in the Foundry project. |
__ACCOUNT__ attributes
| Attribute | Type | Multivalued | Description |
|---|---|---|---|
|
String |
No |
Connector platform identifier. |
|
String |
No |
Azure AI Foundry agent ID. |
|
String |
No |
Agent version. |
|
String |
No |
Agent description. |
|
String |
No |
Foundation model configured for the agent. |
|
String |
No |
System prompt / instructions for the agent. |
|
String |
No |
Agent creation timestamp. |
|
String |
No |
Responsible AI policy name applied to the agent. |
|
Number |
No |
Model temperature parameter. |
|
Number |
No |
Model top-P parameter. |
|
String |
No |
Response format configuration. |
|
String |
No |
Raw tools configuration from the agent definition. |
|
String |
No |
Raw tool resources configuration. |
|
String |
No |
Forward pointer to the |
|
String |
No |
Microsoft Entra object ID associated with the agent. |
|
String |
No |
Service account or managed identity associated with the agent. |
|
String |
No |
Azure region where the agent is deployed. |
|
String |
Yes |
Forward pointers to |
|
String |
Yes |
Forward pointers to |
|
String |
Yes |
Forward pointers to |
|
String |
Yes |
Forward pointers to |
|
String |
Yes |
Forward pointers to |
|
String |
Yes |
Forward pointers to |
|
String |
Yes |
IDs of connected agents. |
agentTool attributes
| Attribute | Type | Multivalued | Description |
|---|---|---|---|
|
String |
No |
Connector platform identifier. |
|
String |
No |
Tool description. |
|
String |
No |
Tool type classification. |
|
String |
No |
Executor reference, when present. |
|
String |
No |
Schema URI, when present. |
agentKnowledgeBase attributes
| Attribute | Type | Multivalued | Description |
|---|---|---|---|
|
String |
No |
Connector platform identifier. |
|
String |
No |
Knowledge base ID. |
|
String |
No |
Knowledge base state. |
|
String |
No |
Knowledge base source type. |
|
String |
No |
Connection reference for the knowledge base source. |
agentGuardrail attributes
| Attribute | Type | Multivalued | Description |
|---|---|---|---|
|
String |
No |
Connector platform identifier. |
|
String |
No |
Guardrail ID. |
|
String |
No |
Responsible AI policy name. |
|
String |
No |
Short name for the RAI policy. |
|
String |
Yes |
Agent IDs that reference this guardrail. |
agentIdentityBinding attributes
| Attribute | Type | Multivalued | Description |
|---|---|---|---|
|
String |
No |
Connector platform identifier. |
|
String |
No |
Agent ID. |
|
String |
No |
Agent version. |
|
String |
No |
Binding kind. |
|
String |
No |
Principal reference. |
|
String |
No |
Principal object ID. |
|
String |
No |
Principal type, such as |
|
String |
No |
Azure role name. |
|
String |
No |
Azure role definition ID. |
|
String |
No |
IAM member string. |
|
String |
Yes |
Permissions associated with the binding. |
|
String |
No |
Azure RBAC scope. |
|
String |
No |
Resource ID of the scope. |
|
String |
No |
Scope type. |
|
String |
No |
Azure tenant ID. |
|
String |
No |
Azure RBAC condition, serialized as JSON. |
|
String |
No |
Source tag from the inventory artifact. |
|
String |
No |
Confidence value from the inventory artifact. |
|
Boolean |
No |
Whether the principal was expanded by the inventory process. |
serviceAccount attributes
| Attribute | Type | Multivalued | Description |
|---|---|---|---|
|
String |
No |
Connector platform identifier. |
|
String |
No |
Identity type, such as |
|
String |
No |
Identity scope. |
|
String |
No |
Service principal or managed identity object ID. |
|
String |
No |
Azure tenant ID. |
|
String |
No |
Client ID of the managed identity or service principal. |
|
String |
No |
Service account reference. |
|
String |
Yes |
Agent IDs linked to this service account. |
agentToolCredential attributes
| Attribute | Type | Multivalued | Description |
|---|---|---|---|
|
String |
No |
Tool ID. |
|
String |
No |
Tool type classification. |
|
String |
No |
Authentication type. |
|
String |
No |
Credential reference. Doesn’t contain secret material. |
|
String |
No |
Connection ID used by the tool. |
|
String |
No |
Connection name used by the tool. |
|
String |
No |
Target endpoint or resource. |
|
String |
No |
Azure resource ID backing the tool credential. |
|
String |
Yes |
Agent IDs that use this tool credential. |
agentConnection attributes
| Attribute | Type | Multivalued | Description |
|---|---|---|---|
|
String |
No |
Connector platform identifier. |
|
String |
No |
Connection type, such as |
|
String |
No |
Credentials type used by the connection. |
|
String |
No |
Connection target endpoint or resource URI. |
|
String |
No |
Azure resource ID backing the connection. |
|
Boolean |
No |
Whether this is the default connection for the project. |
OpenICF interfaces implemented by the Azure AI Foundry connector
The Azure AI Foundry connector implements the following OpenICF interfaces. You can find additional details in ICF interfaces:
- Delete
-
Deletes an object, referenced by its
uid. - 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.
Azure AI Foundry connector configuration
The Azure AI Foundry connector has the following configurable properties:
Basic configuration properties
| Property | Type | Default | Encrypted(1) | Required(2) |
|---|---|---|---|---|
|
|
|
|
Yes |
Microsoft Entra tenant ID (GUID) where Azure AI Foundry resources reside. |
||||
|
|
|
|
Yes |
Azure subscription ID that contains the Azure AI Foundry workspace. |
||||
|
|
|
|
No |
Name of the Azure Resource Group containing the workspace. |
||||
|
|
|
|
No |
Azure AI Foundry workspace name used for agent discovery and operations. |
||||
|
|
|
|
Yes |
Azure region where AI Foundry resources (agents, tools, KBs, guardrails) are deployed. |
||||
|
|
|
|
Yes |
If true, the connector authenticates using a managed identity attached to the runtime environment. If false, a service principal (clientId + clientSecret) is used. |
||||
|
|
|
|
No |
Client ID (Application ID) of a service principal when managed identity is not used. |
||||
|
|
|
Yes |
No |
Client secret for the service principal. Required only when useManagedIdentity=false. |
||||
|
|
|
|
No |
Enables scanning Azure RBAC roles to produce identity bindings. Currently optional and may require additional privileges. |
||||
|
|
|
|
No |
Optional regular expression used to restrict which agents are returned during discovery. |
||||
|
|
|
|
Yes |
Base endpoint for Azure AI Foundry Agents API, for example |
||||
|
|
|
|
No |
HTTP(S) URL pointing to the tools-inventory JSON document that includes tools, knowledge bases, guardrails, and agent relationships. |
||||
|
|
|
|
No |
Local filesystem path to the tools-inventory JSON document. Used only if |
||||
|
|
|
|
No |
Agent discovery flavor. Use |
||||
|
|
|
|
No |
API version string used when calling the Azure AI Foundry Agents API, for example |
||||
|
|
|
|
No |
When enabled, queries Microsoft Graph beta API to resolve Entra agent identity service principals and enrich agents with their Entra object IDs. Requires |
||||
(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.