Skip to content

Commit

Permalink
Add Diagnostic Settings for ESLite management groups
Browse files Browse the repository at this point in the history
  • Loading branch information
Springstone committed Jan 5, 2024
1 parent 1727f1b commit ade21a1
Showing 1 changed file with 47 additions and 1 deletion.
48 changes: 47 additions & 1 deletion eslzArm/eslzArm.json
Original file line number Diff line number Diff line change
Expand Up @@ -855,13 +855,28 @@
"decommissioned": "[concat(parameters('enterpriseScaleCompanyPrefix'), '-', 'decommissioned')]",
"sandboxes": "[concat(parameters('enterpriseScaleCompanyPrefix'), '-', 'sandboxes')]"
},
"mgmtGroupsLite": {
"eslzRoot": "[parameters('enterpriseScaleCompanyPrefix')]",
"platform": "[concat(parameters('enterpriseScaleCompanyPrefix'), '-', 'platform')]",
"lzs": "[concat(parameters('enterpriseScaleCompanyPrefix'), '-', 'landingzones')]",
"corp": "[concat(parameters('enterpriseScaleCompanyPrefix'), '-', 'corp')]",
"online": "[concat(parameters('enterpriseScaleCompanyPrefix'), '-', 'online')]",
"decommissioned": "[concat(parameters('enterpriseScaleCompanyPrefix'), '-', 'decommissioned')]",
"sandboxes": "[concat(parameters('enterpriseScaleCompanyPrefix'), '-', 'sandboxes')]"
},
"copy": [
{
"name": "mgmtGroupsArray",
"count": "[length(items(variables('mgmtGroups')))]",
"input": "[items(variables('mgmtGroups'))[copyIndex('mgmtGroupsArray')].value]"
},
{
"name": "mgmtGroupsESLiteArray",
"count": "[length(items(variables('mgmtGroupsLite')))]",
"input": "[items(variables('mgmtGroupsLite'))[copyIndex('mgmtGroupsESLiteArray')].value]"
}
],

// Declaring scopes that will be used for optional deployments, such as platform components (monitoring, networking, identity), policy assignments, subscription placement etc.
"scopes": {
"eslzRootManagementGroup": "[tenantResourceId('Microsoft.Management/managementGroups/', variables('mgmtGroups').eslzRoot)]",
Expand Down Expand Up @@ -1717,7 +1732,7 @@
},
{
// Deploying Diagnostic Settings to management groups if Log Analytics was deployed via a loop
"condition": "[and(or(not(empty(parameters('singlePlatformSubscriptionId'))), not(empty(parameters('managementSubscriptionId')))), equals(parameters('enableLogAnalytics'), 'Yes'))]",
"condition": "[and(empty(parameters('singlePlatformSubscriptionId')), not(empty(parameters('managementSubscriptionId'))), equals(parameters('enableLogAnalytics'), 'Yes'))]",
"type": "Microsoft.Resources/deployments",
"apiVersion": "2020-10-01",
"name": "[take(concat(variables('mgmtGroupsArray')[copyIndex()], variables('deploymentNames').diagnosticSettingsforMGsDeploymentName), 64)]",
Expand Down Expand Up @@ -1746,6 +1761,37 @@
}
}
},
{
// Deploying Diagnostic Settings to ESLite management groups if Log Analytics was deployed via a loop
"condition": "[and(not(empty(parameters('singlePlatformSubscriptionId'))), empty(parameters('managementSubscriptionId')), equals(parameters('enableLogAnalytics'), 'Yes'))]",
"type": "Microsoft.Resources/deployments",
"apiVersion": "2020-10-01",
"name": "[take(concat(variables('mgmtGroupsESLiteArray')[copyIndex()], variables('deploymentNames').diagnosticSettingsforMGsDeploymentName), 64)]",
"scope": "[concat('Microsoft.Management/managementGroups/', variables('mgmtGroupsESLiteArray')[copyIndex()])]",
"location": "[deployment().location]",
"dependsOn": [
"[resourceId('Microsoft.Resources/deployments', variables('deploymentNames').mgmtSubscriptionPlacement)]",
"[resourceId('Microsoft.Resources/deployments', variables('esLitedeploymentNames').platformLiteSubscriptionPlacement)]",
"[resourceId('Microsoft.Resources/deployments', variables('deploymentNames').monitoringDeploymentName)]",
"[resourceId('Microsoft.Resources/deployments', variables('esLiteDeploymentNames').monitoringLiteDeploymentName)]"
],
"copy": {
"name": "mgDiagSettings",
"count": "[length(variables('mgmtGroupsESLiteArray'))]"
},
"properties": {
"mode": "Incremental",
"templateLink": {
"contentVersion": "1.0.0.0",
"uri": "[variables('deploymentUris').diagnosticSettingsforManagementGroups]"
},
"parameters": {
"logAnalyticsResourceId": {
"value": "[variables('platformResourceIds').logAnalyticsResourceId]"
}
}
}
},
{
// Assigning Microsoft Cloud Security Benchmark policy to intermediate root management group if condition is true
"condition": "[and(or(not(empty(parameters('singlePlatformSubscriptionId'))), not(empty(parameters('managementSubscriptionId')))), or(equals(parameters('enableLogAnalytics'), 'Yes'), equals(parameters('enableAsc'), 'Yes')))]",
Expand Down

0 comments on commit ade21a1

Please sign in to comment.