Verification & Testing: Control 2.1 - Managed Environments
Last Updated: January 2026
Manual Verification Steps
Test 1: Verify Managed Environment Status
- Sign in to Power Platform Admin Center
- Navigate to Environments > select target environment
- Locate the Managed environments card
- EXPECTED: Card shows "Managed environment: Yes" or enabled status
Test 2: Verify Sharing Limits Enforcement
- Sign in as a non-admin maker in the managed environment
- Create a test app or agent
- Attempt to share the app with more users than the configured limit
- EXPECTED: Sharing is blocked or constrained per configured limits
Test 3: Verify Solution Checker Enforcement (If Configured to Block)
- Create or obtain a test solution with known checker findings
- Attempt to import the solution into the managed environment
- EXPECTED: Import is blocked; solution checker results displayed
Test 4: Verify Usage Insights Delivery
- Wait for the weekly digest cycle (sent on Mondays)
- Check inboxes of configured recipients
- EXPECTED: Weekly usage digest email received with environment activity summary
Test 5: Verify Maker Welcome Content
- Sign in as a new maker (first-time access to environment)
- Navigate to Power Apps or Copilot Studio
- Select the managed environment
- EXPECTED: Welcome content dialog displays with configured governance guidance
Test 6: Verify Data Policies Applied
- In PPAC, navigate to Environments > select target environment
- Open Edit managed environments panel
- Click See active data policies for this environment
- EXPECTED: Expected DLP policies are listed as active
Test 7: Verify Cross-Tenant Restrictions
- In a test app, attempt to use a connector that accesses an external tenant
- EXPECTED: Connection blocked per cross-tenant restriction settings
Test Cases
| Test ID | Scenario | Expected Result | Pass/Fail |
|---|---|---|---|
| TC-2.1-01 | Check Managed Environment status in PPAC | Status shows enabled | |
| TC-2.1-02 | Non-admin attempts to share beyond limit | Sharing blocked | |
| TC-2.1-03 | Import solution with checker findings (Block mode) | Import blocked | |
| TC-2.1-04 | Weekly usage digest delivery | Email received by recipients | |
| TC-2.1-05 | New maker sees welcome content | Welcome dialog displays | |
| TC-2.1-06 | Verify DLP policies applied | Policies listed in panel | |
| TC-2.1-07 | Cross-tenant connector access | Blocked per configuration | |
| TC-2.1-08 | Environment Admin bypasses sharing limits | Admin can share (expected) |
Evidence Collection Checklist
Retain an evidence pack per environment. Minimum recommended artifacts:
Environment Configuration
- Screenshot: PPAC > Environment details showing Managed Environment = Yes
- Screenshot: Edit managed environments panel showing configured settings:
- Sharing limits configuration
- Solution checker level
- Usage insights recipients
- Maker welcome content
- Screenshot: Environment region showing US location
Data Policies
- Screenshot: Environment Data policies showing active DLP policy list
- Screenshot: DLP policy Environments tab showing the environment assigned
Usage Insights
- Email evidence: Weekly Usage Insights digest received by intended recipients
- Save email with message header and body
Solution Checker (If Applicable)
- Screenshot: Solution checker enforcement setting
- Screenshot: Test import blocked (if Block mode enabled)
Cross-Tenant Restrictions
- Screenshot: Privacy + Security settings showing cross-tenant configuration
PowerShell Exports
- Export: PowerShell environment config JSON snapshot
- Export: CSV inventory report of all environments
Automated Validation Script
# Run validation checks for Control 2.1
param(
[Parameter(Mandatory=$true)]
[string]$EnvironmentName
)
Write-Host "=== Control 2.1 Validation ===" -ForegroundColor Cyan
# Connect to Power Platform (interactive authentication)
Add-PowerAppsAccount
# For automated/unattended scenarios, use service principal authentication:
# $appId = "<Application-Client-ID>"
# $secret = "<Client-Secret>"
# $tenantId = "<Tenant-ID>"
# Add-PowerAppsAccount -ApplicationId $appId -ClientSecret $secret -TenantID $tenantId
# Check 1: Verify environment exists and get details
$env = Get-AdminPowerAppEnvironment -EnvironmentName $EnvironmentName
if (-not $env) {
Write-Host "[FAIL] Environment not found: $EnvironmentName" -ForegroundColor Red
exit 1
}
Write-Host "[INFO] Environment: $($env.DisplayName)" -ForegroundColor Cyan
# Check 2: Verify Managed Environment status
$protectionLevel = $env.Properties.protectionLevel
if ($protectionLevel -ne "Standard") {
Write-Host "[PASS] Managed Environment is enabled" -ForegroundColor Green
} else {
Write-Host "[FAIL] Managed Environment is NOT enabled" -ForegroundColor Red
}
# Check 3: Verify US region
$region = $env.Location
if ($region -match "unitedstates|US") {
Write-Host "[PASS] Environment is in US region: $region" -ForegroundColor Green
} else {
Write-Host "[WARN] Verify region is US-compliant: $region" -ForegroundColor Yellow
}
# Check 4: Verify environment type for production
if ($env.EnvironmentType -eq "Production") {
Write-Host "[INFO] Production environment - verify Block mode for solution checker" -ForegroundColor Cyan
}
# Check 5: Verify Dataverse status
if ($env.Properties.linkedEnvironmentMetadata) {
Write-Host "[INFO] Dataverse is provisioned - solution checker is applicable" -ForegroundColor Cyan
} else {
Write-Host "[INFO] No Dataverse - solution checker N/A, document accordingly" -ForegroundColor Cyan
}
# Summary
Write-Host "`n=== Validation Summary ===" -ForegroundColor Cyan
Write-Host "Environment: $($env.DisplayName)"
Write-Host "Type: $($env.EnvironmentType)"
Write-Host "Region: $region"
Write-Host "Managed: $(if ($protectionLevel -ne 'Standard') { 'Yes' } else { 'No' })"
Write-Host "Dataverse: $(if ($env.Properties.linkedEnvironmentMetadata) { 'Yes' } else { 'No' })"
Evidence Artifact Naming Convention
Use consistent naming for audit evidence:
Control-2.1_[EnvironmentName]_[ArtifactType]_[YYYYMMDD].[ext]
Examples:
- Control-2.1_FSI-Production_ManagedEnvPanel_20260115.png
- Control-2.1_FSI-Production_SharingLimits_20260115.png
- Control-2.1_FSI-Production_UsageDigest_20260120.eml
- Control-2.1_FSI-Production_EnvConfig_20260115.json
Attestation Statement Template
Prepare signed attestation for control owner:
## Control 2.1 Attestation - Managed Environments
**Environment:** [Environment Name]
**Control Owner:** [Name/Role]
**Date:** [Date]
I attest that:
1. The environment [Environment Name] is configured as a Managed Environment
2. Sharing limits are configured per governance zone [Zone 1/2/3]
3. Solution checker enforcement is set to [None/Warn/Block]
4. Usage insights are enabled with recipients: [List recipients]
5. Maker welcome content includes governance policy information
6. Data policies are applied and enforced
7. Evidence artifacts are retained per policy in US-only repositories
**Signature:** _______________________
**Date:** _______________________
SSPM Configuration Verification
Security Posture Assessment Test Cases
The following test cases validate configuration points flagged by security posture assessments. Each test maps to a specific setting in the Configuration Hardening Baseline.
| Test ID | Configuration Point | Expected Result | Portal Path | Evidence |
|---|---|---|---|---|
| SSPM-2.1-01 | Environment creation restriction | Set to "Only specific admins" | PPAC > Settings > Environment creation | Screenshot |
| SSPM-2.1-02 | Environment routing | Routing rules configured for new environments | PPAC > Settings > Environment routing | Screenshot |
| SSPM-2.1-03 | Tenant isolation | Tenant isolation enabled | PPAC > Settings > Tenant isolation | Screenshot |
| SSPM-2.1-04 | Security groups | Security groups assigned to Zone 2/3 environments | PPAC > Environments > {env} > Settings > Security groups | Screenshot |
Test Procedures
SSPM-2.1-01: Environment Creation Restriction
- Navigate to PPAC > Settings > Environment creation
- Verify "Who can create production and sandbox environments" is set to Only specific admins
- Pass criteria: Environment creation is restricted — not set to "Everyone" or "All licensed users"
- Evidence: Screenshot showing environment creation restriction setting
SSPM-2.1-02: Environment Routing
- Navigate to PPAC > Settings > Environment routing
- Verify routing rules are configured to direct new maker environments to managed environments
- Pass criteria: Routing rules are active and directing new environments per governance policy
- Evidence: Screenshot showing environment routing configuration with active rules
SSPM-2.1-03: Tenant Isolation
- Navigate to PPAC > Settings > Tenant isolation
- Verify tenant isolation is Enabled
- Review any configured exceptions (allowlisted tenants)
- Pass criteria: Tenant isolation is enabled; any exceptions are documented and approved
- Evidence: Screenshot showing tenant isolation toggle and exception list
SSPM-2.1-04: Security Groups
- Navigate to PPAC > Environments > select a Zone 2 or Zone 3 environment
- Open Settings > Security groups (or check the environment details panel)
- Verify a security group is assigned to restrict access
- Repeat for each Zone 2/3 environment
- Pass criteria: All Zone 2 and Zone 3 environments have a security group assigned — not "Open to all"
- Evidence: Screenshot showing security group assignment for each Zone 2/3 environment
Updated: February 2026 | Version: v1.3 | Classification: Verification Testing
Back to Control 2.1 | Portal Walkthrough | PowerShell Setup | Troubleshooting