backend_storage/ad.tf (27 lines of code) (raw):

data "azuread_directory_roles" "roles" {} locals { ad_role_names = toset([ "User Administrator", "Groups Administrator", "Application Administrator", ]) ad_roles = { for r in data.azuread_directory_roles.roles.roles : r.display_name => r.object_id } } resource "terraform_data" "roles_keeper" { triggers_replace = local.ad_roles } resource "azuread_directory_role_assignment" "role_binding" { for_each = local.ad_role_names directory_scope_id = "/" role_id = local.ad_roles[each.value] principal_object_id = azurerm_user_assigned_identity.bambrane_operator.principal_id lifecycle { ignore_changes = [role_id] replace_triggered_by = [terraform_data.roles_keeper] } } data "azuread_service_principal" "onees_rm" { display_name = "1ES Resource Management" }