modules/azure-identity/azure-rbac/main.tf (33 lines of code) (raw):

terraform { required_providers { azuread = { source = "hashicorp/azuread" } azurerm = { source = "hashicorp/azurerm" } } } locals { # needs Built-in Azure Role assigned odbaa_built_in_role_assigned_groups = var.odbaa_built_in_role_assigned_groups # doesn't need Built-in Azure Role assigned odbaa_other_groups = var.odbaa_other_groups group_to_role_mapping = var.role_mapping } data "azurerm_subscription" "primary" { } resource "azuread_group" "odbaa-required-azure-role-assignment-group" { display_name = each.key security_enabled = true for_each = local.odbaa_built_in_role_assigned_groups } resource "azurerm_role_assignment" "rbac-role-assignment" { scope = data.azurerm_subscription.primary.id role_definition_name = local.group_to_role_mapping[each.value.display_name] principal_id = each.value.object_id for_each = azuread_group.odbaa-required-azure-role-assignment-group } resource "azuread_group" "odbaa-other-group" { display_name = each.key security_enabled = true for_each = local.odbaa_other_groups }