Batch アカウント証明書を Azure Key Vault に移行する
2024 年 2 月 29 日に、Azure Batch アカウント証明書機能は廃止されます。 この記事では、Azure Key Vault を使用して、Azure Batch アカウントの証明書を移行する方法について説明します。
機能について
証明書は、シークレットの復号化、通信チャネルのセキュリティ保護、別のサービスへのアクセスなど、さまざまなシナリオで必要になることがよくあります。 現時点では、Azure Batch には、Batch プールで証明書を管理する 2 つの方法が用意されています。 Batch アカウントに証明書を追加することも、Azure Key Vault VM 拡張機能を使用して Batch プール上の証明書を管理することもできます。 Azure Batch アカウントの証明書機能と、プールの追加、プールのパッチ適用、プロパティ更新 のために CertificateReference
を使って Batch プールに拡張される機能および Get と List Pool API の対応する参照のみが廃止されます。 さらに、Linux プールの場合、環境変数 $AZ_BATCH_CERTIFICATES_DIR
は定義も設定も行われなくなります。
機能のサポート終了
Azure Key Vault は、Azure 全体でシークレットと証明書を安全に格納およびアクセスするための標準的な推奨メカニズムです。 そのため、2024 年 2 月 29 日に、Azure Batch の Batch アカウント証明書機能は廃止されます。 代わりに、Batch プールの証明書への安全なアクセスおよびインストールには、Azure Key Vault VM 拡張機能とプール上のユーザー割り当てマネージド ID を使用します。
Azure Batch の証明書機能が 2024 年 2 月 29 日に廃止されると、Batch の証明書は期待どおりに機能しません。 その日を過ぎると、Batch アカウントに証明書を追加したり、これらの証明書を Batch プールにリンクしたりできなくなります。 この日付以降もこの機能を引き続き使用するプールでは、証明書参照の更新や既存の証明書参照のインストールなどが、期待どおりに動作しない可能性があります。
代替手段: プール ユーザー割り当てマネージド ID で Azure Key Vault VM 拡張機能を使用する
Azure Key Vault は、シークレット、証明書、トークン、キーを格納および管理するための制御されたアクセスを提供するフル マネージドの Azure サービスです。 Azure Key Vault では、キー コンテナーからクライアント アプリケーションへのデータ フローが確実に暗号化されるようにすることで、トランスポート層でセキュリティが提供されます。 Azure Key Vault では、重要なアクセス情報を格納し、きめ細かなアクセス制御を設定するための安全な方法が提供されます。 1 つのダッシュボードからすべてのシークレットを管理できます。 ソフトウェアで保護された、またはハードウェアで保護されたハードウェア セキュリティ モジュール (HSM) にキーを格納することを選択できます。 Key Vault を自動的に新しい証明書に設定することもできます。
プール ユーザー割り当てマネージド ID を使用して Azure Key Vault VM 拡張機能を有効にする方法の完全なガイドについては、「Batch プールで証明書の自動ローテーションを有効にする」を参照してください。
FAQ
CloudServiceConfiguration
プールでは、プール上の Azure Key Vault VM 拡張機能とマネージド ID がサポートされますか?いいえ。
CloudServiceConfiguration
プールは、2024 年 2 月 29 日の Azure Batch アカウント証明書の提供終了と同じ日に廃止されます。 これらのソリューションを使用できる日付より前にプールに移行VirtualMachineConfiguration
することをお勧めします。ユーザー サブスクリプション プールの割り当て Batch アカウントでは Azure Key Vault がサポートされますか?
はい。 プールで使用する場合と同じ Key Vault を Batch アカウントで使用できますが、Batch プールの証明書に使用する Key Vault は完全に分離されている場合があります。
Key Vault VM 拡張機能では、Linux プールと Windows Batch プールの両方がサポートされていますか?
Key Vault VM 拡張機能を使用して既存のプールを更新できますか?
いいえ。これらのプロパティはプールで更新できません。 プールを再作成する必要があります。
$AZ_BATCH_CERTIFICATES_DIR
が削除された後に、Linux Batch プールの証明書への参照を取得するにはどのようにすればよいですか?Linux 用 Key Vault VM 拡張機能を使用すると、証明書が
certificateStoreLocation
格納される場所への絶対パスである 、このパスを指定できます。 Key Vault VM 拡張機能は、スーパーユーザー (ルート) 特権のみを使用して、指定した場所にインストールされた証明書のスコープを設定します。 これらの証明書に既定でアクセスするには、タスクが管理者特権で実行されていることを確認するか、証明書をアクセス可能な直接にコピーするか、適切なファイル モードで証明書ファイルを調整する必要があります。 このようなコマンドは、昇格された開始タスクまたはジョブ準備タスクの一部として実行できます。秘密キーを含まないファイルをインストール
.cer
操作方法Key Vault では、秘密キー情報が含まれていないため、これらのファイルは特権とは見なされません。 次のいずれかの方法を使用してファイルをインストール
.cer
できます。 関連するユーザー割り当てマネージド ID に対する適切なアクセス特権を持つ Key Vault シークレット を使用し、インストールする開始タスクの一部としてファイルをフェッチ.cer
します。 または、ファイルを.cer
Azure Storage BLOB として格納し、Batch リソース ファイル として参照して、インストールする開始タスクに格納します。タスク レベルの非管理者自動ユーザー プール ID の Key Vault 拡張機能によってインストールされた証明書にアクセス操作方法
タスク レベルの自動ユーザーはオンデマンドで作成され、Key Vault VM 拡張機能でプロパティに
accounts
指定するために事前に定義することはできません。 タスク レベルの自動ユーザーによるアクセスに適した、一般的にアクセス可能なストアまたは ACL に必要な証明書をエクスポートするカスタム プロセスが必要です。Azure Key Vault を使用するためのベスト プラクティスはどこで確認できますか?
Azure Key Vault のベスト プラクティスに関するページを参照してください。
次のステップ
詳細に関しては、Key Vault の証明書のアクセスの制御に関するページを参照してください。 この移行に関連する Batch 機能の詳細については、Azure Batch のプール拡張機能と Azure Batch のプール マネージド ID に関するページを参照してください。