首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Terrraform中的Azure函数应用程序获取标识

从Terrraform中的Azure函数应用程序获取标识
EN

Stack Overflow用户
提问于 2021-04-29 17:09:44
回答 1查看 168关注 0票数 0

我正在尝试从Azure funtion应用程序检索托管标识,并在Azure密钥库中为该标识设置访问策略。脚本看起来像这样(一个更大的脚本的一部分)。

代码语言:javascript
复制
data "azurerm_function_app" "funcidmngmtapp" {
  name = "func-adpidentitymngmt-${var.location}-${local.env}"
  resource_group_name = azurerm_resource_group.azurefunctions.name
}
resource "azurerm_key_vault_access_policy" "funcidmngmt" {
    key_vault_id = azurerm_key_vault.general.id 
    tenant_id = data.azurerm_function_app.funcidmngmtapp.identity.tenant_id
    object_id = data.azurerm_function_app.funcidmngmtapp.identity.principal_id

    secret_permissions = [
      "Get",
      "List"
    ]
}

在执行terraform plan时,它返回以下错误

代码语言:javascript
复制
Error: Unsupported attribute

  on resources.tf line 283, in resource "azurerm_key_vault_access_policy" "funcidmngmt":
 283:     tenant_id = data.azurerm_function_app.funcidmngmtapp.identity.tenant_id

This value does not have any attributes.


Error: Unsupported attribute

  on resources.tf line 284, in resource "azurerm_key_vault_access_policy" "funcidmngmt":
 284:     object_id = data.azurerm_function_app.funcidmngmtapp.identity.principal_id

This value does not have any attributes.

据我所知,https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/function_app的语法是正确的,但在理解错误消息时遇到了问题。

感谢您的反馈

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-29 17:38:19

identity属性是一个列表,所以使用这个(重要的部分是.0.):

代码语言:javascript
复制
data.azurerm_function_app.funcidmngmtapp.identity.0.principal_id
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67314343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档