使用 Terraform 在 appRegistration azure 中赋予所有者角色的问题
Problems giving owner role in appRegistration azure using Terraform
我正在使用 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."
有谁知道如何将 Owner 角色授予具有 ObjectID 的人
8c7b71b3-cf32-4da5-9bbb-5e5dd249c607 ?
谢谢,
胡安拉
AFAIK,azurerm_role_assignment
用于将给定的委托人(用户或应用程序)分配给给定的角色。
scope
应该是你的azure订阅下的azure资源的resource id,service principal属于Azure AD,不是订阅中的资源。
如果您想将所有者添加到您的服务主体,似乎不支持通过 terraform。
解决方法:
1.Navigate 到 Azure 门户,Azure AD -> 企业应用程序 - 所有应用程序 -> 您的服务主体 -> 所有者 -> 添加。
2.Use azure powershell Add-AzureADServicePrincipalOwner
.
我正在使用 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."
有谁知道如何将 Owner 角色授予具有 ObjectID 的人 8c7b71b3-cf32-4da5-9bbb-5e5dd249c607 ?
谢谢, 胡安拉
AFAIK,azurerm_role_assignment
用于将给定的委托人(用户或应用程序)分配给给定的角色。
scope
应该是你的azure订阅下的azure资源的resource id,service principal属于Azure AD,不是订阅中的资源。
如果您想将所有者添加到您的服务主体,似乎不支持通过 terraform。
解决方法:
1.Navigate 到 Azure 门户,Azure AD -> 企业应用程序 - 所有应用程序 -> 您的服务主体 -> 所有者 -> 添加。
2.Use azure powershell Add-AzureADServicePrincipalOwner
.