4.6. セキュリティーおよびパーミッション
カーネルモジュールのロードは、非常に機密性の高い操作です。それらがロードされると、カーネルモジュールには、ノード上であらゆる種類の操作を実行するためのすべての可能な権限が付与されます。
4.6.1. ServiceAccounts および SecurityContextConstraints リンクのコピーリンクがクリップボードにコピーされました!
Kernel Module Management (KMM) は、カーネルモジュールをノードにロードするための特権ワークロードを作成します。そのワークロードには、privileged SecurityContextConstraint (SCC) リソースの使用を許可された ServiceAccounts が必要です。
そのワークロードの承認モデルは、Module リソースの namespace とその仕様によって異なります。
-
.spec.moduleLoader.serviceAccountNameまたは.spec.devicePlugin.serviceAccountNameフィールドが設定されている場合は常に使用されます。 これらのフィールドが設定されていない場合:
-
Moduleリソースが Operator の namespace (デフォルトではopenshift-kmm) に作成された場合、KMM はデフォルトの強力なServiceAccountsを使用してワーカーおよびデバイスプラグイン Pod を実行します。 -
Moduleリソースがその他の namespace に作成された場合、KMM は namespace のdefaultServiceAccountを使用して Pod を実行します。Moduleリソースは、privilegedSCC の使用を手動で有効にしない限り、特権ワークロードを実行できません。
-
openshift-kmm は信頼できる namespace です。
RBAC 権限を設定するときは、ユーザーまたは ServiceAccount が openshift-kmm namespace で Module リソースを作成すると、KMM がクラスター内のすべてのノードで特権ワークロードを自動的に実行することに注意してください。
ServiceAccount が privileged SCC を使用してワーカーまたはデバイスプラグイン Pod を実行できるようにするには、次の例のように oc adm policy コマンドを使用します。
oc adm policy add-scc-to-user privileged -z "${serviceAccountName}" [ -n "${namespace}" ]
$ oc adm policy add-scc-to-user privileged -z "${serviceAccountName}" [ -n "${namespace}" ]
4.6.2. Pod のセキュリティー基準 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift は、使用中のセキュリティーコンテキストに基づいて namespace Pod セキュリティーレベルを自動的に設定する同期メカニズムを実行します。アクションは不要です。