Verification & Testing: Control 1.4 — Advanced Connector Policies (ACP)
Audit-ready verification guide for Control 1.4 — Advanced Connector Policies (ACP). Use the numbered checklist as the test plan and the test scenarios as repeatable procedures. Evidence artifacts are mapped to the regulations cited on the control page.
Verification Checklist
Each item below is binary pass/fail. Capture evidence (screenshot, JSON export, audit-log row) per the Evidence column.
| # | Verification step | Where | Expected | Evidence |
|---|---|---|---|---|
| 1 | Managed Environments enabled on every in-scope environment | PPAC > Manage > Environments > environment > Overview | Managed Environments = On |
Screenshot |
| 2 | Each in-scope environment is in the correct environment group with documented zone classification | PPAC > Manage > Environment groups | Environment listed in expected group | Screenshot of group Environments tab |
| 3 | ACP rule Status: Applied at the group scope | PPAC > Environment groups > [group] > Rules tab > Advanced connector policies (preview) | Header shows Status: Applied |
Screenshot |
| 4 | ACP rule Status: Applied at any single-environment scope (where used) | PPAC > environment > Security > Data and privacy > Advanced connector policies (preview) | Header shows Status: Applied |
Screenshot |
| 5 | Allowlist contents match the approved connector catalog | Same panel | Connector list = catalog for that zone | JSON export from PowerShell §6a |
| 6 | Action-level restrictions enforced on each allowlisted connector (read-only by default unless ticketed) | Expand each connector in the panel | Disallowed actions toggled off; deprecated/internal actions marked | Screenshot of one high-risk connector (e.g., SharePoint) |
| 7 | Publish rules has cascaded to every member environment | PPAC > each member environment > Settings > History | Update Managed Environment Settings event within last 24h of publish |
Screenshot |
| 8 | Mixed mode active (classic DLP still evaluating custom + HTTP) — or ACP-only mode explicitly approved | Rules tab toggle Advanced connector policies only |
Toggle = Off (mixed mode) for FSI default |
Screenshot |
| 9 | Classic DLP policy covers HTTP, HTTP w/ Entra, and custom connectors at environment scope (covers service principals) | PPAC > Policies > Data policies > policy > Scope | Scope = Add multiple environments listing the in-scope envs (not security group) |
Screenshot |
| 10 | Connector endpoint filtering configured for any allowed HTTP-class connector | Classic DLP policy > HTTP connector > Configure connector | Allowed endpoints limited to internal hosts | Screenshot |
| 11 | MCP server inventory matches approved-server list; no unapproved MCP server present in allowlist | ACP panel > MCP servers section | Only approved server IDs present | Screenshot + inventory CSV |
| 12 | Maker test confirms design-time block of a non-allowlisted certified connector | Power Automate maker portal (sign in as test maker, attempt to add a blocked connector) | Error: This connector is blocked by your administrator |
Screenshot |
| 13 | Maker test confirms cross-classification DLP block | Power Automate maker portal (attempt to use Business + Non-Business in same flow) | DLP policy violation message; flow cannot save | Screenshot |
| 14 | Purview Audit captures the ACP/DLP change events | Purview portal > Audit > Search > Activities = UpdateDlpPolicy, PublishConnectorRuleSet (or current operation names); time window covering the change |
Each change attributable to a named admin with timestamp | CSV export |
| 15 | Allowlist recertification cadence current (monthly Zone 3 / quarterly Zone 2 / annual Zone 1) | Connector catalog system | Last review date within cadence window | System report |
Test Scenario A — Blocked Certified Connector Cannot Be Added
Goal: Prove default-deny posture works in design time.
- Sign in to
https://make.powerautomate.comas a maker user assigned only to a regulated environment. - My flows > + New flow > Instant cloud flow > Manually trigger a flow > Create.
- Select + New step.
- Search for a connector that is not on the allowlist (e.g.,
Twitter/X (Twitter)). - Attempt to select the connector.
- Expected: the connector is either not surfaced or, if surfaced, displays
This connector is blocked by your administratorand cannot be added. - Capture the error banner screenshot.
If design-time enforcement is not yet GA in the maker portal under test (per the Microsoft rollout order: Power Automate → Copilot Studio → Power Apps), the block manifests at runtime instead — repeat the test by attempting to save and run a flow built outside the regulated environment and imported.
Test Scenario B — Cross-Classification DLP Block
Goal: Prove classic DLP boundary still enforces in mixed mode.
- As the same maker, create a flow that uses one Business-classified connector (e.g., SharePoint, Get items) and one Non-Business or Blocked connector (e.g.,
RSSif non-business in your tenant). - Attempt to Save.
- Expected: save fails with
Flow's connectors don't comply with data loss prevention policies. Flow is not saved or is suspended. - Capture the error message.
Test Scenario C — Action-Level Restriction Block
Goal: Prove a connector that is on the allowlist still blocks disallowed actions.
- As the maker, create a flow using SharePoint (which is allowlisted).
- Attempt to add the Delete file action (which should be turned off in the ACP allowlist).
- Expected: the action is hidden, greyed out, or selecting it returns a policy error at design or save time.
- Capture the screenshot.
Test Scenario D — MCP Server Block
Goal: Prove unapproved MCP servers are blocked at server level.
- Identify an MCP server present in the tenant that is not on the approved-server inventory.
- In Copilot Studio, attempt to add it as a tool to a test agent in a regulated environment.
- Expected: the MCP server cannot be added, or, if added, the agent fails to invoke any tool from it with a policy error.
- Capture the screenshot.
Test Scenario E — Service-Principal Connection Cannot Bypass
Goal: Prove environment-scoped DLP catches service-principal authentications.
- Identify (or stand up) a Power Automate flow authenticated via a service principal connection in a regulated environment.
- Reconfigure the flow to use a connector that is Blocked by the environment-scoped classic DLP policy.
- Expected: flow run fails with a DLP policy violation logged to Purview Audit, with the service principal as the actor.
- Capture the run-history error and the corresponding audit row.
Evidence Package for Examiners
Bundle the following per environment group, per test cycle, for FINRA / SEC / OCC examination:
acp-ruleset-<timestamp>.json— current allowlist body (PowerShell §6a) with SHA-256 inmanifest.json.- Screenshot pack — items 1–11 from the checklist.
- Test-result pack — Scenarios A–E screenshots with maker UPN, environment ID, and timestamp watermark.
- Purview Audit export —
UpdateDlpPolicy/ ACP rule changes for the period under review (CSV, signed with PowerShellGet-FileHash). - Recertification minutes — CAB or AI Governance Council meeting record approving the current allowlist with date and attendees.
- Connector catalog — current connector and MCP-server inventory listing owner, business purpose, security review date, and zone scope.
- Mixed-mode coverage proof — classic DLP policy export showing custom connector and HTTP connector scope at environment level (not security-group level).
Land the bundle in WORM-locked storage (Microsoft Purview retention-locked location or Azure Storage immutability container) per SEC 17a-4(f) and FINRA 4511.
Confirmation Sign-Off
- Checklist items 1–15 pass
- Test scenarios A–E pass and screenshots captured
- Evidence bundle landed in WORM storage with manifest hash recorded
- Power Platform Admin and AI Governance Lead countersigned the cycle
Back to Control 1.4 | Portal Walkthrough | PowerShell Setup | Troubleshooting
Updated: April 2026 | Version: v1.4.0