第2章 Pod Security Admission


Red Hat OpenShift は、Pod Security Admission (PSA) を使用して、同じ Red Hat OpenShift クラスター内にあるアプリケーション Pod に一連のセキュリティールールを適用します。Cryostat のコンテキストでは、これらのアプリケーション Pod には、Cryostat Pod、Cryostat データベース Pod、Cryostat ストレージ Pod、および Report サイドカー Pod が含まれます。Cryostat をインストールすると、Cryostat データベースとストレージ Pod が自動的にデプロイされます。オプションで、Cryostat カスタムリソース (CR) で Report サイドカー Pod を有効にすることができます。アプリケーションがポリシー基準を満たしていない場合、そのアプリケーションを Red Hat OpenShift クラスターで実行することはできません。

Red Hat OpenShift 4.8 以降では PodSecurityPolicy API はサポートされなくなり、代わりに PSA が使用されます。PSA には以下のメリットがあります。

  • アプリケーション Pod に Pod セキュリティー標準を適用できる組み込みコントローラーが含まれています。
  • PrivilegedBaselineRestricted の 3 つの異なるポリシーを定義する Pod セキュリティー標準のセットが含まれています。

Red Hat OpenShift では、Security Context Constraints (SCC) で PSA を使用して、Red Hat OpenShift クラスターのポリシーを定義できます。デフォルトでは、restricted-v2 SCC は Restricted Pod セキュリティー標準に準拠しています。

注記

デフォルトでは、Cryostat Pod のセキュリティーコンテキストは restricted-v2 SCC に準拠します。つまり、Red Hat OpenShift は、Restricted Pod セキュリティー標準を強制する namespace で Pod を許可できます。

Restricted ポリシーでは、Cryostat Operator がコンテナーセキュリティーコンテキストを次のように設定する必要があります。

  • ALL 機能を停止します。
  • allowPrivilegeEscaltionfalse に設定します。

Restricted ポリシーでは、Cryostat Operator が Pod セキュリティーコンテキストを次のように設定する必要があります。

  • runAsNonRoottrue に設定します。
  • seccompProfileRuntimeDefault に設定します。

さらに、Cryostat Operator は Cryostat アプリケーション Pod の Pod セキュリティーコンテキストで fsGroup を定義するため、Cryostat は Red Hat OpenShift 上の永続ストレージボリューム内のファイルを読み書きできます。

Restricted Pod セキュリティー標準への準拠以外に追加の要件がある場合は、Cryostat が使用するデフォルトのセキュリティーコンテキストをオーバーライドできます。

2.1. セキュリティーコンテキストの設定

Red Hat OpenShift の Cryostat カスタムリソース (CR) で、Pod とコンテナーのセキュリティーコンテキストを指定できます。セキュリティーコンテキストは、Cryostat Pod、Cryostat データベース Pod、Cryostat ストレージ Pod、Report サイドカー Pod (使用中の場合)、および各 Pod のコンテナーに権限を適用します。

注記

CR の設定を変更すると、これらの設定はデフォルトのセキュリティーコンテキスト設定をオーバーライドします。

セキュリティーコンテキストは、Pod 内に存在するアプリケーションに特定のパーミッションを適用します。セキュリティーコンテキストは、SCC ポリシーの基準を変更できません。カスタム SCC を作成して、Pod が実行できるアクションや Pod がアクセスできるリソースなど、厳密なパーミッションを Pod に適用するように Red Hat OpenShift クラスターに指示できます。

カスタム SCC を作成するには、クラスター管理パーミッションが必要です。また、クラスターで動作するすべての Pod のセキュリティーコンテキストを作成して、これらの Pod がカスタム SCC 要件を満たすようにする必要があります。

SCC は Red Hat OpenShift のクラスターレベルと namespace レベルで変更を強制的に適用するため、このクラスター内部で動作するすべての Pod がポリシー基準を受け取ります。これに対して、セキュリティーコンテキストは Pod 固有のものになります。

デフォルトでは、Cryostat Operator は Cryostat Pod の restricted-v2 SCC ポリシーに準拠しています。

デフォルトでは、Cryostat Operator は Cryostat とそのコンポーネント (jfr-datasourcegrafanastoragedatabaseauth-proxy など) のサービスアカウントを作成します。

このサービスアカウントでカスタム SCC を使用できるようにするには、以下のいずれかの手順を実行します。

  • カスタム SCC を 使用 するロールに Cryostat サービスアカウントをバインドする Role Binding を作成します。
  • Label Syncer コンポーネントを使用して、プロジェクトの namespace が PSA ポリシーに従うように指示します。
注記

Label Syncer コンポーネントは、このドキュメントの範囲外になります。通常、openshift- タグの接頭辞が付けられた Red Hat OpenShift システムの namespace で Label Syncer コンポーネントは使用できません。

重要

特定のパーミッションをアプリケーション Pod に適用するようにセキュリティーコンテキストを設定する前に、Red Hat OpenShift 上のクラスターにもたらされる可能性があるセキュリティーリスクを考慮してください。PSA では、通常、ほとんどの要件を満たす 3 つの段階的なポリシーレベルが用意されています。Red Hat は、Red Hat OpenShift Pod のセキュリティー標準に準拠しないセキュリティーコンテキストの変更について一切の責任を負いません。

前提条件

  • Red Hat OpenShift Web コンソールを使用して OpenShift Container Platform にログインしている。
  • Cryostat Operator を Red Hat OpenShift のプロジェクトにインストールしている。Red Hat build of Cryostat Operator を使用した Red Hat OpenShift への Cryostat のインストール (Cryostat のインストール) を参照してください。
  • オプション: PSA と SCC の新しいポリシーを参照している。セキュリティーコンテキスト制約の管理 (OpenShift Container Platform) を参照してください。
  • オプション: PSA が提供する 3 つのポリシーのいずれかを使用するようにプロジェクトを設定している。

    • カスタム SCC を使用して Pod に特定のポリシーを適用する場合は、Pod のサービスアカウントがそれにアクセスできるように SCC を設定する必要があります。

手順

  1. Cryostat インスタンスの作成を開始する場合は、次の手順を実行します。

    1. Red Hat OpenShift Web コンソールで、Operators > Installed Operators の順にクリックします。
    2. 使用可能な Operator のリストから、Red Hat build of Cryostat を選択します。
    3. Operator details ページで、Details タブをクリックします。
    4. Provided APIs セクションで Cryostat を選択し、Create instance をクリックします。

      注記

      Cryostat Operator は、Report サイドカー Pod のサービスアカウントを作成しません。代わりに、これらの Pod は独自の namespace でデフォルトのサービスアカウントを使用します。

  2. Create Cryostat パネルで、セキュリティーコンテキストを設定するには、次のいずれかのオプションを選択します。

    1. YAML ビューを使用する場合は、以下を実行します。

      1. YAML view のラジオボタンをクリックします。
      2. spec: 要素から、セキュリティー要件に一致するように securityOptions プロパティーおよび reportOptions プロパティーを編集します。

        セキュリティーコンテキストの設定例

        apiVersion: operator.cryostat.io/v1beta2
        kind: Cryostat
        metadata:
          name: cryostat-sample
        spec:
          securityOptions:
            podSecurityContext:
              runAsNonRoot: true
              seccompProfile:
                type: RuntimeDefault
            coreSecurityContext:
              allowPrivilegeEscalation: false
              capabilities:
                drop:
                  - ALL
              runAsUser: 1001
            dataSourceSecurityContext:
              allowPrivilegeEscalation: false
              capabilities:
                drop:
                  - ALL
            grafanaSecurityContext:
              allowPrivilegeEscalation: false
              capabilities:
                drop:
                  - ALL
          reportOptions:
            replicas: 1
            podSecurityContext:
              runAsNonRoot: true
              seccompProfile:
                type: RuntimeDefault
            reportsSecurityContext:
              allowPrivilegeEscalation: false
              capabilities:
                drop:
                  - ALL
              runAsUser: 1001

    2. Form ビューを使用する場合は、以下を実行します。

      1. *Form view" ラジオボタンをクリックします。
      2. Advanced Configurations を展開して、Red Hat OpenShift Web コンソールで追加のオプションを開きます。

        図2.1 詳細設定メニューオプション

        *Advanced configuration* メニューとそのオプション
      3. Core Security Context を展開します。使用可能なオプションのリストから、セキュリティーコンテキストの設定を定義します。
      4. 次の各セキュリティーコンテキストを順番に展開し、必要に応じて設定を定義します。

        • Auth プロキシーセキュリティーコンテキスト
        • データソースセキュリティーコンテキスト
        • データベースセキュリティーコンテキスト
        • Grafana セキュリティーコンテキスト
        • Pod セキュリティーコンテキスト
        • ストレージセキュリティーコンテキスト
      5. オプション: Report Generator サービスを使用している場合は、このサービスのセキュリティーコンテキストを設定することもできます。この場合、Report Options > Advanced Configuration > Security Options を展開します。次に、必要に応じて Reports Security Context および Pod Security Context 設定を展開して定義します。

        図2.2 レポートジェネレーターセキュリティーコンテキスト

        レポートジェネレーターセキュリティーコンテキスト
  3. この Cryostat インスタンスのカスタムリソース (CR) で他のプロパティーを設定する場合は、これらのプロパティーの詳細は、このドキュメントの他のセクションを参照してください。
  4. この Cryostat インスタンスの作成を終了する場合は、Create をクリックします。

Create をクリックすると、この Cryostat インスタンスは Operator details ページの Cryostat タブで利用できます。その後、Operator details ページでインスタンス名をクリックし、Actions ドロップダウンメニューから Edit Cryostat を選択すると、Cryostat インスタンスの CR プロパティーを編集できます。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る