Ich versuche, einem Azure-Speicherkonto über Terraform eine Azure-Berechtigung "Vom Benutzer zugewiesene verwaltete Identität" zu erteilen.
Ich kämpfe darum, den besten Weg zu finden - Ideen wären sehr willkommen!
Hintergrund: Ich möchte HDInsights bereitstellen und auf ein Data Lake Gen2-Speicherkonto verweisen. Damit die HDInsights-Bereitstellung erfolgreich ist, muss eine verwaltete Identität mit den Berechtigungen "Speicher-Blob-Dateneigentümer" für das Speicherkonto referenziert werden.
Ich kann das Speicherkonto und die verwaltete Identität erfolgreich über Terraform erstellen. Ich bin jedoch nicht sicher, wie ich die verwaltete Identität dem Speicherkonto am besten zuweisen kann.
Wenn Sie eine verwaltete Identität erstellen, wird im Wesentlichen ein Service-Principal in Ihrem Mandanten erstellt. Sie können also azurerm_role_assignment verwenden , um Storage Blob Data Owner
dem Speicherkonto den Dienstprinzipal als Rolle zuzuweisen .
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}"
}
Die Probe Abtretungsempfänger die Rolle im Abonnement Umfang, für Ihren Fall nur das ändern scope
Konto der Speicherung, role_definition_name
zu Storage Blob Data Owner
der principal_id
das ist Object ID
Ihr Managed Identität (Service Principal).
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen