Implement Sovereign Landing Zone (SLZ) controls
The Sovereign Landing Zone (SLZ) implementation is available for the Azure landing zone accelerator Bicep starter module.
The SLZ deployment using the Bicep accelerator follows the same overall pattern as the Terraform accelerator:
- Bootstrap the delivery environment.
- Overlay the SLZ-specific configuration.
- Update deployment inputs.
- Deploy through the generated CI/CD workflow.
The Bicep implementation uses a compact SLZ package containing only the files required to add the sovereign management groups and policies.
Follow the Azure landing zone accelerator user guide:
- Complete Phase 0 - Planning and choose Bicep as the IaC type and
- Select Version Control System (VCS) - GitHub or Azure DevOps
- Complete Phase 1 - Prerequisites.
- Start Phase 2 - Bootstrap and apply the SLZ Bicep deployment package before you continue with deployment.
- Complete Phase 3 - Run.
- Iterate, customize, and extend your landing zone through your chosen version control system and CI/CD pipelines.
Copy the SLZ .config and templates files over the top of your existing accelerator configuration. This will add the necessary configuration files to enable the SLZ management groups and policies, and replace existing files only where the source and destination paths match. Run the following PowerShell script during bootstrap after your accelerator configuration is created and before you continue with deployment:
$tempFolderName = "~/accelerator/temp"
New-Item -ItemType "directory" $tempFolderName
$tempFolder = Resolve-Path -Path $tempFolderName
git clone -n --depth=1 --filter=tree:0 "https://github.com/Azure/alz-bicep-accelerator" "$tempFolder"
cd $tempFolder
$configFolderPath = "examples/slz/.config"
$templatesFolderPath = "examples/slz/templates"
git sparse-checkout set --no-cone $configFolderPath $templatesFolderPath
git checkout
cd ~
Copy-Item `
-Path "$tempFolder/$configFolderPath/*" `
-Destination "~/accelerator/config/.config" `
-Recurse `
-Force
Copy-Item `
-Path "$tempFolder/$templatesFolderPath/*" `
-Destination "~/accelerator/config/templates" `
-Recurse `
-Force
Remove-Item -Path $tempFolder -Recurse -Force
The SLZ package is sourced from:
This copy operation overlays only the SLZ-specific files into the existing .config and templates folders. Existing files with the same paths are replaced, and the rest of the generated accelerator configuration is left as-is.
