Azure Container RegistryのCMK暗号化設定について

このブログシリーズ 「クラウドセキュリティ 実践集」 では、一般的なセキュリティ課題を取り上げ、「なぜ危険なのか?」 というリスクの解説から、 「どうやって直すのか?」 という具体的な修復手順(コンソール、Azure CLI、Terraformなど)まで、分かりやすく解説します。

この記事では、Azure Container Registry でカスタマーマネージドキー(CMK)による暗号化の設定について、リスクと対策を詳細に解説します。

ポリシーの説明

Azure Container Registry は、既定でサービス管理キーを使用してレジストリ内のイメージとアーティファクトを暗号化しています。しかし、カスタマーマネージドキー(CMK)を使用することで、Azure Key Vault に格納した独自のキーで追加の暗号化レイヤーを適用でき、暗号化プロセスを完全に制御できます。

修復方法

コンソールでの修復手順

Azure コンソールを使用して、Container Registry にカスタマーマネージドキーによる暗号化を設定します。

前提条件の確認

  1. Premium サービス レベルの Azure Container Registry が必要です
  2. Azure Key Vault が同じリージョンに存在している必要があります
  3. ユーザー割り当てマネージド ID が必要です
  4. Key Vault でソフト削除と消去保護が有効になっている必要があります

ステップ 1: ユーザー割り当てマネージド ID の作成

  1. Azure Portal にログインし、「マネージド ID」を検索して選択します
  2. 「+ 作成」をクリックして新しいユーザー割り当てマネージド ID を作成
  3. 以下の情報を入力:
    • サブスクリプション:該当のサブスクリプションを選択
    • リソース グループ:Container Registry と同じリソース グループを選択
    • リージョン:Container Registry と同じリージョンを選択
    • 名前:「acr-cmk-identity」など分かりやすい名前を入力
  4. 「確認および作成」→「作成」をクリック

ステップ 2: Azure Key Vault の設定

  1. Azure Portal で「Key Vaults」を検索して選択
  2. 既存の Key Vault を選択するか、新規作成します
    • 新規作成の場合、「ソフト削除」と「消去保護」を必ず有効化
  3. Key Vault のメニューから「アクセス ポリシー」を選択(RBACではなくVault Access Policyを使用)
  4. 「+ アクセス ポリシーの追加」をクリック
  5. キーのアクセス許可で以下を選択:
    • 取得 (Get)
    • キーのラップ解除 (Unwrap Key)
    • キーのラップ (Wrap Key)
  6. プリンシパルの選択で、先ほど作成したマネージド ID を選択
  7. 「追加」をクリックし、「保存」で変更を適用

ステップ 3: 暗号化キーの作成

  1. Key Vault のメニューから「キー」を選択
  2. 「+ 生成/インポート」をクリック
  3. 以下の設定でキーを作成:
    • オプション:生成
    • キーの種類:RSA
    • RSA キー サイズ:2048 または 3072 または 4096
    • キー名:「acr-encryption-key」など
    • 有効化:はい
    • アクティブ化の日付:現在の日時(既定)
    • 有効期限:必要に応じて設定(推奨:1年後)
  4. 「作成」をクリック
  5. 作成したキーをクリックし、現在のバージョンを選択してキー識別子をコピー

ステップ 4: Container Registry の作成(CMK 有効)

  1. Azure Portal で「コンテナー レジストリ」を検索
  2. 「+ 作成」をクリック
  3. 基本設定タブで以下を入力:
  • サブスクリプション:該当のサブスクリプション
  • リソース グループ:選択または新規作成
  • レジストリ名:一意の名前を入力
  • 場所:Key Vault と同じリージョン
  • 可用性ゾーン:有効(推奨)
  • SKU:Premium(必須)
  1. 「暗号化」タブに移動
  2. 暗号化の設定:
  • 暗号化の種類:「カスタマー マネージド キー」を選択
  • ID:作成したユーザー割り当てマネージド ID を選択
  • 暗号化キー:「Key Vault から選択」を選択
  • Key Vault:設定済みの Key Vault を選択
  • キー:作成したキーを選択
  • バージョン:最新バージョンを選択
  1. 「ネットワーク」タブで以下を設定(推奨):
    • パブリック ネットワーク アクセス:選択したネットワークまたは無効
  2. 「確認および作成」→「作成」をクリック

ステップ 5: 既存のContainer Registryへの適用 既存のPremium SKU Container Registryにカスタマーマネージドキーを適用する場合:

  1. 対象のContainer Registryに移動
  2. 「設定」→「暗号化」を選択
  3. 「カスタマー マネージド キー」を選択
  4. 「変更」をクリックし、マネージドIDとキーを設定
  5. 「保存」をクリック

ステップ 6: 設定の確認

  1. Container Registry の「暗号化」設定を確認
  2. Azure Monitor でキーアクセスのログを確認
  3. テストイメージのプッシュ/プルを実行して動作確認

最後に

この記事では、Azure Container Registry でカスタマーマネージドキーによる暗号化を有効化する詳細な手順を解説しました。CMK暗号化を実装することで、暗号化キーの完全な制御を実現し、規制要件への準拠とセキュリティ体制の強化が可能になります。特に、適切なキー管理、アクセス制御、監視設定を組み合わせることで、エンタープライズレベルのセキュリティを実現できます。

この問題の検出は弊社が提供するSecurifyのCSPM機能で簡単に検出及び管理する事が可能です。 運用が非常に楽に出来る製品になっていますので、ぜひ興味がある方はお問い合わせお待ちしております。 最後までお読みいただきありがとうございました。この記事が皆さんの役に立てば幸いです。

参考情報

この記事をシェアする

クラウドセキュリティ対策実践集一覧へ戻る

貴社の利用状況に合わせた見積もりを作成します。

料金プランを詳しく見る