Skip to main content
Version: 1.0.0

Security Groups

Runbook Azure

DOCUMENT CATEGORY: Runbook
SCOPE: Active Directory security groups
PURPOSE: Create role-based access control groups
MASTER REFERENCE: Microsoft Learn - AD Prerequisites

Status: Active

Overview

Create optional security groups for role-based access control in Azure Local administration.

What This Accomplishes

  • Role-based access control for Azure Local operations
  • Delegated administration capabilities
  • Separation of duties for different administrative roles
info

The active directory information in these documents should have been decided in the planning phase and discovery phases. These are just examples. Please update your scripts with the right OU information, right security groups, DNS, etc.

Prerequisites

  • Security Groups OU exists in Active Directory
  • Domain admin access for group creation
  • Understanding of group scope and security requirements

Variables from variables.yml

Variable PathTypeDescription
identity.active_directory.ad_security_groups_ou_pathstringOU path for security group creation
identity.active_directory.security_groups.org_prefixstringOrganization prefix for group naming
identity.active_directory.security_groups.cluster_idstringCluster identifier for group naming
identity.active_directory.security_groups.<key>.namestringFull security group name per role
identity.active_directory.security_groups.<key>.descriptionstringSecurity group description

Security Group Model

Group names follow the convention SG-{org_prefix}-{cluster_id}-AZL-{role}, built dynamically from two fields in active_directory.security_groups in variables.yml. The cluster_id suffix makes groups unique per cluster in the same domain.

YAML KeyRole SuffixLocal Group AssignmentsPurpose
azure_local_adminsAZL-AdministratorsAdministratorsFull admin access to cluster nodes
operationsAZL-OperationsRemote Management Users, Remote Desktop UsersPSRemoting + RDP; no full admin
read_onlyAZL-ReadOnlyRemote Desktop Users, Performance Monitor Users, Event Log ReadersView-only; cannot change config
wac_adminsAZL-WAC-Administrators(WAC server only)WAC full admin; not applied to cluster nodes
wac_usersAZL-WAC-Users(WAC server only)WAC standard users; not applied to cluster nodes
hyperv_adminsAZL-HyperV-AdministratorsHyper-V Administrators, Remote Management UsersVM management via PSRemoting
storage_adminsAZL-Storage-AdministratorsAdministratorsCSV and S2D management

Security Group Creation

Core Azure Local instance security groups in the enterprise Security Groups OU (pre-determined OU for security groups).

  1. Open Active Directory Users and Computers.
  2. Navigate to the enterprise Security Groups OU (for example, OU=Security Groups,OU=IAM,DC=azurelocal,DC=cloud).
  3. Right‑click OU → New → Group.
  4. Create each group (Global / Security) — replace IIC with your org_prefix and azurelocal-clus01 with your cluster_id:
  • SG-IIC-azurelocal-clus01-AZL-Administrators
  • SG-IIC-azurelocal-clus01-AZL-Operations
  • SG-IIC-azurelocal-clus01-AZL-ReadOnly
  • SG-IIC-azurelocal-clus01-AZL-WAC-Administrators
  • SG-IIC-azurelocal-clus01-AZL-WAC-Users
  • SG-IIC-azurelocal-clus01-AZL-HyperV-Administrators
  • SG-IIC-azurelocal-clus01-AZL-Storage-Administrators
  1. For each group: Properties → Protection: enable "Protect object from accidental deletion".
  2. Document intended membership policy (who owns adds/removals).

Verification

# Replace IIC / azurelocal-clus01 with your org_prefix / cluster_id
Get-ADGroup -LDAPFilter "(cn=SG-IIC-azurelocal-clus01-AZL-*)" -SearchBase $GroupsOuDn | Select-Object Name

Validation Checklist

  • Security Groups OU accessible
  • All required security groups created
  • Groups configured as Global/Security scope
  • Protection from accidental deletion enabled
  • Membership policies documented

Next Steps

After creating security groups, proceed to Task 3 - DNS Node A Records for optional DNS record creation.

Troubleshooting

Common Issues

Group Creation Fails: Check permissions and OU access.

Scope Configuration: Ensure Global scope is appropriate for your domain structure.

Protection Setting: Verify "Protect object from accidental deletion" is enabled.

Support Resources


Data verified with internal source [Azure Local Provisioning Runbook] and Docusaurus documentation release note dated 2025-12-08.



Alternatives

The procedures in this task use the scripted methods shown in the tabs above. Additional deployment methods including Azure CLI and Bash scripts are available in the azurelocal-toolkit repository under scripts/deploy/.

MethodDescription
Azure CLIPowerShell-based Azure CLI scripts for Azure resource operations
BashLinux/macOS compatible shell scripts for pipeline environments
Task 01: OU Creation↑ Part 3: On-Premises ReadinessTask 03: DNS Node A Records →

Version Control

VersionDateAuthorChanges
1.02026-01-31Azure Local CloudInitial document
1.12026-03-03Azure Local CloudStandardized runbook format

End of Task