Azure旋转存储键并更新ADF链接服务



我正在寻找一种在Azure Automation中实现密钥旋转的方法,我找到了一种创建PowerShell Runbook并实现以下代码的方法:

$azureAccountName = <acct_name>
$azurePassword = ConvertTo-SecureString <pass> -AsPlainText -Force
$psCred = New-Object System.Management.Automation.PSCredential($azureAccountName, $azurePassword)
Login-AzureRmAccount -ServicePrincipal -Credential $psCred -TenantId <tenant id> -SubscriptionId <sub id>
#Optionally you may set the following as parameters
$StorageAccountName = <storage acct name>
$RGName = <rg name>
#Key name. For example key1 or key2 for the storage account
New-AzureRmStorageAccountKey -ResourceGroupName $RGName -Name $StorageAccountName -KeyName "key1" -Verbose
New-AzureRmStorageAccountKey -ResourceGroupName $RGName -Name $StorageAccountName -KeyName "key2" -Verbose

当我运行此功能时,它奏效了,但是它打破了我的Azure数据工厂链接服务。我意识到链接服务的连接字符串被打破了,因此我着手尝试重置自动化脚本中的连接字符串。我能够通过:

获得连接字符串
(Get-AzureRmDataFactoryLinkedService -DataFactoryName <adf name> -ResourceGroupName <rg name> -Name <ls name>).Properties.TypeProperties.ConnectionString

我找不到使用PowerShell和Azure Automation设置此连接字符串的方法。

您可以使用电源壳来休息此连接。但是您需要使用Remove-AzureRmDataFactoryLinkedService(从Azure Data Factory中删除链接服务。)并使用New-AzureRmDataFactoryLinkedService将存储帐户重新链接到数据工厂。

请参阅本教程。

您需要创建一个如下:

的JSON文件
{
    "name": "AzureStorageLinkedService",
    "properties": {
        "type": "AzureStorage",
        "typeProperties": {
            "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountname>;AccountKey=<accountkey>"
        }
    }
 }

使用 New-AzureRmDataFactoryLinkedService链接。

New-AzureRmDataFactoryLinkedService -ResourceGroupName ADFTutorialResourceGroup -DataFactoryName <Name of your data factory> -File .AzureStorageLinkedService.json

但是,如果您使用Azure Automation执行此操作,那么您将遇到一个问题。在Runbook上,您无法存储JSON文件,也许您可以在公共github上保存(没有安全)。另一个解决方案是使用Hybrid Runbook Worker。

相关内容

  • 没有找到相关文章