第11章 seccomp プロファイルの設定


OpenShift Container Platform コンテナーまたは Pod は、1 つ以上の明確に定義されたタスクを実行するアプリケーションを 1 つ実行します。アプリケーションには通常、基礎となるオペレーティングシステムカーネル API の小規模なサブセットのみが必要です。seccomp のセキュアコンピューティングモードは Linux カーネル機能で、これを使用して、コンテナーで実行されているプロセスを制限して、利用可能なシステム呼び出しのサブセットだけが呼び出されるようにできます。これらのシステム呼び出しは、コンテナーまたは Pod に適用されるプロファイルを作成して設定できます。seccomp プロファイルは、ディスクに JSON ファイルとして保存されます。

重要

seccomp プロファイルが適用されていない場合は、OpenShift ワークロードはデフォルトでは制限なしに実行されます。

重要

seccomp プロファイルは特権付きコンテナーに適用できません。

11.1. すべての Pod のデフォルトの seccomp プロファイルを有効にする

OpenShift Container Platform には、デフォルトの seccomp プロファイルが同梱されており、runtime/default として参照されます。カスタムセキュリティーコンテキスト制約 (SCC) を作成することで、Pod またはコンテナーワークロードのデフォルトの seccomp プロファイルを有効にすることができます。

注記

カスタム SCC を作成する必要があります。デフォルトの SCC は編集しないでください。デフォルトの SCC を編集すると、プラットフォームの Pod をデプロイ時または OpenShift Container Platform のアップグレード時に問題が発生する可能性があります。詳細は、「デフォルトのセキュリティーコンテキストの制約」セクションを参照してください。

以下の手順に従って、すべての Pod に対してデフォルトの seccomp プロファイルを有効にします。

  1. 使用可能な restricted SCC を yaml ファイルにエクスポートします。

    $ oc get scc restricted -o yaml > restricted-seccomp.yaml
  2. 作成された restricted SCC yaml ファイルを編集します。

    $ vi restricted-seccomp.yaml
  3. 次の例に示すように更新します。

    kind: SecurityContextConstraints
    metadata:
      name: restricted  1
    <..snip..>
    seccompProfiles:    2
    - runtime/default   3
    1
    restricted-seccomp に変更します。
    2
    seccompProfiles を追加します。
    3
    - runtime/default を追加します。
  4. カスタム SCC を作成します。

    $ oc create -f restricted-seccomp.yaml

    予想される出力

    securitycontextconstraints.security.openshift.io/restricted-seccomp created

  5. カスタム SCC を ServiceAccount に追加します。

    $ oc adm policy add-scc-to-user restricted-seccomp -z default
    注記

    デフォルトのサービスアカウントは、ユーザーが別のアカウントを設定しない限り適用される ServiceAccount です。OpenShift Container Platform は、SCC の情報に基づいて Pod の seccomp プロファイルを設定します。

    予想される出力

    clusterrole.rbac.authorization.k8s.io/system:openshift:scc:restricted-seccomp added: "default"

OpenShift Container Platform 4.10 では、Pod アノテーション seccomp.security.alpha.kubernetes.io/pod: runtime/default および container.seccomp.security.alpha.kubernetes.io/<container_name>: runtime/default を追加する機能は非推奨となりました。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.