検索

27.18.6. SELinux オプション

download PDF

特権付き SCC を除くすべての定義済み SCC では、seLinuxContextMustRunAs に設定します。そのため、Pod の要件と一致する可能性が高い SCC の場合、Pod での SELinux ポリシーの使用を強制的に実行します。Pod で使用される SELinux ポリシーは、その Pod 自体やイメージ、SCC、またはプロジェクト (デフォルトを指定する) で定義できます。

SELinux のラベルは Pod の securityContext.seLinuxOptions セクションで定義でき、userroletype、および level を使用できます。

注記

このトピックでは、レベルと MCS ラベルを置き換え可能な用語として使用します。

...
 securityContext: 1
    seLinuxOptions:
      level: "s0:c123,c456" 2
...
1
level は、Pod 全体に対してグローバルに定義することも、コンテナーごとに個別に定義することもできます。
2
SELinux の level ラベル。

以下の例は SCC とデフォルトプロジェクトからの抜粋です。

$ oc get -o yaml --export scc scc-name
...
seLinuxContext:
  type: MustRunAs 1

# oc get -o yaml --export namespace default
...
metadata:
  annotations:
    openshift.io/sa.scc.mcs: s0:c1,c0 2
...
1
MustRunAs によりボリュームのラベルが再設定されます。
2
ラベルを Pod や SCC で指定しない場合は、プロジェクトのデフォルトが適用されます。

特権付き SCC を除くすべての定義済み SCC では、seLinuxContextMustRunAs に設定します。これにより、Pod での MCS ラベルの使用が強制的に実行されます。 MCS ラベルは、Pod 定義やイメージで定義するか、またはデフォルトとして指定されます。

SCC によって、SELinux ラベルを必要とするかどうかが決まります。また、SCC でデフォルトラベルを指定できます。 seLinuxContext ストラテジーを MustRunAs に設定していて、Pod (またはイメージ) がラベルを定義していない場合は、OpenShift Container Platform は SCC 自体またはプロジェクトから選択されるラベルにデフォルト設定されます。

seLinuxContextRunAsAnyに設定した場合は、デフォルトラベルは提供されず、コンテナーによって最終的なラベルが決められます。Docker の場合、コンテナーでは一意の MCS ラベルが使用されますが、これが既存のストレージマウントのラベル付けに一致する可能性はほとんどありません。SELinux 管理をサポートしているボリュームについては、指定されるラベルからアクセスできるようにラベルの再設定がなされ、ラベルの排他性によってはそのラベルのみがアクセスできるようになります。

この場合、特権なしコンテナーについては以下の 2 つが関係します。

  • ボリュームには、特権なしのコンテナーからのアクセス可能なタイプが指定されます。このタイプは、通常は Red Hat Enterprise Linux (RHEL) バージョン 7.5 以降の container_file_t になります。このタイプはボリュームをコンテナーコンテキストとして処理します。以前の RHEL バージョンの RHEL 7.4、7.3 などでは、ボリュームに svirt_sandbox_file_t タイプが指定されます。
  • level を指定した場合は、指定される MCS ラベルを使用してボュームのラベルが設定されます。

Pod からボリュームにアクセスできるようにするためには、Pod で両方のボリュームカテゴリーを持つ必要があります。そのため、s0:c1,c2 の Pod は、s0:c1,c2 のボリュームにアクセスできます。s0 のボリュームは、すべての Pod からアクセスできます。

Pod で承認が失敗する場合、またはパーミッションエラーが原因でストレージのマウントが失敗している場合は、SELinux の実施による干渉が生じている可能性があります。これについては、たとえば以下を実行してチェックできます。

# ausearch -m avc --start recent

これは、ログファイルに AVC (Access Vector Cache) のエラーがないかどうかを検査します。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.