gpt4 book ai didi

azure - 使用 KeyVault 和 Azure Data Lake Store 证书进行 ARM 部署

转载 作者:行者123 更新时间:2023-12-03 01:46:50 37 4
gpt4 key购买 nike

我基本上想创建我的 HDI/Spark 集群,它使用 ARM 模板和 Azure Key Vault 访问 Azure Data Lake Store。

到目前为止,我手动创建了集群并存储了 ARM 模板。然后,我尝试从 Azure Key Vault 填充敏感值,但我很难正确地传递“identityCertificate”。

我还按照以下步骤创建了证书和所有内容:https://github.com/Azure/azure-quickstart-templates/tree/master/201-hdinsight-datalake-store-azure-storage然后按照以下步骤将证书上传到 KeyVault:https://blogs.technet.microsoft.com/kv/2016/09/26/get-started-with-azure-key-vault-certificates/

但是,在我的 ARM 模板中引用 KeyVault secret 总是会出现以下错误:

{ "status": "Failed", "error": { "code": "ResourceDeploymentFailure", "message": "The resource operation completed with terminal provisioning state 'Failed'.", "details": [ { "code": "InvalidDocumentErrorCode", "message": "DeploymentDocument 'AmbariConfiguration_1_7' failed the validation. Error: 'Error while getting access to the datalake storage account gbhdi: The specified network password is not correct.\r\n.'" } ] } }

使用相同的证书等在 Azure 门户中手动执行所有操作都可以正常工作我还尝试使用证书的 Base64 编码值手动设置“identityCertificate”参数,但这也不起作用

如果我对其进行硬编码,我需要将哪个值传递给参数?

最佳答案

似乎我发现了这个问题,它实际上与之前失败的 ARM 部署有关,这些部署留下了 HDI 集群的一些碎片,新的部署不会覆盖这些碎片,而是使用旧的设置

删除集群(无论如何都不起作用)后,我可以按预期部署它。

但是,值得一提的是,证书必须作为 Secret 而不是 Key 存储在 KeyVault 中,并且必须采用 Base64 编码!

这是我使用的 PowerShell 脚本:

#Add Certificate to KeyVault

$base64Cert = [System.Convert]::ToBase64String((Get-Content $certFilePath -Encoding Byte))
$base64Cert | Out-File $certFilePath.Replace(".pfx", ".base64.txt")
$cer3 = Set-AzureKeyVaultSecret -VaultName $vaultName -Name $certName -

SecretValue (ConvertTo-SecureString –String $base64Cert –AsPlainText –Force)

希望能帮助其他面临同样问题的人!

-格哈德

关于azure - 使用 KeyVault 和 Azure Data Lake Store 证书进行 ARM 部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45752148/

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