我想将客户端身份验证证书(.pfx)添加到Data Factory中的Web活动。需要从Azure密钥库中获取证书。
现在这是手动完成的。
我想实现相同的自动化,是否可以使用powershell来完成。
答案 0 :(得分:0)
我想实现相同的自动化,是否可以使用powershell来完成。
是的,我们可以使用Set-AzureRmDataFactoryV2Pipeline添加客户端身份验证证书。
以下是详细步骤,您可以参考
1。创建一个网络活动定义json,有关更多信息,请参阅control-flow-web-activity
2。从keyvault获取pfx文件,从keyvault获取的pfx文件是没有密码的文件。所以我们需要将密码添加到pfx
$kvSecret = Get-AzureKeyVaultSecret -VaultName $vaultName -Name $secretName
$kvSecretBytes = [System.Convert]::FromBase64String($kvSecret.SecretValueText)
$certCollection = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2Collection
$certCollection.Import($kvSecretBytes,$null,[System.Security.Cryptography.X509Certificates.X509KeyStorageFlags]::Exportable)
$password = '******'
$protectedCertificateBytes = $certCollection.Export([System.Security.Cryptography.X509Certificates.X509ContentType]::Pkcs12, $password)
$pfxPath = [Environment]::GetFolderPath("Desktop") + "\MyCert.pfx"
[System.IO.File]::WriteAllBytes($pfxPath, $protectedCertificateBytes)
3。使用pfx值和密码更新json文件
4。运行set-AzureRmDataFactory命令
Set-AzureRmDataFactoryV2Pipeline -ResourceGroupName "resourceGroup" -Name "name" -DataFactoryName "factoryName" -File "C:\webactivity.json"