When defining permissions or identities in IaC (ARM/CloudFormation/templates), ensure the security configuration matches the actual runtime auth path and the provider’s supported identity types—avoid “declared-but-unused” privileges and avoid “wrong-scope” resources that create authorization or authentication drift.
Apply this checklist:
deploymentScripts supports UserAssigned, not SystemAssigned). Configure identities accordingly.Example (identity type fix):
{
"type": "Microsoft.Resources/deploymentScripts",
"apiVersion": "2020-10-01",
"name": "WaitSection",
"location": "<location>",
"kind": "AzurePowerShell",
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"<resourceId-of-user-assigned-mi>": {}
}
}
}
If the script doesn’t need identity, omit identity entirely rather than forcing an unsupported identity configuration.