7.7. SELinux プロファイルの管理


SELinux プロファイルを作成および管理し、それらをワークロードにバインドします。

重要

Security Profiles Operator は、Red Hat Enterprise Linux CoreOS (RHCOS) ワーカーノードのみをサポートします。Red Hat Enterprise Linux (RHEL) ノードはサポートされていません。

7.7.1. SELinux プロファイルの作成

SelinuxProfile オブジェクトを使用してプロファイルを作成します。

SelinuxProfile オブジェクトには、セキュリティー強化と読みやすさを向上させるいくつかの機能があります。

  • 継承するプロファイルを現在の namespace またはシステム全体のプロファイルに制限します。通常、システムには多くのプロファイルがインストールされていますが、クラスターワークロードではサブセットのみを使用する必要があるため、継承可能なシステムプロファイルは、spec.selinuxOptions.allowedSystemProfilesspod インスタンスにリストされています。
  • 権限、クラス、およびラベルの基本的な検証を実行します。
  • ポリシーを使用するプロセスを説明する新しいキーワード @self を追加します。これにより、ポリシーの使用は名前と namespace に基づいているため、ワークロードと namespace の間でポリシーを簡単に再利用できます。
  • SELinux CIL 言語で直接プロファイルを作成する場合と比較して、セキュリティーを強化し、読みやすくするための機能を追加します。

手順

  1. 次のコマンドを実行してプロジェクトを作成します。

    $ oc new-project nginx-deploy
  2. 次の SelinuxProfile オブジェクトを作成して、特権のないワークロードで使用できるポリシーを作成します。

    apiVersion: security-profiles-operator.x-k8s.io/v1alpha2
    kind: SelinuxProfile
    metadata:
      name: nginx-secure
    spec:
      allow:
        '@self':
          tcp_socket:
          - listen
        http_cache_port_t:
          tcp_socket:
          - name_bind
        node_t:
          tcp_socket:
          - node_bind
      inherit:
      - kind: System
        name: container
  3. 次のコマンドを実行して、selinuxd がポリシーをインストールするのを待ちます。

    $ oc wait --for=condition=ready selinuxprofile nginx-secure

    出力例

    selinuxprofile.security-profiles-operator.x-k8s.io/nginx-secure condition met

    ポリシーは、Security Profiles Operator が所有するコンテナー内の emptyDir に配置されます。ポリシーは Common Intermediate Language (CIL) 形式で /etc/selinux.d/<name>_<namespace>.cil に保存されます。

  4. 以下のコマンドを実行して Pod を作成します。

    $ oc -n openshift-security-profiles rsh -c selinuxd ds/spod

検証

  1. 次のコマンドを実行して、cat でファイルの内容を表示します。

    $ cat /etc/selinux.d/nginx-secure.cil

    出力例

    (block nginx-secure
    (blockinherit container)
    (allow process nginx-secure.process ( tcp_socket ( listen )))
    (allow process http_cache_port_t ( tcp_socket ( name_bind )))
    (allow process node_t ( tcp_socket ( node_bind )))
    )

  2. 次のコマンドを実行して、ポリシーがインストールされていることを確認します。

    $ semodule -l | grep nginx-secure

    出力例

    nginx-secure

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る