Azure Data Factory でオンプレミスのデータ ストアの資格情報を暗号化する

適用対象: Azure Data Factory Azure Synapse Analytics

ヒント

企業向けのオールインワン分析ソリューション、Microsoft Fabric の Data Factory をお試しください。 Microsoft Fabric は、データ移動からデータ サイエンス、リアルタイム分析、ビジネス インテリジェンス、レポートまで、あらゆるものをカバーしています。 無料で新しい試用版を開始する方法について説明します。

オンプレミスの任意のデータ ストアの資格情報を暗号化し、セルフホステッド統合ランタイムを備えるマシンに格納することができます (機密情報に関するリンクされたサービス)。

注意

Azure を操作するには、Azure Az PowerShell モジュールを使用することをお勧めします。 作業を開始するには、Azure PowerShell のインストールに関する記事を参照してください。 Az PowerShell モジュールに移行する方法については、「AzureRM から Az への Azure PowerShell の移行」を参照してください。

資格情報を含む JSON 定義ファイルを
New-AzDataFactoryV2LinkedServiceEncryptedCredential コマンドレットに渡して、暗号化された資格情報が入った出力 JSON 定義ファイルを生成します。 更新された JSON 定義を使用して、リンクされたサービスを作成します。

暗号化された資格情報を使用してリンクされたサービスを作成する

この例では、暗号化された資格情報を使用して、オンプレミスの SQL Server データ ソースにリンクされたサービスを作成する方法を示します。

最初のリンクされたサービスの JSON ファイルの説明を作成する

以下の内容を含む、SqlServerLinkedService.json という名前の JSON ファイルを作成します。

ファイルを保存する前に、<servername><databasename><username>、および<password> を SQL Server 用の値に置き換えます。 <integration runtime name> を統合ランタイムの名前に置き換えます。

{
    "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"
    }
}

資格情報を暗号化する

JSON ペイロードからの機密データを暗号化して、オンプレミスのセルフホステッド統合ランタイムに格納するには、New-AzDataFactoryV2LinkedServiceEncryptedCredential を実行して、JSON ペイロードを渡します。 このコマンドレットでは、DPAPI によって資格情報が暗号化され、自己ホスト型の統合ランタイム ノードにローカルに格納されます。 資格情報への暗号化された参照が含まれる出力ペイロードは、別の JSON ファイル (この場合は "encryptedLinkedService.json") にリダイレクトできます。

次の前提条件が満たされていることを確認してください。

  • セルフホステッド統合ランタイムでリモート アクセス オプションが有効になっています。
  • PowerShell 7.0 以降は、コマンドレットの実行に使用されます。
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"

データ移動のためのセキュリティに関する考慮事項については、データ移動時のセキュリティに関する考慮事項に関するページを参照してください。