🔒 Guided

Pre-launch preview. Authorised access only.

Incorrect code

Guided by A Guide to Cloud
Explore AB-900 AI-901
Guided PL-400 Domain 1
Domain 1 — Module 2 of 5 40%
2 of 26 overall

PL-400 Study Guide

Domain 1: Create a Technical Design

  • Solution Architecture: What Goes Where Free
  • Security by Design: Auth, Roles & DLP Free
  • Designing UX Components: Canvas, PCF & Client Scripts Free
  • Designing Platform Extensions: Connectors, Plug-ins & APIs Free
  • Integration & Automation Blueprints Free

Domain 2: Build Power Platform Solutions

  • Environment Setup & Security Troubleshooting
  • Solutions & Layers: ALM Foundations
  • CI/CD Pipelines for Power Platform

Domain 3: Implement Power Apps Improvements

  • Advanced Power Fx & Canvas Components
  • Troubleshoot & Optimise Apps

Domain 4: Extend the User Experience

  • Client Scripting: Form Events & the Client API
  • Commands, Buttons & Custom Page Navigation
  • PCF Components: Build & Lifecycle
  • PCF Components: Package, Deploy & Advanced Features

Domain 5: Extend the Platform

  • The Plug-in Pipeline: How Dataverse Processes Events Free
  • Writing Plug-ins: Business Logic, Service & Registration
  • Custom APIs & Business Events
  • Custom Connectors: OpenAPI & Authentication
  • Custom Connectors: Azure, Policies & Code
  • Dataverse APIs: Web API & Organisation Service
  • Azure Functions for Power Platform
  • Cloud Flows: Dataverse Triggers & Expressions
  • Cloud Flows: Security, Errors & Child Flows

Domain 6: Develop Integrations

  • Publishing Dataverse Events
  • Service Endpoints: Webhooks, Service Bus & Event Hub
  • Data Sync: Change Tracking, Alternate Keys & Upsert

PL-400 Study Guide

Domain 1: Create a Technical Design

  • Solution Architecture: What Goes Where Free
  • Security by Design: Auth, Roles & DLP Free
  • Designing UX Components: Canvas, PCF & Client Scripts Free
  • Designing Platform Extensions: Connectors, Plug-ins & APIs Free
  • Integration & Automation Blueprints Free

Domain 2: Build Power Platform Solutions

  • Environment Setup & Security Troubleshooting
  • Solutions & Layers: ALM Foundations
  • CI/CD Pipelines for Power Platform

Domain 3: Implement Power Apps Improvements

  • Advanced Power Fx & Canvas Components
  • Troubleshoot & Optimise Apps

Domain 4: Extend the User Experience

  • Client Scripting: Form Events & the Client API
  • Commands, Buttons & Custom Page Navigation
  • PCF Components: Build & Lifecycle
  • PCF Components: Package, Deploy & Advanced Features

Domain 5: Extend the Platform

  • The Plug-in Pipeline: How Dataverse Processes Events Free
  • Writing Plug-ins: Business Logic, Service & Registration
  • Custom APIs & Business Events
  • Custom Connectors: OpenAPI & Authentication
  • Custom Connectors: Azure, Policies & Code
  • Dataverse APIs: Web API & Organisation Service
  • Azure Functions for Power Platform
  • Cloud Flows: Dataverse Triggers & Expressions
  • Cloud Flows: Security, Errors & Child Flows

Domain 6: Develop Integrations

  • Publishing Dataverse Events
  • Service Endpoints: Webhooks, Service Bus & Event Hub
  • Data Sync: Change Tracking, Alternate Keys & Upsert
Domain 1: Create a Technical Design Free ⏱ ~13 min read

Security by Design: Auth, Roles & DLP

Every Power Platform solution needs a security strategy. Learn how to design authentication flows, configure Dataverse security roles, and assess the impact of DLP policies on your solution components.

Why security architecture comes first

☕ Simple explanation

Imagine building a house without planning where the locks go.

You would not build every room, install the furniture, and then figure out which doors need locks. You plan security into the blueprint from day one — who gets a key to the front door, who can access the filing cabinet, and which rooms are restricted.

Power Platform security works the same way. You design authentication (proving who you are), authorization (what you are allowed to do), and data boundaries (which connectors can talk to each other) before writing a single line of code.

Bolt-on security is expensive, fragile, and always has gaps. Baked-in security is invisible to users and enforced at the platform level.

Power Platform security operates at multiple layers: Entra ID authentication (identity), Dataverse authorization (security roles, teams, business units, row-level sharing), DLP policies (connector grouping), and environment-level access (maker vs user permissions).

As a PL-400 developer, you must design all four layers for every solution component. Plug-ins run under application users with specific roles. Custom connectors need OAuth or API key configurations. PCF components operate within the security context of the hosting app. Cloud flows use connection references that determine which identity calls each connector.

The exam tests your ability to choose the right security pattern for each component and understand how DLP policies constrain what connectors can be combined in a single app or flow.

Authentication patterns for Power Platform

Authentication determines who is making the request. Different solution components authenticate differently.

ComponentAuthentication MethodIdentity Used
Canvas appEntra ID (automatic)Current user’s identity
Model-driven appEntra ID (automatic)Current user’s identity
Cloud flow (interactive)Connection referenceConnection owner’s identity
Cloud flow (automated)Service principal or app userApplication identity
Plug-inExecution contextCalling user or system
Custom connectorOAuth 2.0, API Key, or BasicConfigured per connection
PCF componentInherits from hosting appCurrent user’s identity
Azure Function (called from PP)Managed identity or OAuthFunction’s managed identity
💡 Exam tip: Connection references vs connections

A connection is a specific authenticated link to a service (e.g., “Elena’s SharePoint connection”). A connection reference is a solution-aware pointer that says “use whatever connection is mapped to this reference in this environment.”

Connection references are essential for ALM — they let you deploy a solution to a new environment without hardcoding connections. The exam often tests whether you know to use connection references (not raw connections) in solutions.

Dataverse security model

Dataverse security controls what users can do once authenticated. It operates through four layers that stack on top of each other.

The security stack

  1. Security roles — Define permissions (Create, Read, Write, Delete, Append, etc.) at the table and column level
  2. Teams — Group users and assign shared roles (owner teams own records; access teams share specific records)
  3. Business units — Organisational hierarchy that segments data access (users see data in their BU by default)
  4. Row sharing — Grant access to individual records beyond what roles and BUs allow
Dataverse security layers — the exam expects you to design solutions using all four
FeatureSecurity RolesTeamsBusiness UnitsRow Sharing
ScopeTable and column permissionsGroup role assignmentOrganisational data segmentationIndividual record access
GranularityUser, BU, Parent-child BU, OrganisationInherited by all team membersHierarchical (parent sees child)Specific record to specific user/team
Best forRole-based access (sales, admin, reader)Sharing permissions across departmentsMulti-division orgs with data boundariesExceptions — one-off record access
Exam focusChoosing the right access level (User vs BU vs Org)Owner teams vs access teamsWhen to create new BUs for developersPerformance impact of excessive sharing

Security roles for developers

As a PL-400 developer, you need to understand security roles from two angles:

  • Designing roles for your solution’s users (what can they access?)
  • Configuring roles for your code components (what permissions do plug-ins and flows need?)

Principle of least privilege: Every component should have only the permissions it needs. A plug-in that reads and updates Contact records should not have Organisation-level Delete permission on every table.

💡 Scenario: Elena designs security for a claims system

Elena Vasquez is the platform lead at Meridian Healthcare. She is designing security for a new claims processing app:

  • Claims agents can create and edit claims in their own business unit. They cannot see claims from other regions.
  • Claims managers can see all claims in their BU and child BUs. They can approve claims.
  • Auditors can read all claims across the organisation but cannot edit anything.
  • The automated approval flow needs to update claim status regardless of which BU owns the record.

Elena designs:

  • Claims Agent role: Create + Read + Write at Business Unit level on Claims table (BU-level lets them see all claims in their region, not just their own)
  • Claims Manager role: Read + Write at Business Unit level, Approve privilege at BU level
  • Auditor role: Read at Organisation level only
  • Application user (for the flow): Read + Write at Organisation level — using a service principal, not a user’s identity

DLP policies and their impact on development

Data Loss Prevention (DLP) policies in Power Platform group connectors into categories. They do not inspect data content — they control which connectors can be used together in a single app or flow.

Connector groups

GroupWhat it meansExample
BusinessConnectors trusted for business dataDataverse, SharePoint, Office 365
Non-businessConnectors that should not mix with business dataTwitter, personal email, public APIs
BlockedConnectors that cannot be used at allAny connector the admin explicitly blocks

The rule: A single app or flow can only use connectors from ONE group (business or non-business). If your canvas app uses Dataverse (business) and Twitter (non-business), DLP will block it.

Impact on developers

DLP policies directly affect what you can build:

  • Custom connectors may be blocked or restricted by default
  • Canvas apps that mix business and non-business connectors will fail DLP checks
  • Cloud flows with cross-group connectors will not activate
  • Solutions that include connectors in different DLP groups may fail deployment in restricted environments
💡 Exam tip: DLP scope matters

DLP policies can be scoped to specific environments or all environments. When multiple DLP policies apply to the same environment, the most restrictive policy wins.

A common exam scenario: “A developer creates a flow that works in the dev environment but fails in production.” The answer is often that the production environment has a stricter DLP policy that blocks one of the connectors.

Question

What is the principle of least privilege in Dataverse?

Click or press Enter to reveal answer

Answer

Every user, application, and code component should have only the minimum permissions required to perform its function. A plug-in that reads Contacts should not have Organisation-level Delete on all tables. This reduces risk if a component is compromised or has a bug.

Click to flip back

Question

What is the difference between an owner team and an access team in Dataverse?

Click or press Enter to reveal answer

Answer

An owner team can own records and has security roles assigned directly. An access team does not own records — it is used to share specific records with a group of users. Access teams are created per record and are lighter weight.

Click to flip back

Question

How do DLP policies affect custom connectors?

Click or press Enter to reveal answer

Answer

Custom connectors are classified as Non-business by default. If your solution uses Dataverse (Business group) and a custom connector (Non-business group), the app or flow will be blocked by DLP. An admin must reclassify the custom connector into the Business group for it to work with Dataverse.

Click to flip back

Question

What is a connection reference and why does it matter for ALM?

Click or press Enter to reveal answer

Answer

A connection reference is a solution-aware pointer to a connection. Instead of hardcoding a specific user's connection into a flow, you use a reference that can be mapped to different connections in each environment (dev, test, prod). This enables clean solution deployment across environments.

Click to flip back

Knowledge Check

Elena is deploying a claims processing solution to production. The solution includes a cloud flow that uses the Dataverse connector and a custom connector to an external fraud-detection API. The flow works in the dev environment but fails to activate in production. What is the most likely cause?

Knowledge Check

A developer needs to build a plug-in that reads Contact records and updates related Account records. Following the principle of least privilege, which security role configuration is correct for the plug-in's application user?

🎬 Video coming soon

Next up: Designing UX Components — choosing between canvas components, PCF code components, and client scripts for custom user experiences.

← Previous

Solution Architecture: What Goes Where

Next →

Designing UX Components: Canvas, PCF & Client Scripts

Guided

I learn, I simplify, I share.

A Guide to Cloud YouTube Feedback

© 2026 Sutheesh. All rights reserved.

Guided is an independent study resource and is not affiliated with, endorsed by, or officially connected to Microsoft. Microsoft, Azure, and related trademarks are property of Microsoft Corporation. Always verify information against Microsoft Learn.