カスタマー マネージド キーを使用した Azure Data Factory の暗号化
適用対象: Azure Data Factory Azure Synapse Analytics
ヒント
企業向けのオールインワン分析ソリューション、Microsoft Fabric の Data Factory をお試しください。 Microsoft Fabric は、データ移動からデータ サイエンス、リアルタイム分析、ビジネス インテリジェンス、レポートまで、あらゆるものをカバーしています。 無料で新しい試用版を開始する方法について説明します。
Azure Data Factory では、エンティティの定義や実行中にキャッシュされたデータなど、保存データを暗号化します。 既定では、データは、ランダムに生成されてデータ ファクトリに一意に割り当てられる Microsoft 管理のキーで暗号化されます。 セキュリティをさらに保証するために、Azure Data Factory のカスタマー マネージド キー機能を使用して Bring Your Own Key (BYOK) を有効にできるようになりました。 カスタマー マネージド キーを指定すると、Data Factory により、ファクトリ システム キーと CMK の両方を使用して顧客データが暗号化されます。 どちらかがない場合は、データとファクトリへのアクセスが拒否されます。
カスタマー マネージド キーを格納するには、Azure Key Vault が必要です。 独自のキーを作成してキー コンテナーに格納することも、Azure Key Vault API を使ってキーを生成することもできます。 キー コンテナーと Data Factory は同じ Microsoft Entra テナントで同じリージョンに存在する必要がありますが、サブスクリプションは異なっていてもかまいません。 Azure Key Vault の詳細については、「 What is Azure Key Vault? (Azure Key Vault とは)
カスタマー マネージド キーの概要
次の図は、Data Factory で Microsoft Entra ID と Azure Key Vault を使用し、カスタマー マネージド キーを使用して要求を行う方法を示しています。
次の一覧では、図の番号付きの手順について説明します。
- Azure Key Vault 管理者が、Data Factory に関連付けられているマネージド ID に暗号化キーへのアクセス許可を付与します
- Data Factory 管理者が、ファクトリでカスタマー マネージド キー機能を有効にします
- Data Factory により、ファクトリに関連付けられているマネージド ID を使用して、Microsoft Entra ID 経由で Azure Key Vault へのアクセスが認証されます
- Data Factory により、Azure Key Vault のカスタマー キーを使用してファクトリ暗号化キーがラップされます
- 読み取り/書き込み操作の場合、Data Factory により、Azure Key Vault に要求が送信され、暗号化と暗号化の解除の操作を実行できるようにアカウント暗号化キーのラップが解除されます。
データ ファクトリにカスタマー マネージド キーの暗号化を追加する方法は 2 つあります。 1 つはファクトリの作成中に Azure portal を使うもの、もう 1 つはファクトリの作成後に Data Factory の UI を使うものです。
前提条件 - Azure Key Vault を構成してキーを生成する
Azure Key Vault で論理的な削除と消去しないを有効にする
Data Factory でカスタマー マネージド キーを使用するには、Key Vault に論理的な削除と消去しないの 2 つのプロパティが設定されている必要があります。 これらのプロパティは、新規または既存のキー コンテナーで、PowerShell または Azure CLI を使用して有効にすることができます。 既存のキー コンテナーでここに挙げたプロパティを有効にする方法については、「論理的な削除と消去保護を使用した Azure Key Vault の回復の管理」を参照してください
Azure portal を使用して新しい Azure Key Vault を作成している場合は、次のように 論理的な削除と消去しないを有効にすることができます。
Azure Key Vault への Data Factory アクセスを許可する
Azure Key Vault と Azure Data Factory が、同じ Microsoft Entra テナントかつ "同じリージョン" に存在することを確認します。 Azure Key Vault のアクセスの制御から、データ ファクトリに "取得"、"キーの折り返しを解除"、"キーを折り返す" のアクセス許可を付与します。 これらのアクセス許可は、Data Factory でカスタマー マネージド キーを有効にするために必要です。
カスタマー マネージド キーの暗号化をファクトリの作成後に Data Factory の UI で追加する場合には、データ ファクトリのマネージド サービス ID (MSI) にキー コンテナーに対する上の 3 つのアクセス許可が付与されていることを確認してください
カスタマー マネージド キーの暗号化をファクトリの作成時に Azure portal で追加する場合には、ユーザー割り当てマネージド ID (UA-MI) にキー コンテナーに対する上の 3 つのアクセス許可が付与されていることを確認してください
カスタマー マネージド キーを生成または Azure Key Vault にアップロードする
キーは独自のものを作成し、キー コンテナーに保存しておくことができます。 このほか、Azure Key Vault API を使用してキーを生成することもできます。 Data Factory 暗号化では、RSA キーのみがサポートされています。 RSA-HSM もサポートされています。 詳細については、「About keys, secrets, and certificates (キー、シークレット、証明書について)」を参照してください。
カスタマー マネージド キーを有効にする
ファクトリの作成後に Data Factory の UI を使用する
このセクションでは、ファクトリを作成した "後" に Data Factory の UI を使ってカスタマー マネージド キーの暗号化を追加する手順を説明します。
注意
カスタマー マネージド キーは、空のデータ ファクトリでのみ構成することができます。 データ ファクトリには、リンクされたサービス、パイプライン、データ フローなどのリソースを含めることはできません。 ファクトリの作成直後に、カスタマー マネージド キーを有効にすることをお勧めします。
重要
この方法は、マネージド仮想ネットワークが有効になっているファクトリでは機能しません。 そのようなファクトリを暗号化する場合には、もう一方の方法の使用を検討してください。
データ ファクトリのマネージド サービス ID (MSI) に、キー コンテナーを対象とした "取得"、"キーの折り返しを解除"、"キーを折り返す" のアクセス許可が付与されていることを確認します。
Data Factory を確実に空にします。 データ ファクトリには、リンクされたサービス、パイプライン、データ フローなどのリソースを含めることはできません。 ここで、空でないファクトリにカスタマー マネージド キーをデプロイすると、エラーが発生します。
Azure portal でキーの URI を検索するには、Azure Key Vault に移動して、[キー] 設定を選択します。 目的のキーを選択し、キーを選択してそのバージョンを表示します。 キーのバージョンを選択して設定を表示します
[キー識別子] フィールドの値をコピーします。これが、URI です。
Azure Data Factory ポータルを起動し、左側のナビゲーション バーを使用して Data Factory 管理ポータルに移動します
カスタマー マネージド キーのアイコンをクリックします。
先ほどコピーしたカスタマー マネージド キーの URI を入力します
[保存] をクリックすると、Data Factory でカスタマー マネージド キーの暗号化が有効になります
ファクトリの作成時に Azure portal を使用する
このセクションでは、ファクトリのデプロイ "時" に Azure portal 内でカスタマー マネージド キーの暗号化を追加する手順を説明します。
Data Factory では、ファクトリを暗号化するうえでまず、キー コンテナーからカスタマー マネージド キーを取得する必要があります。 ファクトリのデプロイが途中であるため、まだキー コンテナーに対する認証にマネージド サービス ID (MSI) を使用することができません。 そのため、この方法を使用するには、データ ファクトリにユーザー割り当てマネージド ID (UA-MI) を割り当てる必要があります。 Microsoft では、ロールが UA-MI で定義されているものと想定し、キー コンテナーに対する認証を実施します。
ユーザー割り当てマネージド ID の詳細については、「マネージド ID の種類」とユーザー割り当てマネージド ID のロールの割り当てに関するページを参照してください。
ユーザー割り当てマネージド ID (UA-MI) に、キー コンテナーを対象とした "取得"、"キーの折り返しを解除"、"キーを折り返す" のアクセス許可が付与されていることを確認します
[詳細設定] タブで [カスタマー マネージド キーを使用して暗号化を有効にする] チェック ボックスをオンにします
キー コンテナーに保存されているカスタマー マネージド キーの URL を指定します
キー コンテナーに対する認証に使用する適切なユーザー割り当てマネージド ID を選択します
ファクトリのデプロイを進めます
キーのバージョンを更新する
キーの新しいバージョンを作成した場合、その新しいバージョンを使用するには、データ ファクトリを更新します。 手順は、Data Factory の UI に関するセクションの内容とよく似ています。具体的には次のとおりです。
Azure Key Vault ポータルを使用して、新しいキー バージョンの URI を検索します
[カスタマー マネージド キー] 設定に移動します
新しいキーの URI を置き換えて貼り付けます
[保存] をクリックすると、Data Factory により、新しいキーのバージョンで暗号化されます
別のキーを使用する
Data Factory の暗号化に使用するキーを変更するには、Data Factory の設定を手動で更新する必要があります。 手順は、Data Factory の UI に関するセクションの内容とよく似ています。具体的には次のとおりです。
Azure Key Vault ポータルを使用して、新しいキーの URI を検索します
[カスタマー マネージド キー] 設定に移動します
新しいキーの URI を置き換えて貼り付けます
[保存] をクリックすると、Data Factory により、新しいキーで暗号化されます
カスタマー マネージド キーを無効にする
設計上、カスタマー マネージド キー機能を有効にすると、追加のセキュリティ手順を削除することはできません。 ユーザーが、ファクトリとデータを暗号化するキーを提供されることを常にお勧めします。
カスタマー マネージド キーと継続的インテグレーションおよび継続的デプロイ
既定では、CMK 構成はファクトリ Azure Resource Manager (ARM) テンプレートに含まれていません。 継続的インテグレーション (CI/CD) のために ARM テンプレートにカスタマー マネージド キーの暗号化設定を含めるには:
- ファクトリが Git モードになっていることを確認します
- 管理ポータルの [カスタマー マネージド キー] セクションに移動します
- [Include in ARM template](ARM テンプレートに含める) オプションをオンにします
次の設定が ARM テンプレートに追加されます。 これらのプロパティは、Azure Resource Manager のパラメーターの構成を編集することによって、継続的インテグレーションと継続的デリバリー パイプラインでパラメーター化できます
注意
ARM テンプレートに暗号化設定を追加すると、ファクトリレベルの設定が追加され、他の環境の他のファクトリレベルの設定 (git 構成など) がオーバーライドされます。 UAT や PROD などの管理者特権環境でこれらの設定を有効にしている場合は、「CI/CD でのグローバル パラメーター」を参照してください。
関連するコンテンツ
より多くのシナリオで Data Factory を使用する方法については、チュートリアルを参照してください。