» azurerm_role_assignment
Assigns a given Principal (User or Application) to a given Role.
» Example Usage (using a built-in Role)
data "azurerm_subscription" "primary" {}
data "azurerm_client_config" "test" {}
resource "azurerm_role_assignment" "test" {
scope = "${data.azurerm_subscription.primary.id}"
role_definition_name = "Reader"
principal_id = "${data.azurerm_client_config.test.service_principal_object_id}"
}
» Example Usage (Custom Role & Service Principal)
data "azurerm_subscription" "primary" {}
data "azurerm_client_config" "test" {}
resource "azurerm_role_definition" "test" {
role_definition_id = "00000000-0000-0000-0000-000000000000"
name = "my-custom-role-definition"
scope = "${data.azurerm_subscription.primary.id}"
permissions {
actions = ["Microsoft.Resources/subscriptions/resourceGroups/read"]
not_actions = []
}
assignable_scopes = [
"${data.azurerm_subscription.primary.id}",
]
}
resource "azurerm_role_assignment" "test" {
name = "00000000-0000-0000-0000-000000000000"
scope = "${data.azurerm_subscription.primary.id}"
role_definition_id = "${azurerm_role_definition.test.id}"
principal_id = "${data.azurerm_client_config.test.service_principal_object_id}"
}
» Example Usage (Custom Role & User)
data "azurerm_subscription" "primary" {}
data "azurerm_client_config" "test" {}
resource "azurerm_role_definition" "test" {
role_definition_id = "00000000-0000-0000-0000-000000000000"
name = "my-custom-role-definition"
scope = "${data.azurerm_subscription.primary.id}"
permissions {
actions = ["Microsoft.Resources/subscriptions/resourceGroups/read"]
not_actions = []
}
assignable_scopes = [
"${data.azurerm_subscription.primary.id}",
]
}
resource "azurerm_role_assignment" "test" {
name = "00000000-0000-0000-0000-000000000000"
scope = "${data.azurerm_subscription.primary.id}"
role_definition_id = "${azurerm_role_definition.test.id}"
principal_id = "${data.azurerm_client_config.test.client_id}"
}
» Argument Reference
The following arguments are supported:
-
name
- (Optional) A unique UUID/GUID for this Role Assignment - one will be generated if not specified. Changing this forces a new resource to be created. -
scope
- (Required) The scope at which the Role Assignment applies too, such as/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333
,/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup
, or/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM
. Changing this forces a new resource to be created. -
role_definition_id
- (Optional) The Scoped-ID of the Role Definition. Changing this forces a new resource to be created. Conflicts withrole_definition_name
. -
role_definition_name
- (Optional) The name of a built-in Role. Changing this forces a new resource to be created. Conflicts withrole_definition_id
. -
principal_id
- (Required) The ID of the Principal (User or Application) to assign the Role Definition to. Changing this forces a new resource to be created.
» Attributes Reference
The following attributes are exported:
-
id
- The Role Assignment ID.
» Import
Role Assignments can be imported using the resource id
, e.g.
terraform import azurerm_role_assignment.test /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000