我正在使用Terraform在Azure中创建应用注册。
此后,我尝试将所有者权限授予其他人(我自己),但不允许我这样做。
我正在使用的命令序列是:
resource "azurerm_azuread_application" "service_principal" {
name = "${var.departamentoCamel}-${var.appnameCamel}-${var.entorno}"
homepage = "https://${lower("${var.appnameCamel}")}.asisa.es"
available_to_other_tenants = false
oauth2_allow_implicit_flow = true
}
resource "azurerm_azuread_service_principal" "service_principal" {
application_id = "${azurerm_azuread_application.service_principal.application_id}"
}
resource "azurerm_azuread_service_principal_password" "service_principal" {
service_principal_id = "${azurerm_azuread_service_principal.service_principal.id}"
value = "${random_string.password.result}="
end_date = "2020-01-01T01:02:03Z"
}
resource "azurerm_role_assignment" "test" {
scope = "${azurerm_azuread_application.service_principal.id}"
role_definition_name = "Owner"
principal_id = "8c7b71b3-cf32-4da5-9bbb-5e5dd249c607"
}
但是我收到以下错误消息:
* azurerm_role_assignment.test: authorization.RoleAssignmentsClient#Create: Failure responding to request: StatusCode=404 -- Original Error: autorest/azure: Service returned an error. Status=404 Code="MissingSubscription" Message="The request did not have a provided subscription. All requests must have an associated subscription Id."
有人知道如何将拥有者角色赋予具有ObjectID的人吗? 8c7b71b3-cf32-4da5-9bbb-5e5dd249c607吗?
谢谢, 胡安拉
答案 0 :(得分:0)
AFAIK,azurerm_role_assignment
用于将给定的委托人(用户或应用程序)分配给给定的角色。
scope
应该是您的Azure订阅下的Azure资源的资源ID,服务主体属于Azure AD,而不是订阅中的资源。
如果要将所有者添加到服务主体中,似乎不支持通过terraform。
解决方法:
1。导航到Azure门户Azure AD->企业应用程序-所有应用程序->服务主体->所有者->添加。
2。使用天蓝色的Powershell Add-AzureADServicePrincipalOwner
。