Hello Dev S,
Welcome to the Microsoft Q&A Platform. Thank you for reaching out & I hope you are doing well.
Here is the complete ARM template I've tried to deploy confidential ledgers with "aad security principal's" ledger role as administrator and was able to perform the operation successfully.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"ledger": {
"type": "string"
},
"principalId": {
"type": "string"
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]"
}
},
"functions": [],
"variables": {},
"resources": [{
"name": "[parameters('ledger')]",
"type": "Microsoft.ConfidentialLedger/ledgers",
"apiVersion": "2020-12-01-preview",
"location": "[parameters('location')]",
"properties": {
"ledgerType": "Public",
"aadBasedSecurityPrincipals": [{
"principalId": "[parameters('principalId')]",
"ledgerRoleName": "Administrator"
}]
}
}]
}
Portal view ledger >> properties:
And mainly if you are looking to update the AAD security principals exclusively through an ARM template, I found it is not exactly possible with ARM after exploring on it. To update them, you can use "az confidentialledger update --aad-based-security-principals" Az CLI command along with the ledger name and relevant arguments.
Reference MS Doc: https://learn.microsoft.com/en-us/cli/azure/confidentialledger?view=azure-cli-latest#az-confidentialledger-update
Hope this helps.
If the answer is helpful, please click Accept Answer and kindly upvote it. If you have any further questions about this answer, please click Comment.