gpt4 book ai didi

azure - 如何将 Azure 用户托管标识 Terraform 分配到存储帐户?

转载 作者:行者123 更新时间:2023-12-02 05:55:54 27 4
gpt4 key购买 nike

我正在尝试通过 Terraform 向 Azure 存储帐户授予 Azure“用户分配的托管标识”权限。

我正在努力寻找最好的方法来做到这一点 - 任何想法将不胜感激!

背景:我希望部署 HDInsights 并将其指向 Data Lake Gen2 存储帐户。为了使 HDInsights 部署成功,它需要引用对存储帐户具有“存储 Blob 数据所有者”权限的托管标识。

我可以通过 Terraform 成功创建存储帐户和托管身份。但是,我一直在寻找将托管标识分配给存储帐户的最佳方法。

最佳答案

如果您创建托管身份,它实际上会在您的租户中创建一个服务主体。所以你可以使用azurerm_role_assignment将服务主体作为存储 Blob 数据所有者角色分配给存储帐户。

data "azurerm_subscription" "primary" {}

data "azurerm_client_config" "test" {}

resource "azurerm_role_assignment" "test" {
scope = "${data.azurerm_subscription.primary.id}"
role_definition_name = "Reader"
principal_id = "${data.azurerm_client_config.test.service_principal_object_id}"
}

示例在订阅范围内分配角色,对于您的情况,只需将范围更改为存储帐户,将role_definition_name更改为存储Blob数据所有者principal_id 是您的托管身份(服务主体)的对象 ID

关于azure - 如何将 Azure 用户托管标识 Terraform 分配到存储帐户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55934925/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com