Azure Files暗号化用にカスタマー マネージド キーを構成する

✔️ 適用対象: Microsoft.Storage リソース プロバイダーで作成されたクラシック SMB および NFS ファイル共有

✖️ 次には適用されません: Microsoft.FileShares リソース プロバイダー(プレビュー)で作成されたファイル共有

Azureは、AES-256 暗号化を使用して、保存中のストレージ アカウント内のすべてのデータ (Azure Files データを含む) を暗号化します。 既定では、Microsoftはストレージ アカウントの暗号化キーを管理します。 暗号化キーをより詳細に制御するには、Microsoft マネージド キーの代わりに customer マネージド キー (CMK) を使用して、データを暗号化する暗号化キーへのアクセスを保護および制御できます。 この記事では、Azure Files ワークロードのカスタマー マネージド キーを構成する方法について説明します。

ストレージ アカウントのカスタマー マネージド キーを構成すると、そのストレージ アカウント内のAzure Filesデータはカスタマー キーを使用して自動的に暗号化されます。 共有ごとのオプトインは必要ありません。

これらの手順は、カスタマー マネージド キーを Azure Key Vault に格納するための手順です。 Azure Key Vault Managed HSM (ハードウェア セキュリティ モジュール) の手順とコマンドの一部が若干異なる場合があります。

ストレージ アカウントのカスタマー マネージド キーを構成するには、次の手順に従います。

手順 1: キー コンテナーを作成または構成する

カスタマー マネージド キーを有効にするには、消去保護が有効になっているAzure Key Vaultと共にAzureストレージ アカウントが必要です。 既存のキー コンテナーを使用するか、新しく作成することができます。 ストレージ アカウントとキー コンテナーは、同じMicrosoft Entra テナント内のさまざまなリージョンまたはサブスクリプションに存在できます。 テナント間のシナリオについては、既存の ストレージ アカウントのテナント間カスタマー マネージド キーの構成に関するページを参照してください。

Azure ポータルを使用して新しいキー コンテナーを作成するには、次の手順に従います。

  1. Azure ポータルで、キーボールトを検索し、作成 を選択します。
  2. 必須フィールド (サブスクリプション、リソース グループ、名前、リージョン) を入力します。
  3. [ 回復オプション] で、[ 消去保護を有効にする] を選択します。
  4. [確認と作成] を選択し、次に [作成] を選択します。

既存のキー コンテナーを使用する場合は、次の手順に従います。

  1. Azureポータルでキーボールトに移動します。
  2. サービス メニューの [設定] で [プロパティ] を選択 します
  3. [ 消去保護 ] セクションで、[ 消去保護を有効にする] を選択し、[ 保存] を選択します。
  4. キー ボールトでソフト削除が有効になっていることを確認します。 これは、新しいキーボールトに対して既定で有効になっています。

Key Vault Crypto Officer ロールを割り当てる

key vault においてキーを作成および管理するには、key vault に対する Key Vault Crypto Officer ロールが必要です。 Azure ポータル、PowerShell、またはAzure CLIを使用して、このロールを自分に割り当てることができます。 Key Vaultでこのロールが既にある場合は、このセクションをスキップして手順 2 に進むことができます。

Owner または User Access Administrator の RBAC ロールを持っている必要があり、そのスコープ内で Key Vault Crypto Officer ロールを割り当てることができます。 必要に応じて管理者に問い合わせてください。

Azure ポータルを使用して Key Vault Crypto Officer ロールを自分に割り当てるには、次の手順に従います。

  1. キー コンテナーに移動します。
  2. サービス メニューから、 アクセス制御 (IAM) を選択します。
  3. [このリソースへのアクセス権の付与][ロールの割り当ての追加] を選択します。
  4. Key Vault Crypto Officer を検索して選択し、Next を選択します。
  5. [ アクセスの割り当て] で、[ ユーザー、グループ、またはサービス プリンシパル] を選択します。
  6. [ メンバー] で 、[ +メンバーの選択] を選択します
  7. アカウントを検索し、自分のアカウントを選択してから、[選択]をクリックします。
  8. [確認と割り当て] を選択し、もう一度 [確認と割り当て] を選択します。

手順 2: 暗号化キーを作成またはインポートする

サイズ 2048、3072、または 4096 の RSA キーまたは RSA-HSM キーが必要です。 キー コンテナーに RSA キーを生成またはインポートします。 キーを生成する前に、key vaultに Key Vault Crypto Officer ロールがあることを確認します。

Azure ポータルを使用して新しい RSA 暗号化キーを生成するには、次の手順に従います。

  1. Azureポータルでキーボールトに移動します。
  2. サービス メニューの [ オブジェクト] で [キー] を選択 します
  3. 生成/インポート を選択します。 オプション生成を選択します。
  4. キーの名前を入力します。 キー名には、英数字とダッシュのみを含めることができます。
  5. キーの種類RSA キーと RSA キー サイズ2048 (または 3072/4096) に設定します。
  6. を選択してを作成します。

Azure ポータルを使用して既存の RSA 暗号化キーをインポートするには、次の手順に従います。

  1. Azureポータルでキーボールトに移動します。
  2. サービス メニューの [ オブジェクト] で [キー] を選択 します
  3. 生成/インポート を選択します。 オプションインポート を選択します。
  4. アップロードするキーを選択します。
  5. キーの名前を入力します。 キー名には、英数字とダッシュのみを含めることができます。
  6. [キーの種類][RSA] に設定します。
  7. を選択してを作成します。

手順 3: マネージド ID を作成し、アクセス許可を割り当てる

ストレージ アカウントには、キー コンテナーに対する認証に マネージド ID が 必要です。 マネージド ID を使用することで、ストレージ アカウントは資格情報を格納することなく、キー コンテナー内の暗号化キーに安全にアクセスできます。

ユーザー割り当てマネージド ID を作成し、その ID に key vault の Key Vault Crypto Service Encryption User ロールを付与します。

ユーザー割り当てマネージド ID を作成する

Azure ポータル、Azure PowerShell、またはAzure CLIを使用して、ユーザー割り当てマネージド ID を作成します。

Azure ポータルを使用してユーザー割り当てマネージド ID を作成するには、次の手順に従います。

  1. マネージド ID を検索し、[作成] を選択します。
  2. サブスクリプション、リソース グループ、リージョン、および名前を選択します。
  3. [確認と作成] を選択し、次に [作成] を選択します。

Key Vault Crypto Service Encryption ユーザー ロールをマネージド ID に割り当てる

Key Vault Crypto Service Encryption User ロールを、Azure ポータル、PowerShell、またはAzure CLIを使用して作成したマネージド ID に割り当てます。

Key Vault Crypto Service Encryption User ロールをマネージド ID に割り当てるには、Azure ポータルを使用して、次の手順に従います。

  1. Azureポータルでキーボールトに移動します。
  2. サービス メニューから、 アクセス制御 (IAM) を選択します。
  3. [このリソースへのアクセス権の付与][ロールの割り当ての追加] を選択します。
  4. Key Vault Crypto Service Encryption User を検索して選択し、 Next を選択します。
  5. [アクセスの割り当て先][マネージド ID] を選択します。
  6. [ メンバー] で 、[ +メンバーの選択] を選択します
  7. [ マネージド ID の選択] ウィンドウが開きます。 [マネージド ID] で、[ユーザー割り当てマネージド ID] を選択します。
  8. 作成したマネージド ID を選び、[選択] をクリックします。
  9. [確認と割り当て] を選択し、もう一度 [確認と割り当て] を選択します。

手順 4: ストレージ アカウントでカスタマー マネージド キーを構成する

キー コンテナー、キー、およびマネージド ID を配置すると、ストレージ アカウントでカスタマー マネージド キーを有効にすることができます。

暗号化にキーを使用するようにストレージ アカウントを構成するには、次の手順に従います。 Azure ポータルでは、キーの自動バージョン更新が常に使用されます。 代わりに手動のキー バージョン管理を使用するには、Azure PowerShellまたはAzure CLIを使用し、キーのバージョンを指定します。

Important

ネットワーク セキュリティ境界に関連付けられているストレージ アカウントの場合、キー コンテナーは、理想的には同じネットワーク セキュリティ境界内に存在する必要があります。 そうでない場合は、ストレージ アカウントがキー ボールトと通信できるように、キー ボールトのネットワーク セキュリティ境界プロファイルを構成する必要があります。

既存のストレージ アカウントのカスタマー マネージド キーを構成する

Azure ポータル、Azure PowerShell、またはAzure CLIを使用して、既存のストレージ アカウントでカスタマー マネージド キーを構成できます。

Azure ポータルを使用して既存のストレージ アカウントでカスタマー マネージド キーを構成するには、次の手順に従います。 ポータルでは、既定でキーバージョンの自動更新が使用されます。 キーのバージョンを指定することはできません。

  1. ストレージ アカウントに移動します。
  2. サービス メニューの [ セキュリティとネットワーク] で、[ 暗号化] を選択します。
  3. [ 暗号化の種類] で、[ Customer-Managed キー] を選択します。 ストレージ アカウントが CMK 用に既に構成されている場合は、[ キーの変更] を選択します。
  4. [暗号化キー] で、[キー コンテナーから選択] を選択します。
  5. [Key Vault とキーを選択] を選択し、お使いの Key Vault とキーを選択します。
  6. [ID の種類] で、[ユーザー割り当て] を選択して、以前に作成したユーザー割り当てマネージド ID を使用します。
  7. ユーザー割り当てマネージド ID を検索して選択し、[ 追加] を選択します。
  8. 保存を選びます。

カスタマー マネージド キーを構成するための暗号化の選択とキーの選択を示すスクリーンショット。

新しいストレージ アカウントのカスタマー マネージド キーを構成する

Azure ポータル、Azure PowerShell、またはAzure CLIを使用して、新しいストレージ アカウントを作成するときにカスタマー マネージド キーを構成できます。

ストレージ アカウントが作成されるまで ID が存在しないため、ストレージ アカウントの作成時にシステム割り当て ID を使用することはできません。 ユーザー割り当てマネージド ID を使用する必要があります。

Azure ポータルを使用して新しいストレージ アカウントのカスタマー マネージド キーを構成するには、次の手順に従います。 ポータルでは、既定でキーバージョンの自動更新が使用されます。 キーのバージョンを指定することはできません。

  1. ストレージ アカウントの作成時に [暗号化] タブで、[暗号化の種類] に [カスタマー マネージド キー (CMK)] を選択します。
  2. [ 暗号化キー] で、[ キー コンテナーとキーの選択] を選択し、キー コンテナーとキーを選択します。
  3. [ ユーザー割り当て ID] で、[ ID の選択] を選択します。 [ ユーザー割り当てマネージド ID の選択] ウィンドウが開きます。
  4. 事前に作成されたユーザー割り当てマネージド ID を検索して選択します。 新しいストレージ アカウントでは、システム割り当てマネージド ID を使用できません。
  5. [] を選択し、[] を追加します。
  6. 残りのタブを完了し、[ 確認と作成] を選択します。

手順 5: 構成を確認する

カスタマー マネージド キーを有効にしたら、ストレージ アカウントで暗号化が正しく構成されていることを確認します。 これを行うには、Azure ポータル、Azure PowerShell、またはAzure CLIを使用します。

Azure ポータルを使用してストレージ アカウントの構成を確認するには、次の手順に従います。

  1. Azure portal で、ストレージ アカウントに移動します。
  2. サービス メニューの [ セキュリティとネットワーク] で、[ 暗号化] を選択します。
  3. [暗号化の種類] に [Customer-Managed キー] が表示されていることを確認します。
  4. [キーの選択] の情報が正しいことを確認します。

キーのローテーション

暗号化キーを定期的にローテーションすると、キーが侵害された場合の公開が制限されます。 カスタマー マネージド キーを使用するストレージ アカウントの暗号化をローテーションするには、次の 2 つの方法があります。

  • キー のバージョンをローテーションする - キー保管庫で同じキーの新しいバージョンを作成します。 キー名は変わりませんが、バージョンは変更されます。
  • キーを変更する - ストレージ アカウントを切り替えて、同じキー コンテナーまたは別のキー コンテナー内のまったく異なるキー (別の名前) を使用します。

Important

Azureはキー ボールトにおいて新しいキー バージョンを日に一度だけチェックします。 キーをローテーションした後、以前のキー バージョンを無効にする前に 24 時間待ちます。

キー バージョンをローテーションする

セキュリティのベスト プラクティスについては、キー バージョンを少なくとも 2 年に 1 回ローテーションします。

キー のバージョン (Azure ポータルを使用する場合は既定値) を指定せずにカスタマー マネージド キーを構成した場合、Azureは新しいキー バージョンを毎日自動的にチェックします。 キー コンテナーに新しいバージョンのキーを作成すると、Azure は 24 時間以内にそれを検出します。 Azure Key Vault自動キー ローテーションを構成して>スケジュールに基づいて新しいキー バージョンを生成することもできます。

キー バージョンの手動ローテーション

PowerShell または Azure CLI を使用してカスタマー マネージド キーを構成するときにキー バージョンを指定した場合、Azureはその特定のバージョンを使用し、新しいバージョンを自動的にチェックしません。 新しいキー バージョンをポイントするように、ストレージ アカウントの構成を手動で更新する必要があります。

Azure ポータルでは、キー バージョンの手動ローテーションはサポートされていません。 キーのバージョンを手動でローテーションするには、Azure PowerShellまたはAzure CLIを使用します。

キーを変更する

まったく異なるキーを使用するようにストレージ アカウントを切り替えるには、キー コンテナーに新しいキーを作成またはインポートし ( 暗号化キーの作成またはインポートを参照)、新しいキーを使用するようにストレージ アカウントの暗号化構成を更新します。

Azure ポータルを使用してキーを変更するには、次の手順に従います。

  1. ストレージ アカウントに移動します。
  2. サービス メニューの [ セキュリティとネットワーク] で、[ 暗号化] を選択します。
  3. [キーの変更] を選びます。
  4. [ キー コンテナーとキーの選択] を選択し、キー コンテナーと新しいキーを選択します。
  5. 保存を選びます。

キーを無効にしてファイル共有データへのアクセスを取り消す

カスタマー マネージド キーを無効または削除することで、暗号化されたファイル共有データへのアクセスをすぐにブロックできます。 キーが無効になっている間、次のようなすべてのAzure Filesデータ プレーン操作が HTTP 403 (禁止) で失敗します。

  • ディレクトリとファイルを一覧表示する
  • ディレクトリまたはファイルの作成/取得/設定
  • ファイル メタデータの取得/設定
  • 範囲の配置、ファイルのコピー、ファイル名の変更

ファイル共有データへのアクセスを取り消すには、Azure ポータル、Azure PowerShell、またはAzure CLIを使用して、キー コンテナー内のキーを無効にします。 キーを再度有効にして、アクセスを復元します。

Azure ポータルを使用してキーを無効にするには、次の手順に従います。

  1. Azureポータルでキーボールトに移動します。
  2. サービス メニューの [ オブジェクト] で [キー] を選択 します
  3. キーを右クリックし、[無効] を選択します。

Microsoft マネージド キーに切り替える

カスタマー マネージド キーが不要になった場合は、Azure ポータル、Azure PowerShell、またはAzure CLIを使用して、ストレージ アカウントを暗号化にMicrosoftマネージド キーを使用するように切り替えることができます。

Azure ポータルを使用してMicrosoftマネージド キーに戻すには、次の手順に従います。

  1. Azure portal で、ストレージ アカウントに移動します。
  2. サービス メニューの [ セキュリティとネットワーク] で、[ 暗号化] を選択します。
  3. Encryption の種類Microsoft-Managed Keys に変更します。
  4. 保存を選びます。

暗号化とキー管理の詳細については、次の記事を参照してください。