Canada Federal PBMM blueprint sample

Important

On July 11, 2026, Blueprints (Preview) will be deprecated. Migrate your existing blueprint definitions and assignments to Template Specs and Deployment Stacks. Blueprint artifacts are to be converted to ARM JSON templates or Bicep files used to define deployment stacks. To learn how to author an artifact as an ARM resource, see:

The Canada Federal PBMM blueprint sample provides governance guardrails using Azure Policy that help you assess specific Canada Federal PBMM controls. This blueprint helps customers deploy a core set of policies for any Azure-deployed architecture that must implement controls for Canada Federal PBMM.

Control mapping

The Azure Policy control mapping provides details on policy definitions included within this blueprint and how these policy definitions map to the controls in the Canada Federal PBMM framework. When assigned to an architecture, resources are evaluated by Azure Policy for non-compliance with assigned policy definitions. For more information, see Azure Policy.

Deploy

To deploy the Azure Blueprints Canada Federal PBMM blueprint sample, the following steps must be taken:

  • Create a new blueprint from the sample
  • Mark your copy of the sample as Published
  • Assign your copy of the blueprint to an existing subscription

If you don't have an Azure subscription, create a free account before you begin.

Create blueprint from sample

First, implement the blueprint sample by creating a new blueprint in your environment using the sample as a starter.

  1. Select All services in the left pane. Search for and select Blueprints.

  2. From the Getting started page on the left, select the Create button under Create a blueprint.

  3. Find the Canada Federal PBMM blueprint sample under Other Samples and select Use this sample.

  4. Enter the Basics of the blueprint sample:

    • Blueprint name: Provide a name for your copy of the Canada Federal PBMM blueprint sample.
    • Definition location: Use the ellipsis and select the management group to save your copy of the sample to.
  5. Select the Artifacts tab at the top of the page or Next: Artifacts at the bottom of the page.

  6. Review the list of artifacts that are included in the blueprint sample. Many of the artifacts have parameters that we'll define later. Select Save Draft when you've finished reviewing the blueprint sample.

Publish the sample copy

Your copy of the blueprint sample has now been created in your environment. It's created in Draft mode and must be Published before it can be assigned and deployed. The copy of the blueprint sample can be customized to your environment and needs, but that modification may move it away from alignment with Canada Federal PBMM controls.

  1. Select All services in the left pane. Search for and select Blueprints.

  2. Select the Blueprint definitions page on the left. Use the filters to find your copy of the blueprint sample and then select it.

  3. Select Publish blueprint at the top of the page. In the new page on the right, provide a Version for your copy of the blueprint sample. This property is useful for if you make a modification later. Provide Change notes such as "First version published from the Canada Federal PBMM blueprint sample." Then select Publish at the bottom of the page.

Assign the sample copy

Once the copy of the blueprint sample has been successfully Published, it can be assigned to a subscription within the management group it was saved to. This step is where parameters are provided to make each deployment of the copy of the blueprint sample unique.

  1. Select All services in the left pane. Search for and select Blueprints.

  2. Select the Blueprint definitions page on the left. Use the filters to find your copy of the blueprint sample and then select it.

  3. Select Assign blueprint at the top of the blueprint definition page.

  4. Provide the parameter values for the blueprint assignment:

    • Basics

      • Subscriptions: Select one or more of the subscriptions that are in the management group you saved your copy of the blueprint sample to. If you select more than one subscription, an assignment will be created for each using the parameters entered.
      • Assignment name: The name is pre-populated for you based on the name of the blueprint. Change as needed or leave as is.
      • Location: Select a region for the managed identity to be created in. Azure Blueprints uses this managed identity to deploy all artifacts in the assigned blueprint. To learn more, see managed identities for Azure resources.
      • Blueprint definition version: Pick a Published version of your copy of the blueprint sample.
    • Lock Assignment

      Select the blueprint lock setting for your environment. For more information, see blueprints resource locking.

    • Managed Identity

      Leave the default system assigned managed identity option.

    • Artifact parameters

      The parameters defined in this section apply to the artifact under which it's defined. These parameters are dynamic parameters since they're defined during the assignment of the blueprint. For a full list or artifact parameters and their descriptions, see Artifact parameters table.

  5. Once all parameters have been entered, select Assign at the bottom of the page. The blueprint assignment is created and artifact deployment begins. Deployment takes roughly an hour. To check on the status of deployment, open the blueprint assignment.

Warning

The Azure Blueprints service and the built-in blueprint samples are free of cost. Azure resources are priced by product. Use the pricing calculator to estimate the cost of running resources deployed by this blueprint sample.

Artifact parameters table

The following table provides a list of the blueprint artifact parameters:

Artifact name Artifact type Parameter name Description
[Preview]: Deploy Log Analytics Agent for Linux VMs Policy assignment Log Analytics workspace for Linux VMs For more information, see Create a Log Analytics workspace in the Azure portal.
[Preview]: Deploy Log Analytics Agent for Linux VMs Policy assignment Optional: List of VM images that have supported Linux OS to add to scope An empty array may be used to indicate no optional parameters: []
[Preview]: Deploy Log Analytics Agent for Windows VMs Policy assignment Optional: List of VM images that have supported Windows OS to add to scope An empty array may be used to indicate no optional parameters: []
[Preview]: Deploy Log Analytics Agent for Windows VMs Policy assignment Log Analytics workspace for Windows VMs For more information, see Create a Log Analytics workspace in the Azure portal.
[Preview]: Audit Canada Federal PBMM controls and deploy specific VM Extensions to support audit requirements Policy assignment Log Analytics workspace ID that VMs should be configured for This is the ID (GUID) of the Log Analytics workspace that the VMs should be configured for.
[Preview]: Audit Canada Federal PBMM controls and deploy specific VM Extensions to support audit requirements Policy assignment List of resource types that should have diagnostic logs enabled List of resource types to audit if diagnostic log setting isn't enabled. Acceptable values can be found at Azure Monitor diagnostic logs schemas.
[Preview]: Audit Canada Federal PBMM controls and deploy specific VM Extensions to support audit requirements Policy assignment Administrators group Group. Example: Administrator; myUser1; myUser2
[Preview]: Audit Canada Federal PBMM controls and deploy specific VM Extensions to support audit requirements Policy assignment List of users that should be included in Windows VM Administrators group A semicolon-separated list of members that should be included in the Administrators local group. Example: Administrator; myUser1; myUser2
Deploy Advanced Threat Protection on Storage Accounts Policy assignment Effect Information about policy effects can be found at Understand Azure Policy Effects.
Deploy Auditing on SQL servers Policy assignment The value in days of the retention period (0 indicates unlimited retention) Retention days (optional, 180 days if unspecified)
Deploy Auditing on SQL servers Policy assignment Resource group name for storage account for SQL server auditing Auditing writes database events to an audit log in your Azure Storage account (a storage account is created in each region where a SQL Server is created that is shared by all servers in that region). Important - for proper operation of Auditing don't delete or rename the resource group or the storage accounts.
Deploy diagnostic settings for Network Security Groups Policy assignment Storage account prefix for network security group diagnostics This prefix is combined with the network security group location to form the created storage account name.
Deploy diagnostic settings for Network Security Groups Policy assignment Resource group name for storage account for network security group diagnostics (must exist) The resource group that the storage account is created in. This resource group must already exist.

Next steps

Additional articles about blueprints and how to use them: