Batch 用の Azure セキュリティ ベースライン

このセキュリティ ベースラインにより、Azure セキュリティ ベンチマーク バージョン 2.0 のガイダンスが Azure Batch に適用されます。 Azure セキュリティ ベンチマークには、Azure 上のクラウド ソリューションをセキュリティで保護する方法に関する推奨事項がまとめてあります。 内容は、Batch に適用される Azure セキュリティ ベンチマークと関連ガイダンスで定義されているセキュリティ コントロールによってグループ化されています。

このセキュリティ ベースラインとその推奨事項は、Microsoft Defender for Cloud を使用して監視できます。 Azure Policy定義は、Microsoft Defender for Cloud ダッシュボードの [規制コンプライアンス] セクションに一覧表示されます。

セクションに関連するAzure Policy定義がある場合は、Azure セキュリティ ベンチマークのコントロールと推奨事項への準拠を測定するために、このベースラインに一覧表示されます。 一部の推奨事項では、特定のセキュリティ シナリオを有効にするために有料の Microsoft Defender プランが必要になる場合があります。

Note

Batch に適用されないコントロールと、グローバルなガイダンスが一字一句たがえず推奨されるコントロールは、除外されています。 Batch を完全に Azure セキュリティ ベンチマークにマップする方法については、完全な Batch セキュリティ ベースライン マッピング ファイルを参照してください。

ネットワークのセキュリティ

詳細については、Azure セキュリティ ベンチマークの「ネットワークのセキュリティ」を参照してください。

NS-1: 内部トラフィック用のセキュリティを実装する

ガイダンス: 仮想ネットワーク内に Azure Batch プールをデプロイします。 Azure 仮想ネットワークのサブネットでプールをプロビジョニングできます。 このアクションにより、プールの計算ノードは、他の仮想マシンまたはオンプレミス ネットワークと安全に通信することができます。 仮想ネットワーク内にプールをデプロイしますか。 該当する場合は、個々のノードのネットワーク インターフェイス (NIC) とサブネットをセキュリティで保護するために使われるネットワーク セキュリティ グループ (NSG) を制御できます。 その NSG を、インターネット上の信頼できる IP または場所からのトラフィックのみを許可するように構成します。

ポート 3389 (Windows) または 22 (Linux) 上で一般に公開されている RDP/SSH エンドポイントを無効にします。 そうすると、外部ソースは Batch 計算ノードに接続したり、リモート アクセスを検出したりできなくなります。 割り当てられたネットワーク セキュリティ グループに対して Just-In-Time メカニズムを使ってアクセスできるように、これらのポートを構成します。

特定の MPI ランタイムでマルチインスタンス タスクをサポートする必要がありますか。 Linux では、状況に応じてポート 22 の規則を有効にする必要があります。 ただし、これらのポートでトラフィックを許可することは、プール計算ノードを使用できるようにするために厳密には必要ありません。

責任: Customer

NS-2: プライベート ネットワークをまとめて接続する

ガイダンス: Azure Batch を仮想ネットワークに直接デプロイできるので、他のネットワークから Batch リソースへのアクセスを有効にする方法は多数あります。

Azure ExpressRoute または Azure 仮想プライベート ネットワーク (VPN) を使って、Azure のデータセンターとオンプレミスのインフラストラクチャ間のプライベート接続を作成できます。 これらの接続は、Batch リソースをホストするネットワークへのコロケーション環境内で行われます。 ExpressRoute 接続はパブリックなインターネットを経由しません。 一般的なインターネット接続と比較すると、ExpressRoute 接続には次の特徴があります。

  • 信頼性が高い
  • 高速
  • 待機時間が短い

ポイント対サイト VPN とサイト間 VPN では、これらの VPN オプションと Azure ExpressRoute の任意の組み合わせを使用して、オンプレミスのデバイスやネットワークを仮想ネットワークに接続できます。

Azure で 2 つ以上の仮想ネットワークを接続するには、仮想ネットワーク ピアリングまたは Private Link を使用します。 ピアリングされた仮想ネットワーク間のネットワーク トラフィックはプライベートであり、Azure のバックボーン ネットワーク上に保持されます。

責任: Customer

NS-3: Azure サービスへのプライベート ネットワーク アクセスを確立する

ガイダンス: パブリック IP アドレスのないプールをプロビジョニングすることで、ノードへのアクセスを制限し、インターネットからのノードの探索可能性を低く抑えることができます。 そのプールを Azure 仮想ネットワークのサブネット内にプロビジョニングする場合は、計算ノードが他の仮想マシン、またはオンプレミス ネットワークと安全に通信できるようにします。 Azure Private Link を使用して、インターネットを経由せずに、仮想ネットワークから Batch へのプライベート アクセスを有効にすることができます。 Azure Private Link サービスはセキュリティで保護されています。 認証され、認可されたプライベート エンドポイントからの接続のみを受け入れます。 Azure Batch のプライベート エンドポイントを構成することは、より安全であり、オファリングの機能は制限されません。

責任: Customer

NS-4: 外部ネットワーク攻撃からアプリケーションやサービスを保護する

ガイダンス: Azure リソースは、次のような外部ネットワーク攻撃から保護されます。

  • 分散型サービス拒否 (DDoS) 攻撃。
  • アプリケーション固有の攻撃。
  • 未承諾で悪意のある可能性があるインターネット トラフィック。

Azure Firewall を使って、仮想ネットワーク内のアプリケーションとサービスを保護します。 インターネットや他の外部の場所からの悪意のある可能性があるトラフィックを避けます。 DDoS 攻撃から資産を保護するには、Azure 仮想ネットワークで DDoS 標準保護を有効にします。 Microsoft Defender for Cloud を使用して、ネットワーク関連リソースに対する誤った構成のリスクを検出します。

責任: 共有

NS-6: ネットワーク セキュリティ規則を簡略化する

ガイダンス: Azure Batch で組み込みの Azure Virtual Network Service タグを使って、ネットワーク アクセス制御を定義します。 ネットワーク アクセス制御は、Batch リソースに構成されている NSG または Azure Firewall に適用されます。

Azure Batch 専用のデプロイ上に、管理トラフィック用のネットワーク セキュリティ規則を作成する必要はありますか。 該当する場合は、特定の IP アドレスではなく "BatchNodeManagement" サービス タグを使います。 パブリック エンドポイントを持つ Azure サービスにアクセスする一方で、ネットワークの分離も実現します。 また、一般的なインターネットから Azure リソースを保護します。

規則のソースまたは対象でサービス タグ名を指定することにより、対応するサービスのトラフィックを許可または拒否できます。 サービス タグに包含されるアドレス プレフィックスは、Microsoft が管理します。 アドレスの変更に応じて、サービス タグが自動的に更新されます。

NSG は、受信および送信のトラフィック規則を定義するのに役立ちます。 NSG またはその他の関連するネットワーク セキュリティと Azure Batch プールに関連するトラフィック フローにタグを使います。 Azure Batch サービスで使われる IP プロトコルは IPv4 と Pv6 です。

責任: Customer

NS-7: セキュリティで保護されたドメイン ネーム サービス (DNS)

ガイダンス: 権限のある DNS サービスとして Azure DNS が使用されている場合は、Azure ロールベースのアクセス制御 (Azure RBAC) とリソース ロックを使用して、DNS ゾーンとレコードが偶発的または悪意のある変更から保護します。 Azure アクティビティ ログを監視すると、組織内のユーザーがリソースを変更した方法を把握できます。 または、ログは、トラブルシューティングのときにエラーを見つけるために役立ちます。 Azure Batch にプライベート エンドポイントを使う場合は、プライベート エンドポイントをプライベート DNS ゾーンと統合することをお勧めします。 独自の DNS サーバーを使用したり、仮想マシン上のホスト ファイルを使用して DNS レコードを作成したりすることができます。

責任: Customer

ID 管理

詳細については、Azure セキュリティ ベンチマークの「ID 管理. 」を参照してください。

IM-1:Azure Active Directory を中央 ID および認証システムとして標準化する

ガイダンス: Azure Active Directory (Azure AD) は、Batch の既定の認証および認可システムとして使われます。 Azure AD を標準化して、組織の ID とアクセス管理を統制します。 Batch アカウントへのアクセスでは、次の 2 つの認証方法がサポートされます。共有キーと Azure Active Directory (Azure AD) です。 Batch アカウント認証には Azure AD を使用することを強くお勧めします。 一部の Batch 機能では、多くのセキュリティ関連機能を含め、この認証方法が必要になります。

Azure AD をセキュリティで保護することは、組織のクラウド セキュリティ プラクティスにおいて優先順位を高くしてください。 Azure AD の ID セキュリティ スコアを使うと、ID セキュリティ体制を Microsoft のベスト プラクティスの推奨事項と比較できます。 セキュリティ体制を強化するには、このスコアを使って、構成がベスト プラクティスの推奨事項とどの程度一致しているかを測定できます。

責任: Customer

IM-2:アプリケーション ID を安全かつ自動的に管理する

ガイダンス: Azure Batch では、Azure リソースのマネージド ID がサポートされています。 他のリソースにアクセスするためにサービス プリンシパルを作成する代わりに、Batch でマネージド ID を使用することができます。 Batch により、Azure AD 認証をサポートする Azure のサービスとリソースに対してネイティブに認証を行うことができます。 この認証は、ソース コードや構成ファイルにハードコーディングされた資格情報を使わずに、定義済みのアクセス許可規則によって実行されます。

Batch では、Azure AD を使用して、リソース レベルでアクセス許可が制限されるサービス プリンシパルを作成することをお勧めします。 証明書の資格情報を使ってこのサービス プリンシパルを構成し、クライアント シークレットにフォールバックします。 どちらの場合も、Azure マネージド ID で Azure Key Vault を使用できます。 そして、ランタイム環境 (Azure Batch プールなど) では、このキー コンテナーから資格情報を取得できます。

責任: Customer

IM-6:条件に基づいて Azure リソースへのアクセスを制限する

ガイダンス: Azure Batch リソースの管理を制限するには、Azure AD の条件付きアクセスを使って、ユーザー定義の条件に基づいてより細かいアクセス制御を行います。 たとえば、特定の IP 範囲からのユーザーのサインインに MFA を使うことを必須にする場合があります。 また、さまざまなユース ケースに対する Azure AD 条件付きアクセス ポリシーを通じて詳細な認証セッションの管理を使うこともできます。 この条件付きアクセスは、Batch アカウントへのクライアント認証に使われる共有キーには適用されません。 これらのキーではなく Azure AD を使うことをお勧めします。

責任: Customer

IM-7:意図しない資格情報の公開を排除する

ガイダンス: Azure Batch では、お客様が (場合によっては ID またはシークレットを使って) コードを実行できます。 Azure Batch コードまたは構成内の資格情報を特定するために、Credential Scanner を実装することをお勧めします。 また、資格情報スキャナーを使うと、検出された資格情報を、Azure Key Vault などのより安全な場所に移動しやすくなります。

GitHub の場合、ネイティブ シークレット スキャン機能を使用して、コード内で資格情報やその他の形式のシークレットを識別できます。

責任: Customer

特権アクセス

詳細については、Azure セキュリティ ベンチマークの「特権アクセス」を参照してください。

PA-1:高い特権を持つユーザーを保護および制限する

ガイダンス: Azure Batch アプリケーションの認証を Azure AD と統合します。 専用の管理ロールとアクセス許可を使うポリシーと手順を作成します。

タスクを実行するユーザー アカウントは、特権アクセス権を使ってタスクを実行するかどうかを示すレベルに設定できます。 自動ユーザー アカウントおよび名前付きのユーザー アカウントの両方とも、特権アクセスでの実行が可能です。 昇格レベルには次の 2 つのオプションがあります。

  • NonAdmin: タスクは特権アクセスのない標準ユーザーとして実行されます。 Batch ユーザー アカウントの既定の昇格レベルは常に NonAdmin です。

  • Admin: タスクは特権アクセスを持つユーザーとして実行され、完全な管理者権限が付与されます。

Azure Batch タスクの昇格に適切にスコープを設定します。 可能な限り、永続的な管理者レベルのアクセス許可を使わないでください。

責任: Customer

PA-3:ユーザー アクセスを定期的に確認して調整する

ガイダンス: Azure Batch では、リソースを管理する認証を提供するために Azure AD を使います。 アカウントとそのアクセスが有効であることを確認するために、定期的にユーザー アカウントを確認し、割り当てにアクセスします。 Azure AD とアクセス レビューを使用して、次のことをレビューできます。

  • グループ メンバーシップ
  • エンタープライズ アプリケーションへのアクセス
  • ロールの割り当て

Azure AD レポートによって、古いアカウントの検出に役立つログが提供されます。 レビュー プロセスを改善するために、Azure AD Privileged Identity Management (PIM) を使って、アクセス レビューのレポート ワークフローを作成することもできます。

過剰な数の管理者アカウントが作成された場合に警告するように Azure AD PIM を構成できます。 または、古い、または不適切に構成されている管理者アカウントを特定するように構成します。

注: 一部の Azure サービスでは、Azure AD で管理されていないローカル ユーザーとロールがサポートされています。たとえば、Azure Batch 共有キーなどです。 使う場合はこれらのキーを個別に管理する必要があるので、可能な限り、代わりに Azure AD を使ってください。

責任: Customer

PA-7:Just Enough Administration (最小限の特権の原則) に従う

ガイダンス: Azure Batch は、リソースを管理するために Azure RBAC と統合されています。 Azure RBAC を使用して、ロールの割り当てによって Azure リソースへのアクセスを管理できます。 これらのロールは、次のものに割り当てることができます。

  • ユーザー
  • グループ
  • サービス プリンシパル
  • マネージド ID

特定のリソースには、定義済みの組み込みロールがあります。 これらのロールは、次のようなツールを使用してインベントリまたはクエリを実行できます。

  • Azure CLI
  • Azure PowerShell
  • Azure portal

Azure RBAC を使用してリソースに割り当てる特権は、常に、ロールで必要なものに制限する必要があります。 これらの特権は、Azure AD Privileged Identity Management (PIM) の Just-in-Time (JIT) アプローチを補完するものであり、ときおり見直す必要があります。

組み込みロールを使って、Azure Batch リソースへのアクセス許可を付与します。 Azure Batch を使うと、アクセス許可のニーズに合わせて、Batch 操作に基づくカスタム Azure RBAC ロールを作成することができます。 カスタム ロールを作成するのではなく、可能な限り組み込みロールを使ってください。

責任: Customer

PA-8: Microsoft サポートの承認プロセスを選択する

ガイダンス: Batch は、カスタマー ロックボックスをサポートしていません。 Azure Batch リソースに関連付けられている顧客データにアクセスするために、マイクロソフトは、他の方法による承認のために、サポート シナリオでお客様と協力する場合があります。

責任: Customer

データ保護

詳細については、Azure セキュリティ ベンチマークの「データ保護」を参照してください。

DP-1: 機密データを検出、分類、ラベル付けする

ガイダンス: Azure Batch プールに関連付けられた Azure Storage アカウントが存在する場合があります。 このようなアカウントに、機密情報があるジョブとタスクの出力が含まれている場合、タグを使って機密情報としてマークします。 このようなアカウントは、Azure のベスト プラクティスを使ってセキュリティで保護します。

次の機能は、Azure Storage またはコンピューティング リソースではまだ使用できません。

  • データ ID
  • 分類
  • 損失の防止

コンプライアンスのために必要な場合は、このような機能に対応するサードパーティ ソリューションを実装します。

基になる Azure Batch プラットフォームを Microsoft が管理する場合、すべてのお客様のコンテンツは機密情報として扱われます。 Microsoft は、お客様のデータを損失や漏洩から保護するためにあらゆることを行います。 Azure 内の顧客データが確実にセキュリティで保護されるように、Microsoft では一連の堅牢なデータ保護コントロールおよび機能を保守しています。

責任: 共有

DP-2:機密データを保護する

ガイダンス: Azure Batch を使うと、ジョブとタスクの出力コンテンツを管理することができます。 Azure RBAC を使ってアクセスを制限することで、機密データを保護します。 Batch は、このようなリソースの種類へのアクセスを管理するために Azure RBAC をサポートしています。

  • アカウント
  • ジョブ
  • タスク
  • プール

アクセス制御の一貫性を高めるために、自社の企業のセグメント化戦略とすべての種類のアクセス制御を適合させます。 機密性の高いまたはビジネスクリティカルなデータやシステムを使って、会社のセグメント化戦略を計画します。 次の場合に合わせて個別のサブスクリプションまたは管理グループを実装します。

  • 開発
  • テスト
  • Production

仮想ネットワークごとに Azure Batch プールを分けます。 これらの仮想ネットワークに適切なタグを付け、ネットワーク セキュリティ グループ (NSG) を使ってセキュリティで保護します。 セキュリティで保護された Azure Storage アカウント内に Azure Batch データを格納します。

基になるプラットフォーム (Microsoft によって管理されるもの) の場合、Microsoft は顧客のすべてのコンテンツを機密として扱います。 お客様のデータの損失や露出から保護されます。 Azure 内の顧客データを確実にセキュリティで保護するために、Microsoft では既定のデータ保護コントロールと機能を用意しています。

責任: Customer

DP-3:機密データの不正転送を監視する

ガイダンス: Azure Batch プールに関連付けられた Azure Storage アカウントが存在する場合があります。 このようなアカウントに機密情報が含まれている場合、タグを使って機密情報としてマークします。 このようなアカウントは、Azure のベスト プラクティスを使ってセキュリティで保護します。

次の機能は、Azure Storage またはコンピューティング リソースではまだ使用できません。

  • データ ID
  • 分類
  • 防止

コンプライアンスのために必要な場合は、サードパーティ ソリューションを実装します。

基になるプラットフォームを Microsoft が管理する場合、すべてのお客様のコンテンツは機密情報として扱われます。 Microsoft は、お客様のデータを損失や漏洩から保護するためにあらゆることを行います。 Azure 内の顧客データが確実にセキュリティで保護されるように、Microsoft では一連の堅牢なデータ保護コントロールおよび機能を保守しています。

責任: 共有

DP-4:転送中の機密情報を暗号化する

ガイダンス:転送中のすべての機密情報を暗号化します。 Microsoft Azure リソースの既定では、トランスポート層セキュリティ (TLS) 1.2 をネゴシエートします。 クライアントから Azure Batch プールまたはデータ ストア (Azure Storage アカウント) に接続している場合は、TLS 1.2 以降をネゴシエートできることを確認します。

また、Azure Batch データを含むストレージ アカウントにアクセスするには HTTPS が必要であることを確認します。

責任: 共有

DP-5:保存データを暗号化する

ガイダンス: アクセス制御を補完するため、Batch では保存データを暗号化して、"帯域外" 攻撃 (基になるストレージへのアクセスなど) から保護します。 このプラクティスは、攻撃者がデータを簡単に読み取ったり変更したりできないようにする上で役立ちます。

既定では Azure によって保存データが暗号化されます。 機密性の高いデータの場合は、使用可能なすべての Azure リソースで保存時の追加の暗号化を実装することもできます。 既定では、Azure によって暗号化キーが管理されます。 規制要件を満たすために、Azure には特定の Azure サービス用の独自のキー (カスタマー マネージド キー) を管理するオプションも用意されています。

責任: Customer

アセット管理

詳細については、Azure セキュリティ ベンチマークの「アセット管理」を参照してください。

AM-2: セキュリティ チームが資産インベントリとメタデータに確実にアクセスできるようにする

ガイダンス: セキュリティ チームが、Batch のように、Azure 上の継続的に更新される資産のインベントリにアクセスできるようにします。 組織が新たなリスクにさらされる可能性を評価するため、セキュリティ チームにはこのインベントリが必要です。 また、このようなチームには、継続的なセキュリティ向上のための入力としてもインベントリを使います。

組織の認可済みセキュリティ チームを含めるための Azure AD グループを作成します。 すべての Batch リソースに対する読み取りアクセス権をそのグループに割り当てます。 このアクセス権を使うと、サブスクリプション内で 1 つの高レベルのロールの割り当てに簡略化することができます。 Azure Batch リソースにタグを適用して、より組織的に必要なメタデータを追加します。 タグは、分類方法に従って Batch リソースを論理的に整理するのに役立ちます。 Batch アカウント レベルでは、重要なセキュリティ メタデータのメタデータ タグを追加できます。 ただし、プールや他のバッチ リソースはこれらのタグを継承しません。

責任: Customer

AM-3:承認された Azure サービスのみを使用する

ガイダンス: Azure Policy を使って、環境内でユーザーがプロビジョニングできるサービス (Azure Batch など) を監査および制限します。 Azure Resource Graph を使用して、サブスクリプション内のリソースのクエリまたは検出を行います。 Azure Monitor を使用して、承認されていないサービスが検出されたときにアラートをトリガーするルールを作成します。

責任: Customer

AM-6:コンピューティング リソースで承認済みのアプリケーションのみを使用する

ガイダンス: Azure Batch を使うと、その計算ノードにソフトウェアをインストールすることができます。 現在、Batch では、ノード上で実行できるソフトウェアの "許可リスト" を制限または作成することはできません。 Azure portal または Batch Management API を使って、Batch 上のソフトウェアを管理およびインストールすることができます。 悪意のある、または危険なアプリケーションがインストールされないように、お客様は Azure RBAC を使って適切なアクセスを定義し、Batch ノードを更新できるユーザーを制限する必要があります。

責任: Customer

ログと脅威検出

詳細については、Azure セキュリティ ベンチマークの「ログと脅威検出」を参照してください。

LT-1:Azure リソースの脅威検出を有効にする

ガイダンス: Azure Batch の診断ログとアクティビティ ログを SIEM ソリューションに転送します。 SIEM を使って、カスタム脅威検出を設定することができます。 潜在的な脅威や異常を検出するために、さまざまな種類の Azure 資産を監視します。 アナリストが選別しやすいように、質の高いアラートを取得して誤検知を減らします。 アラートは、ログ データ、エージェント、その他のデータを元に生成できます。

Microsoft Defender for Cloud には、Microsoft Defender を使った Azure Batch リソースの脆弱性評価機能がありません。 Batch のセキュリティに基づく推奨事項は表示されます。

責任: Customer

LT-4:Azure リソースのログ記録を有効にする

ガイダンス: 自動的に利用できるアクティビティ ログには、Azure Batch リソースに対するすべての書き込み操作 (PUT、POST、DELETE) が含まれています。 ログには読み取り操作 (GET) は含まれません。 トラブルシューティング時に、アクティビティ ログを使用してエラーを見つけることができます。 または、このログを使って、組織内のユーザーがリソースを変更した方法を監視することができます。

ServiceLog と AllMetrics というログの種類について、Azure Batch の Azure リソース ログを有効にします。 これらのログを使うと、セキュリティ インシデントを調査し、フォレンジック演習を行うことができます。 監視する各 Batch アカウントに対して、これらのログを明示的に有効にします。 または、Azure Policy を使って、リソース ログとログ データの大規模な収集を有効にすることもできます。

Azure Batch リソース レベルの監視では、Azure Batch API を使って、次のようなリソースの状態の監視またはクエリを実行します。

  • ジョブ
  • タスク
  • ノード
  • プール

詳細については、次の記事を参照してください。

責任: Customer

Microsoft Defender for Cloud による監視: Azure セキュリティ ベンチマークは Microsoft Defender for Cloud の既定のポリシー イニシアチブであり、Microsoft Defender for Cloud の推奨事項の基礎となります。 このコントロールに関連する Azure Policy 定義は、Microsoft Defender for Cloud によって自動的に有効になります。 このコントロールに関連するアラートでは、関連するサービスのために Microsoft Defender プランが必要になる場合があります。

Azure Policy 組み込み定義 - Microsoft.Batch:

名前
(Azure portal)
説明 効果 Version
(GitHub)
Batch アカウントのリソース ログを有効にする必要がある リソース ログが有効になっていることを監査します。 これにより、セキュリティ インシデントが発生した場合やお使いのネットワークが侵害された場合に、調査目的で使用するアクティビティ証跡を再作成できます AuditIfNotExists、Disabled 5.0.0

LT-6:ログの保持期間を構成する

ガイダンス: Azure Batch ログの保存に使うストレージ アカウントまたは Log Analytics ワークスペースはありますか。 該当する場合は、組織のコンプライアンス規則に従ってログの保持期間を設定します。

責任: Customer

LT-7:承認された時刻同期ソースを使用する

ガイダンス: Batch は、独自の時刻同期ソースの構成をサポートしていません。

Batch サービスは、Microsoft の時刻同期ソースに依存しています。 構成のためにお客様に公開されてはいません。

責任: Microsoft

体制と脆弱性の管理

詳細については、Azure セキュリティ ベンチマークの「体制と脆弱性の管理」を参照してください。

PV-1: Azure サービスのセキュリティで保護された構成を確立する

ガイダンス: Batch リソースの構成を監査および適用するには、Microsoft Defender for Cloud を使って、Azure Batch 用に組み込みの Azure Policy を構成します。

組み込みのポリシー定義が存在しないシナリオの場合は、"Microsoft.Batch" 名前空間で Azure Policy の別名を使用できます。 これらの別名を使って、監査するカスタム ポリシーを作成します。 または、別名を使って、Azure Batch アカウントとプールの構成を適用することもできます。

Azure Blueprints を使って、サービスとアプリケーション環境のデプロイと構成を自動化することができます。 1 つのブループリント定義で、以下を自動化することができます。

  • Azure Resources Manager テンプレート
  • Azure RBAC コントロール
  • ポリシー

詳細については、次の記事を参照してください。

責任: Customer

PV-2: Azure サービスのセキュリティで保護された構成を維持する

ガイダンス: Batch アカウントとプールに関連する Azure リソースの安全な設定を適用するには、[Deny] と [DeployIfNotExists] という Azure Policy の組み込みの定義を使います。 これらのリソースには次のものが含まれます。

  • 仮想ネットワーク
  • サブネット
  • Azure ファイアウォール
  • Azure Storage アカウント

カスタム ポリシーを作成するには、次の名前空間の Azure Policy エイリアスを使うこともできます。

  • Microsoft.Batch

  • Microsoft.Storage

  • Microsoft.Network

詳細については、次の記事を参照してください。

責任: Customer

PV-3: コンピューティング リソースにセキュリティで保護された構成を確立する

ガイダンス: お客様は、Azure Batch にカスタムのオペレーティング システム イメージを使用できます。 Batch を使うと、その計算ノードに任意のソフトウェアをインストールし、読み込むことができます。

Azure Batch に仮想マシンの構成を使うと、組織のニーズに合わせて強化されたカスタム イメージがプールに使われます。 ライフサイクル管理のため、プールには共有イメージ ギャラリーが格納されます。 Azure Image Builder などの Azure オートメーション ツールを使って、セキュリティで保護されたイメージ構築プロセスを設定することができます。

責任: Customer

PV-4: コンピューティング リソースに対するセキュリティで保護された構成を維持する

ガイダンス: お客様は、Batch にカスタムのオペレーティング システム イメージを使用できます。 Azure Batch を使うと、その計算ノードに任意のソフトウェアをインストールし、読み込むことができます。

承認済みのセキュリティで保護されたイメージのみを使うように Azure Batch プールに要求するポリシーを作成します。 このアクションにより、Azure Batch 上のコンピューティング リソースが安全に構成された状態を維持できます。 未承認または誤った構成の Azure Batch リソースをスキャンするには、定期的な Azure Automation Runbook に Azure API または Azure CLI を適用することもできます。

責任: Customer

PV-5: カスタム オペレーティング システムとコンテナーのイメージを安全に格納する

ガイダンス: Azure Batch プールにカスタム イメージを使用している場合は、Azure RBAC を使って、許可されているユーザーのみがイメージにアクセスできるようにします。 Azure Container Registry にコンテナー イメージを格納します。 Azure RBAC を使って、許可されているユーザーのみがアクセスできるようにします。

責任: Customer

PV-6: ソフトウェアの脆弱性評価を実行する

ガイダンス: Azure Batch プール ノードの場合、使う脆弱性管理ソリューションを管理することは、お客様の責任です。 Azure Batch には、ネイティブの脆弱性評価の機能がありません。

Rapid7、Qualys、またはその他の脆弱性管理プラットフォームのサブスクリプションはありますか。 Batch プール ノードに脆弱性評価エージェントを手動でインストールすることができます。 これで、それぞれのポータルからノードを管理できます。

責任: Customer

PV-7: ソフトウェアの脆弱性を迅速かつ自動的に修復する

ガイダンス: 一般的なリスク スコアリング プログラム (例: Common Vulnerability Scoring System) またはサードパーティのスキャン ツールによって提供される既定のリスク評価を使って、優先順位を付けます。 次に、以下のアプリケーションを判断するためにコンテキストを使って環境を調整します。

  • 高いセキュリティ リスクをもたらす
  • 長いアップタイムが必要

現在、Azure Batch には、お客様向けのネイティブ脆弱性スキャン機能がありません。 Batch をホストする基になるプラットフォームについては、Microsoft が脆弱性の修復を行います。 Batch 上で実行されるソフトウェアについては、定期的な Azure Automation Runbook に Azure API または Azure CLI を適用することができます。 このアクションによって、Azure Batch ノード上で実行されている潜在的に脆弱なソフトウェアをスキャンし、更新することができます。

責任: 共有

エンドポイント セキュリティ

詳細については、Azure セキュリティ ベンチマークの「エンドポイントのセキュリティ」を参照してください。

ES-2: 一元管理された最新のマルウェア対策ソフトウェアを使用する

ガイダンス: Azure Batch ノードは、そのオペレーティング システム環境が対応していれば、どのような実行可能ファイル (またはスクリプト) でも実行できます。 Windows オペレーティング システムの場合は、個々の Azure Batch プール ノード上で Windows Defender を使います。 Linux の場合は、独自のマルウェア対策ソリューションを用意してください。

責任: 共有

ES-3: マルウェア対策ソフトウェアとシグネチャが確実に更新されるようにする

ガイダンス: マルウェア対策の署名を迅速かつ一貫した方法で更新してください。 Microsoft Defender for Cloud の「コンピューティングとアプリ」の推奨事項に従い、すべてのエンドポイントに最新の署名が適用されている状態にします。 Azure Batch ノードは、そのオペレーティング システム環境が対応していれば、どのような実行可能ファイル (またはスクリプト) でも実行できます。 Windows オペレーティング システムの場合は、個々の Azure Batch プール ノード上で Windows Defender を使い、自動更新を有効にします。 Microsoft Antimalware では、既定で、最新の署名とエンジンの更新プログラムが自動的にインストールされます。 Linux の場合は、サードパーティのマルウェア対策ソリューションを使用します。

責任: Customer

バックアップと回復

詳細については、Azure セキュリティ ベンチマークの「バックアップと回復」を参照してください。

BR-1:定期的な自動バックアップを保証する

ガイダンス: Azure Batch プール データ ストアに Azure Storage アカウントを使う場合は、適切な冗長性オプションを選びます。

  • ローカル冗長ストレージ (LRS)
  • ゾーン冗長ストレージ (ZRS)
  • geo 冗長ストレージ (GRS)
  • 読み取りアクセス geo 冗長ストレージ (RA-GRS)

Azure Backup コンテナーにストレージ アカウントを定期的にバックアップします。

責任: Customer

BR-2:バックアップ データを暗号化する

ガイダンス: Azure Batch プール データ ストアに Azure Storage アカウントを使う場合、そのアカウントは Microsoft マネージド キーを使って保存時に自動的に暗号化されます。 組織が Azure Batch ストレージを暗号化するために独自のカスタマーマネージド キーを使うという規制のニーズがある場合、このようなキーは Azure によって Azure Key コンテナーに格納されます。

責任: Customer

BR-3:カスタマー マネージド キーを含むすべてのバックアップを検証する

ガイダンス: Azure Storage アカウント (または Azure Batch の実装に関連したその他のリソース) のために独自のキーを管理している場合は、バックアップされたキーの復元を定期的にテストします。

責任: Customer

BR-4:キー紛失のリスクを軽減する

ガイダンス: Azure Key Vault が Azure Batch プール ストレージ アカウントに関連したキーを保持するために使用されている場合は、偶発的な削除や悪意のある削除からキーを保護するために、Azure Key Vault で論理的な削除を有効にします。

責任: Customer

次のステップ