この記事では、Microsoft Defender for Containers を使用して Kubernetes クラスターのゲートデプロイを有効にして構成する方法について説明します。
Gated デプロイでは、サポートされているレジストリ (Azure Container Registry (ACR)、Amazon Elastic Container Registry (ECR)、および Google Artifact Registry) からの脆弱性スキャン結果を使用して、デプロイ中にコンテナー イメージのセキュリティ ポリシーが適用されます。 クラスターが許可する前に、Kubernetes アドミッション コントローラーと連携してイメージを評価します。
[前提条件]
| 必要条件 | 詳細 |
|---|---|
| ディフェンダー プラン | コンテナー レジストリと Kubernetes クラスターのサブスクリプション/アカウントの両方で Defender for Containers を有効にします。 重要: コンテナー レジストリと Kubernetes クラスターが異なる Azure サブスクリプション (または AWS アカウント/GCP プロジェクト) に存在する場合は、両方のクラウド アカウントで Defender for Containers プランと関連する拡張機能を有効にする必要があります。 |
| 拡張を計画する | Defender センサー、セキュリティ ゲーティング、セキュリティファインディング、レジストリ アクセス。 Defender for Containers プラン設定で、これらのプラン拡張機能のオンとオフを切り替えます。 新しい Defender for Containers 環境では、既定で有効になっています。 |
| Kubernetes クラスターのサポート | AKS、EKS、GKE - バージョン 1.31 以降。 |
| レジストリのサポート | Azure Container Registry (ACR)、Amazon Elastic Container Registry (ECR)、または Google Artifact Registry を使用します。 |
| Permissions | セキュリティ管理者以上のテナントアクセス許可を持つゲート展開ポリシーを作成または変更します。 セキュリティ閲覧者以上のテナント アクセス許可を持つユーザーを表示します。 |
ゲートデプロイを有効にしてセキュリティ規則を作成する
手順 1: 必要なプラン拡張機能を有効にする
Microsoft Defender for Cloud>Environment の設定に移動します。
関連するサブスクリプション、AWS アカウント、または GCP プロジェクトを選択します。
[ 設定と監視] で、次のトグルをオンにします。
-
Defender センサー
- セキュリティ ゲーティング
-
レジストリ アクセス
- セキュリティ調査結果
-
Defender センサー
手順 2: セキュリティ規則にアクセスする
手順 3: 新しいルールを作成する
注
既定では、Defender プランと必要な拡張機能を有効にすると、ポータルによって、高または重大な脆弱性を持つイメージにフラグを設定する監査規則が作成されます。
- [規則の追加] を選択します。
- 以下の項目に入力してください。
| フィールド | 説明 |
|---|---|
| 規則の名前 | ルールの一意の名前 |
| アクション | [監査] または [拒否] を選択する |
| スコープ名 | スコープのラベル |
| クラウド スコープ | Azure サブスクリプション、AWS アカウント、または GCP プロジェクトを選択する |
| リソース スコープ | クラスター、名前空間、ポッド、デプロイ、イメージ、ラベル セレクターから選択する |
| 一致基準 | [等しい]、[次の値で始まる]、[次の値で終了]、[次の値を含む]、[等しくない] の順に選択します |
手順 4: 条件を定義する
[ スキャン構成] で、次のように指定します。
- トリガー ルールの条件: 脆弱性の重大度レベルまたは特定の CVE ID を選択する
手順 5: 除外を定義する
除外により、信頼されたリソースは制限規則をバイパスできます。
サポートされている除外の種類
| タイプ | 説明 |
|---|---|
| CVE(共通脆弱性識別子) | 特定の脆弱性 ID |
| デプロイメント | 対象指定デプロイ |
| Image | 特定の画像ダイジェスト |
| Namespace | Kubernetes 名前空間 |
| ポッド | 特定のポッド |
| レジストリ | コンテナー レジストリ |
| リポジトリ | イメージ リポジトリ |
一致条件
- 等しい
- [指定値で始まる]
- で終わる
- Contains
時間制限付き構成
| 状態 | 動作 |
|---|---|
| 既定値 | 除外は無期限です |
| 時間制限が有効 | 日付ピッカーが表示されます。 除外は、選択した日の終わりに期限切れになります |
ルールの作成時に除外を構成します。 監査規則と拒否規則に適用されます。
手順 6: 最終処理して保存する
- ルールの構成を確認します。
- ルールを保存してアクティブにするには、[ルールの 追加] を選択します。
拒否モードの構成
拒否モードでは、リアルタイム ポリシーの適用により、デプロイ中に 1 秒または 2 秒の遅延が発生する可能性があります。 アクションとして [拒否 ] を選択すると、通知が表示されます。
アドミッションの監視
ゲート展開イベントは、Defender for Cloud の [アドミッション監視 ] ビューに表示されます。 このビューでは、ルールの評価、トリガーされたアクション、影響を受けるリソースを可視化できます。 このビューを使用して、Kubernetes クラスター全体で監査と拒否の決定を追跡します。
イベントの詳細を表示する
特定の受付イベントを調査するには、一覧からそれを選択します。 詳細ウィンドウが開き、次の情報が表示されます。
- タイムスタンプと受付アクション: イベントが発生したとき、およびイベントが許可されたか拒否されたか
- トリガーの詳細: コンテナー イメージ ダイジェスト、検出されたすべての違反、およびトリガーされたルール名
- ポリシーの説明: 評価に使用される脆弱性評価ポリシーと条件
- ルール構成スナップショット: 適用された特定の条件と除外
ルール設計のベスト プラクティス
- 拒否モードを適用する前に、監査モードから開始して影響を監視します。
- 誤検知を減らすために、ルールのスコープを狭くする (名前空間やデプロイなど)。
- 時間制限付き除外を使用して、監視を維持しながら重要なワークフローのブロックを解除します。
- [アドミッション監視] ビューで規則のアクティビティを定期的に確認して、適用戦略を調整します。
ゲート展開セキュリティ規則を無効または削除する
ゲート展開のセキュリティ規則を無効にする
- [Microsoft Defender for Cloud 環境設定] ウィンドウで [セキュリティ規則] を選択します。
- [ 脆弱性評価 ] を選択して、定義されたゲート展開セキュリティ規則の一覧を表示します。
- セキュリティ規則を選択し、[ 無効] を選択します。
Gated Deployment セキュリティ規則を削除する
- [Microsoft Defender for Cloud 環境設定] ウィンドウで [セキュリティ規則] を選択します。
- [ 脆弱性評価 ] を選択して、定義されたセキュリティ規則の一覧を表示します。
- セキュリティ規則を選択し、[削除] を選択 します。
関連コンテンツ
詳細なガイダンスとサポートについては、次のドキュメントを参照してください。
概要: Kubernetes クラスターへのコンテナー イメージの段階的デプロイ
機能の概要、その利点、主要な能力、およびそれがどのように機能するかFAQ: Defender for Containers でのゲート デプロイ
ゲートデプロイの動作と構成に関する一般的な顧客の質問への回答トラブルシューティング ガイド: ゲートデプロイと開発者エクスペリエンス
オンボードの問題、デプロイの失敗、開発者向けのメッセージの解釈に関するヘルプ