Kubernetes 範囲は目的を共有する Kubernetes リソースのグループです。たとえば、クラスタは Kubernetes リソースであり、範囲定義の対象となります。範囲をフィルタとして使用することも、Kubernetes リソース全体に同じセキュリティ ポリシーを適用することもできます。
Kubernetes リソースを範囲でグループ化することで、セキュリティ ポリシーの対象となる計画を立てることができます。範囲を追加および編集したり、Kubernetes ポリシーに関連付けられていない範囲を削除したりできます。
デフォルトの範囲
デフォルトの範囲とは、すべてのクラスタと名前空間を含む事前定義された範囲です。デフォルトの範囲は 任意 と呼ばれます。任意の範囲は常に使用可能で、削除できません。これは、スコープの階層内で最も高い範囲です。範囲解決プロセスは、ポリシーを適用するために Kubernetes リソースが分類される最も正確な範囲定義を検索します。より正確な範囲が見つからない場合は、デフォルトの範囲に添付されているポリシーが考慮されます。
ビルド フェーズの範囲
ビルド フェーズ とは、CLI クライアント コマンドを使用してスキャンまたは検証するためのコンテナ イメージまたは Kubernetes オブジェクトを定義することを指します。コマンドは CI/CD パイプラインに統合できます。ビルド フェーズ内のすべてのリソース、Kubernetes 名前空間、または特定のビルド手順の範囲を定義できます。ビルド手順は、CLI クライアントがイメージ スキャンの実行に使用するパラメータです。イメージ スキャン用 CLI クライアントの設定およびイメージのスキャンを参照してください。
展開フェーズの範囲
展開フェーズ とは、展開されるまたはすでに展開されている Kubernetes ワークロードのグループ化を指します。
範囲は、すべてのクラスタ、クラスタ グループ、クラスタ、名前空間、ワークロード の順序に従って、最も一般的なものから最も具体的なものまで、階層によって重複する可能性があります。重複範囲の一部であるワークロードの場合、最も狭い範囲に関連付けられるポリシーが適用されます。これにより、ワークロードは 1 つのポリシーに解決されます。
Kubernetes 範囲階層を参照してください。
例
範囲の例 | 目的 |
---|---|
すべての本番クラスタのクラスタ グループ | 同じ階層のすべてのクラスタに対してポリシーをフィルタリングするまたは割り当てるため。 |
1 つ以上の Kubernetes クラスタ | ポリシーをフィルテリングする、または別のクラスタに割り当てるため。 |
複数のクラスタに定義された Kubernetes 名前空間の選択によるクラスタ間のアプリケーション | ポリシーをフィルタリングする、または展開されている場所に関係なく、アプリケーションを形成するリソースのグループに割り当てるため。 |
アプリケーション範囲
アプリケーション範囲 にはビルド フェーズと展開フェーズの両方のコンテナ イメージが含まれます。範囲は、アプリケーションを独自の Kubernetes 名前空間に分離する方法を反映しています。範囲がアプリケーション範囲として定義される場合、範囲に割り当てられたポリシーは、開発フェーズに関係なく、また、この名前空間が格納されているクラスタに関係なく、名前空間内のすべてのコンテナ イメージに適用されます。この範囲により、アプリケーションのビルドまたは展開時に同じセキュリティ強化基準が確保されます。