Для создания настраиваемой роли для группы ресурсов необходимо разрешение Microsoft.Authorization/roleDefinitions/write
, а для назначения настраиваемой роли пользователю необходимо разрешение Microsoft.Authorization/roleAssignments/write
. Самый простой способ - присвоить вам роль подписки Onwer
.
А для создания пользователя Azure AD:
Для добавления или удаления пользователей вы должны быть Пользователь-администратор или глобальный администратор.
Когда у вас есть все необходимые разрешения. Давайте сосредоточимся на вашем коде. Вам также необходимо назначить настраиваемую роль пользователю, которого вы создали, в рамках группы ресурсов. Затем вы можете изменить код следующим образом:
resource "azurerm_role_definition" "sql_role" {
name = "sql_role"
scope = data.azurerm_subscription.primary.id
description = "This is a custom role to create sql database"
permissions {
actions = ["*"]
not_actions = []
}
assignable_scopes = [
data.azurerm_subscription.primary.id
]
}
resource "azurerm_role_assignment" "example" {
scope = azurerm_resource_group.terraform_rg.id
role_definition_id = azurerm_role_definition.sql_role.id
principal_id = azuread_user.test.id
}
Если вы хотите, чтобы настройка была доступна только для группы ресурсов, вы можете изменить assignable_scopes
с идентификатором группы ресурсов как azurerm_resource_group.terraform_rg.id
.