我想将客户端身份验证证书(.pfx)添加到Data Factory中的Web活动。需要从Azure密钥保管库获取证书。
现在这是手动完成的。
我想自动化相同,是否可以使用PowerShell。
我想自动化相同,是否可以使用PowerShell。
是的,我们可以使用Set-AzureRmDataFactoryV2Pipeline添加客户端身份验证证书。
以下是详细步骤,您可以参考
1.创建一个web活动定义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"