在 Azure Data Factory 中加密內部部署資料儲存的認證

適用於: Azure Data Factory Azure Synapse Analytics

提示

Data Factory in Microsoft Fabric 是下一代的 Azure Data Factory,擁有更簡單的架構、內建 AI 及新功能。 如果你是資料整合新手,建議先從 Fabric Data Factory 開始。 現有的 ADF 工作負載可升級至 Fabric,以存取資料科學、即時分析與報告等新能力。

您可以在具有自我裝載 Integration Runtime 的電腦上,加密並儲存任何內部部署資料存放區的認證 (包含敏感性資訊的連結服務)。

注意

我們建議你使用 Azure Az PowerShell 模組來與 Azure 互動。 要開始,請參考 安裝 Azure PowerShell。 想了解如何遷移到 Az PowerShell 模組,請參考 Migrate Azure PowerShell from AzureRM to Az。

您會將具有憑證的 JSON 定義檔傳遞至
New-AzDataFactoryV2LinkedServiceEncryptedCredential cmdlet 產生包含加密憑證的輸出 JSON 定義檔。 然後,使用更新的 JSON 定義來建立連結服務。

使用加密認證建立連結服務

此範例展示了如何建立與本地 SQL Server 資料來源的加密憑證連結服務。

建立初始連結服務 JSON 檔案描述

使用下列內容建立名為 SqlServerLinkedService.json 的 JSON 檔案:

在儲存檔案前,先把 <servername>、<databasename>、<username> 和 <password> 換成你的 SQL Server 值。 並將 <integration runtime name> 替換為您的 Integration Runtime 名稱。

{
    "properties": {
        "type": "SqlServer",
        "typeProperties": {
            "connectionString": "Server=<servername>;Database=<databasename>;User ID=<username>;Password=<password>;Timeout=60"
        },
        "connectVia": {
            "type": "integrationRuntimeReference",
            "referenceName": "<integration runtime name>"
        },
        "name": "SqlServerLinkedService"
    }
}

加密認證

若要在內部部署自我裝載的 Integration Runtime 上,加密 JSON 承載中的敏感性資料,請執行 New-AzDataFactoryV2LinkedServiceEncryptedCredential,並傳入 JSON 承載。 此 Cmdlet 可確保認證使用 DPAPI 加密,並儲存在自我裝載 Integration Runtime 節點的本機端。 含有認證加密參考的輸出承載可以重新導向至另一個 JSON 檔案 (在此例中是 'encryptedLinkedService.json')。

請確保已符合下列必要條件:

  • 自我裝載整合執行階段上已啟用遠端存取選項。
  • 需使用 Powershell 7.0 或更高版本來執行 Cmdlet。
New-AzDataFactoryV2LinkedServiceEncryptedCredential -DataFactoryName $dataFactoryName -ResourceGroupName $ResourceGroupName -IntegrationRuntimeName 'test-selfhost-ir' -DefinitionFile ".\SQLServerLinkedService.json" > encryptedSQLServerLinkedService.json

使用 JSON 與加密憑證

現在,使用包含加密認證之前一個命令的輸出 JSON 檔案來設定 SqlServerLinkedService。

Set-AzDataFactoryV2LinkedService -DataFactoryName $dataFactoryName -ResourceGroupName $ResourceGroupName -Name "EncryptedSqlServerLinkedService" -DefinitionFile ".\encryptedSqlServerLinkedService.json"

如需資料移動安全性考量的資訊,請參閱資料移動安全性考量。