我有一个服务主体,它在运行我的 Terraform 脚本时使用,它适用于我需要做的 99% 的事情。但是,然后我需要使用 terraform 运行以下脚本来更新应用程序注册上的属性 - 因为这是可以完成的唯一方法(此处供参考 - https://github.com/hashicorp/terraform-provider-azuread /问题/188)。
resource "null_resource" "access_token_accepted_version" {
depends_on = [
azuread_application.appname
]
provisioner "local-exec" {
command = <<EOF
az login --service-principal --username ${var.az_client_id} --password
${var.az_client_secret} --tenant ${var.az_tenant_id}
az rest \
--method PATCH \
--headers "Content-Type=application/json" \
--uri "https://graph.microsoft.com/v1.0/applications/${azuread_application.appname.id}" \
--body '{"api":{"requestedAccessTokenVersion":2}}'
EOF
}
}
Az 登录部分似乎运行成功,但随后 PATCH 调用总是会导致以下错误 -
ERROR: Forbidden({"error":{"code":"Authorization_RequestDenied","message":"Insufficient privileges to complete the operation."
我想有一个权限可以添加到服务主体的关联应用程序注册中,但我找不到合适的权限。这是我目前拥有的(有些是需要的,有些是在黑暗中刺伤)
谁能想到解决这个问题的方法?