繁体   English   中英

为 App 分配角色访问权限时,principal id 应该是什么?

[英]What should be principal id while assigning role access to App?

通过 Terraform 我必须对存储帐户进行角色分配并分配对应用程序的访问权限(由应用程序注册创建并具有 Azure 存储的 API 权限)

但是当我将角色分配定义为

resource "azurerm_role_assignment" "storage_app_access_new" {
  role_definition_name = "Storage Blob Data Contributor"
  principal_id         = module.ad_application.id
  scope                = module.storage_account.id
}

apply命令在没有错误的情况下挂起更长时间。 我怀疑问题出在主体 ID 上,您能帮忙吗?

您需要使用object ID ,而不是application ID

resource "azurerm_role_assignment" "storage_app_access_new" {
  role_definition_name = "Storage Blob Data Contributor"
  principal_id         = module.ad_application.object_id
  scope                = module.storage_account.id
}

我不知道你那个模块里有什么,所以我不知道它是否有这样的钥匙。 您需要检查如何从该模块获取 object ID。

使用 az cli 你会得到这样的:

az ad sp show --id <app-id> --query objectId -o tsv

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM