You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Docs/integrating-with-alz-library.md
+63-38Lines changed: 63 additions & 38 deletions
Original file line number
Diff line number
Diff line change
@@ -1,45 +1,15 @@
1
-
# Integrating EPAC with the Azure Landing Zones Library
1
+
# Integrating EPAC with the Azure Landing Zones Library (New)
2
2
3
-
The [Azure Landing Zones Library](https://azure.github.io/Azure-Landing-Zones-Library/) contains the source of all policy definitions, set definition and assignments for not only the Azure Landing Zone deployment but associated projects such as the Azure Monitor Baseline Alerts and Sovereign Landing Zone accelerator. Previous integration with EPAC involved manually updating the assignments provided and was complex and difficult to maintain.
4
-
5
-
This new method of maintaining and deploying the policies provides the following benefits: -
6
-
7
-
- One process for ALZ / AMBA / SLZ instead of separate processes.
8
-
- Pin to a version of the library by specifying a tag during sync - or refer to an already cloned copy.
9
-
- Modify the cloned repository to add new assignments, management group archetypes, parameters.
10
-
- A single file provides the default values for the policy assignments making it easier to maintain. Add new parameter values as required.
11
-
12
-
## Why and when should you use EPAC to manage ALZ deployed policies
13
-
14
-
EPAC can be used to manage Azure Policy deployed using ALZ Bicep or Terraform using the scenarios below. Some reasons you may want to switch to EPAC policy management include:
15
-
16
-
- You have existing unmanaged policies in a brownfield environment that you want to deploy in the new ALZ environment. [Export the existing policies](start-extracting-policy-resources.md) and manage them with EPAC alongside the ALZ policy objects.
17
-
- You have ALZ deployed in a non standard way e.g. multiple management group structures for testing, non-conventional management group structure. The default assignment structure provided by other ALZ deployment methods may not fit your strategy.
18
-
- A team that is not responsible for infrastructure deployment e.g. a security team may want to deploy and manage policies.
19
-
- You require features from policy not available in the ALZ deployments e.g. policy exemptions, documentation, assignment customization.
20
-
- Non-compliance reporting and remediation task management.
21
-
22
-
## Recommendation for existing deployment using EPAC
23
-
24
-
If you already use the `Sync-ALZPolicies` command you should move to the new process as the assignments are no longer being maintained. Follow the instructions below to create a policy structure file and then perform a sync. The main difference existing users will notice is there is that all the assignments have been split out into single files instead of the existing structure. For ease of use these are now grouped into folders based on landing zone archetypes.
25
-
26
-
## Scenarios
27
-
28
-
1. Existing Azure Landing Zones deployment and EPAC is to be used as the policy engine moving forward.
29
-
2. Using EPAC to deploy and manage the Azure Landing Zone policies.
30
-
31
-
In both cases it is now recommended that if you have the default ALZ policies deployed you should use the new method to provide a consistent sync process.
32
-
33
-
## Using the new Azure Landing Zone Library sync process
34
-
35
-
### Pre-requisites
3
+
## Pre-requisites
36
4
37
5
To use the ALZ policies in an environment successfully there are some Azure Resources that need to be created. This is normally completed by using one of the ALZ accelerators to deploy the environment however if you have written your own code or modified the default deployment ensure you have the following resources in place to support the ALZ policies.
38
6
39
7
- Log Analytics workspace
40
8
- DCR rules to support monitoring - [data collection rule templates](https://github.com/Azure/Enterprise-Scale/tree/main/eslzArm/resourceGroupTemplates)
41
9
- User Assigned Managed Identity to support Azure Monitor Agent - [sample template](https://github.com/Azure/Enterprise-Scale/blob/main/eslzArm/resourceGroupTemplates/userAssignedIdentity.json)
42
10
11
+
## Using the new Azure Landing Zone Library sync process
12
+
43
13
### Create a policy default structure file
44
14
45
15
This file contains information that drives the sync process. The file includes management group IDs, default enforcement mode, and parameter values. **It must be generated at least once before executing the sync process.**
@@ -48,8 +18,8 @@ This file contains information that drives the sync process. The file includes m
48
18
2. Use to code to clone the library repository and create the default file. There are examples below on how to run this commnand - you will only need to run one of these depending on your requirements.
49
19
50
20
```ps1
51
-
# Create a default file for ALZ policies using the latest version of the ALZ Library
@@ -95,9 +65,11 @@ Modify the default enforcement mode
95
65
"enforcementMode": "Default"// Can be Default or DoNotEnforce
96
66
```
97
67
68
+
### Sync with ALZ Policy Repo
69
+
98
70
The next command will generate policy assignments based on the values in this file so ensure they are correct for your environment.
99
71
100
-
4. Use to code to sync the policy files and update scopes and parameters based on the information in the previously created file. There are examples below on how to run this command - you will only need to run one of these depending on your requirements. The files will be copied into their own folder to separate them from any definitions already in the repository.
72
+
1. Use to code to sync the policy files and update scopes and parameters based on the information in the previously created file. There are examples below on how to run this command - you will only need to run one of these depending on your requirements. The files will be copied into their own folder to separate them from any definitions already in the repository.
101
73
102
74
```ps1
103
75
# Sync the ALZ policies and assign to the "epac-dev" PAC environment.
Carefully review the generated policy assigments and ensure all parameter and scope information is correct.
117
89
118
-
5. When complete run `Build-DeploymentPlans` to ensure the correct changes are made. During the first sync for either a new or existing environment there will be many changes due to updating of the existing policies.
90
+
2. When complete run `Build-DeploymentPlans` to ensure the correct changes are made. During the first sync for either a new or existing environment there will be many changes due to updating of the existing policies.
91
+
92
+
## Example
93
+
94
+
### ALZ
95
+
96
+
```ps1
97
+
# Create a Pac Environment default file for ALZ policies using the latest version of the ALZ Library
For users interested in deploying the [Azure Monitor Baseline Alerts](https://azure.github.io/azure-monitor-baseline-alerts/welcome/) project with EPAC - these policies have been extracted and converted to the EPAC format and are available at the [amba-export](https://github.com/anwather/amba-export) repository.
107
+
108
+
```ps1
109
+
# Create a Pac Environment default file for ALZ policies using the latest version of the ALZ Library
For users interested in deploying the [Sovereignty Policy Baseline](https://github.com/Azure/sovereign-landing-zone/blob/main/docs/scenarios/Sovereignty-Baseline-Policy-Initiatives.md) project with EPAC - these policies have been extracted and converted to the EPAC format and are available at the [spb-export](https://github.com/anwather/spb-export) repository.
119
+
120
+
```ps1
121
+
# Create a Pac Environment default file for ALZ policies using the latest version of the ALZ Library
Using the format of the Azure Landing Zones repository it is possible to extend the management groups defined and provide your own archetypes. You must maintain a local copy of the library for this purpose. Details will be provided at a later stage on how to customize this for different scenarios including:
123
131
124
132
- Modifying the management group structure (add new groups and archetypes)
125
133
- Add/Remove policies from an archetype
134
+
135
+
### Maintaining multiple ALZ/AMBA environment with different parameter / management group values
136
+
137
+
If you need to have separate parameter values or different management group names for different PAC environments you can follow steps below.
138
+
139
+
1. Generate a policy structure file using `New-ALZPolicyDefaultStructure` and specify the `-PacEnvironmentSelector` parameter.
140
+
141
+
This generates a standard file structure however the file's name will now include the Pac Selector given. This default structure will now be used everytime you run the "Sync-ALZPolicyFromLibrary" command with the matching PacEnvironmentSelector.
142
+
143
+
For example: -
144
+
145
+
```
146
+
alz.policy_default_structure.<PAC SELECTOR>.jsonc
147
+
```
148
+
149
+
2. When syncing policies run the `Sync-ALZPolicyFromLibrary` once for each PAC Environment. A folder specific for that Pac Selector will now be placed within the ALZ Type.
Azure Landing Zones (ALZ) are a set of best practices, templates, and resources provided by Microsoft to help organizations set up a secure, scalable, and compliant foundation in Azure. They are part of the broader Cloud Adoption Framework (CAF), which is Microsoft's guidance for cloud adoption across strategy, planning, readiness, governance, and management.
6
+
7
+
Microsoft publishes and maintains a [list of Policies, Policy Sets and Assignments](https://aka.ms/alz/policies) which are deployed as part of the Cloud Adoption Framework Azure Landing Zones deployment. The central repository that contains these policies acts as the source of truth for ALZ deployments via the portal, Bicep and Terraform.
8
+
9
+
To enable customers to use the Enterprise Policy as Code solution and combine Microsoft's policy recommendations there is a script which will pull the Policies, Policy Sets and Policy Assignments from the central repository and allow you to deploy them using this solution.
10
+
11
+
As the policies and assignments change in main repository the base files in this solution can be updated to match.
12
+
13
+
## Why and when should you use EPAC to manage ALZ deployed policies
14
+
15
+
EPAC can be used to manage Azure Policy deployed using ALZ Bicep or Terraform using the scenarios below. Some reasons you may want to switch to EPAC policy management include:
16
+
17
+
- You have existing unmanaged policies in a brownfield environment that you want to deploy in the new ALZ environment. [Export the existing policies](start-extracting-policy-resources.md) and manage them with EPAC alongside the ALZ policy objects.
18
+
- You have ALZ deployed in a non standard way e.g. multiple management group structures for testing, non-conventional management group structure. The default assignment structure provided by other ALZ deployment methods may not fit your strategy.
19
+
- A team that is not responsible for infrastructure deployment e.g. a security team may want to deploy and manage policies.
20
+
- You require features from policy not available in the ALZ deployments e.g. policy exemptions, documentation, assignment customization.
21
+
- Non-compliance reporting and remediation task management.
22
+
23
+
## Scenarios
24
+
25
+
1. Existing Azure Landing Zones deployment and EPAC is to be used as the policy engine moving forward.
26
+
2. Using EPAC to deploy and manage the Azure Landing Zone policies.
27
+
28
+
In both cases it is now recommended that if you have the default ALZ policies deployed you should use the [new method](integrating-with-alz-library.md) to provide a consistent sync process.
Copy file name to clipboardExpand all lines: Docs/integrating-with-alz.md
+1-28Lines changed: 1 addition & 28 deletions
Original file line number
Diff line number
Diff line change
@@ -1,31 +1,4 @@
1
-
# Integrating EPAC with Azure Landing Zones
2
-
3
-
## Rationale
4
-
5
-
Microsoft publishes and maintains a [list of Policies, Policy Sets and Assignments](https://aka.ms/alz/policies) which are deployed as part of the Cloud Adoption Framework Azure Landing Zones deployment. The central repository that contains these policies acts as the source of truth for ALZ deployments via the portal, Bicep and Terraform. A current list of policies which are deployed using these solutions is found at this link.
6
-
7
-
To enable customers to use the Enterprise Policy as Code solution and combine Microsoft's policy recommendations there is a script which will pull the Policies, Policy Sets and Policy Assignments from the central repository and allow you to deploy them using this solution.
8
-
9
-
As the policies and assignments change in main repository the base files in this solution can be updated to match.
10
-
11
-
## Why and when should you use EPAC to manage ALZ deployed policies
12
-
13
-
EPAC can be used to manage Azure Policy deployed using ALZ Bicep or Terraform using the scenarios below. Some reasons you may want to switch to EPAC policy management include:
14
-
15
-
- You have existing unmanaged policies in a brownfield environment that you want to deploy in the new ALZ environment. [Export the existing policies](start-extracting-policy-resources.md) and manage them with EPAC alongside the ALZ policy objects.
16
-
- You have ALZ deployed in a non standard way e.g. multiple management group structures for testing, non-conventional management group structure. The default assignment structure provided by other ALZ deployment methods may not fit your strategy.
17
-
- A team that is not responsible for infrastructure deployment e.g. a security team may want to deploy and manage policies.
18
-
- You require features from policy not available in the ALZ deployments e.g. policy exemptions, documentation, assignment customization.
19
-
- Non-compliance reporting and remediation task management.
20
-
21
-
Instructions are provided below for integrating with Bicep and Terraform deployments.
22
-
23
-
## Scenarios
24
-
25
-
There are two scenarios for integrating EPAC with ALZ.
26
-
27
-
1. Existing Azure Landing Zone deployment and EPAC is to be used as the policy engine moving forward.
28
-
2. Using EPAC to deploy and manage the Azure Landing Zone policies.
1
+
# Integrating EPAC with the Azure Landing Zones Library (Legacy)
0 commit comments