IBM's Azure Foundry Enterprise Kit

Policy Guide

Overview

The Enterprise Kit uses declarative policy packs to govern agent behavior, enforced through the Azure AI Foundry Control Plane and Agent 365 governance in audit or enforce modes. Policies are defined in JSON or YAML files in the policy-packs/ directory and are referenced by agent manifests. Data boundary policies integrate with Azure Policy definitions and Microsoft Purview DLP for enterprise-grade compliance. MCP Fleet Governance extends policy enforcement to tool lifecycle management across all MCP servers.

Policy Packs

Data Boundary Policy

Controls geographic and classification constraints on data that agents can access and process:

{
  "policy_id": "data-boundary-001",
  "allowed_regions": ["eastus", "eastus2", "westus2"],
  "data_classification": ["public", "internal", "confidential"],
  "prohibited_transfers": ["cross-tenant", "external-storage"],
  "pii_handling": "mask-and-log"
}

Identity Policy (Microsoft Entra ID)

Enforces RBAC roles, conditional access, and authentication requirements via Microsoft Entra ID:

{
  "policy_id": "entra-identity-001",
  "required_roles": ["AI.Agent.Operator"],
  "mfa_required": true,
  "conditional_access": {
    "trusted_locations_only": true,
    "device_compliance": "required"
  }
}

Escalation Policy

Defines rules for when and how agents must escalate to human operators:

escalation_rules:
  - trigger: confidence_below
    threshold: 0.6
    action: escalate_to_human
    channel: teams
  - trigger: policy_violation
    action: block_and_notify
    channel: pagerduty
  - trigger: sensitive_data_detected
    action: require_approval
    approver_role: DataPrivacyOfficer

Memory Retention Policy

retention_rules:
  session_memory:
    ttl: 24h
    purge_on_session_end: true
  persistent_memory:
    ttl: 90d
    review_cycle: 30d
    pii_auto_redact: true
  audit_memory:
    ttl: 7y
    immutable: true

Toolbox Allowlist Policy

agent_classes:
  retrieval:
    allowed_tool_types:
      - azure_ai_search
      - file_search
    denied_tool_types:
      - code_interpreter
      - mcp_write
  action:
    allowed_tool_types:
      - azure_ai_search
      - mcp_read
      - mcp_write
    require_approval_for:
      - mcp_write

Policy Evaluation

Policies are evaluated at three points in the agent lifecycle, leveraging the Azure AI Foundry Control Plane:

  1. Deployment time — Manifest validation checks policy compliance before Azure Foundry agent creation
  2. Runtime — Policy engine evaluates each tool call and response against active policies
  3. Fleet-wide (Foundry Control Plane) — Continuous compliance enforcement in audit or enforce mode across all deployed agents

Azure Policy Integration

Data boundary policies deploy as Azure Policy definitions that enforce geographic and classification constraints at the Azure resource level:

# Deploy Azure Policy for data boundary enforcement
az policy definition create \
  --name "agent-data-boundary" \
  --rules policy-packs/data-boundary/azure-policy-rules.json \
  --params policy-packs/data-boundary/azure-policy-params.json

az policy assignment create \
  --name "agent-data-boundary-assignment" \
  --policy "agent-data-boundary" \
  --scope "/subscriptions/{subscription-id}"

Creating Custom Policies

  1. Create a JSON/YAML file in the appropriate policy-packs/ subdirectory
  2. Follow the schema for the policy type (data-boundary, identity, escalation, etc.)
  3. Reference the policy pack in your agent manifest under spec.governance.policy_pack
  4. Test with the Policy Compliance Evaluator before deploying