是否可以使用powershell将客户端身份验证证书(.pfx)添加到Data Factory中的Web活动

问题描述 投票:2回答:1

我想将客户端身份验证证书(.pfx)添加到Data Factory中的Web活动。需要从Azure密钥保管库获取证书。

现在这是手动完成的。

我想自动化相同,是否可以使用PowerShell。

powershell azure azure-data-factory azure-keyvault
1个回答
0
投票

我想自动化相同,是否可以使用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"
© www.soinside.com 2019 - 2024. All rights reserved.