Как Terraform присвоить управляемую идентификацию пользователя Azure учетной записи хранения? - PullRequest
0 голосов
/ 01 мая 2019

Я пытаюсь предоставить Azure «Назначенные пользователем управляемые удостоверения» для учетной записи хранилища Azure через Terraform.

Я изо всех сил пытаюсь найти лучший способ сделать это - любые идеи будут очень полезными.признателен!

Справочная информация. Я хочу развернуть HDInsights и указать его для учетной записи хранения Data Lake Gen2.Для успешного развертывания HDInsights необходимо указать управляемую идентификацию, которая имеет разрешения «Владелец данных хранилища больших двоичных объектов», на учетную запись хранения.

Я могу успешно создать учетную запись хранения и управляемую идентификацию через Terraform.Однако я застрял в наилучшем способе присвоения Управляемой идентификации учетной записи хранения.

1 Ответ

0 голосов
/ 02 мая 2019

Если вы создаете управляемое удостоверение, оно, по сути, создает субъект-службу в вашем арендаторе.Таким образом, вы можете использовать azurerm_role_assignment , чтобы назначить субъекту службы роль Storage Blob Data Owner для учетной записи хранения.

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}"
}

В вашем примере для этой роли назначается роль в области подписки:просто измените scope на учетную запись хранения, role_definition_name на Storage Blob Data Owner, principal_id - это Object ID вашей управляемой идентичности (принципал службы).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...