第4章 承認
4.1. 概要
以下のトピックでは、アプリケーション開発者向けの「認証タスク」と、クラスター管理者が指定する認証機能について紹介します。
4.2. ユーザーの Pod 作成権限の有無の確認
scc-review
と scc-subject-review
オプションを使用することで、個別ユーザーまたは特定のサービスアカウントのユーザーが Pod を作成または更新可能かどうかを確認できます。
scc-review
オプションを使用すると、サービスアカウントが Pod を作成または更新可能かどうかを確認できます。このコマンドは、リソースを許可する SCC (Security Context Constraints) について出力します。
たとえば、system:serviceaccount:projectname:default
サービスアカウントのユーザーが Pod を作成可能かどうかを確認するには、以下を実行します。
$ oc policy scc-review -z system:serviceaccount:projectname:default -f my_resource.yaml
scc-subject-review
オプションを使用して、特定のユーザーが Pod を作成または更新できるかどうかを確認することも可能です。
$ oc policy scc-subject-review -u <username> -f my_resource.yaml
特定のグループに所属するユーザーが特定のファイルで Pod を作成できるかどうかを確認するには、以下を実行します。
$ oc policy scc-subject-review -u <username> -g <groupname> -f my_resource.yaml
4.3. 認証済みのユーザーとして何が実行できるのかを判断する方法
OpenShift Container Platform プロジェクト内から、(サードパーティーのリソースを含む) namespace スコープの全リソースに対してどのような 「verb (動詞)」を実行できるのかを判断することができます。
can-i
コマンドオプションは、ユーザーとロール関連のスコープをテストします。
$ oc policy can-i --list --loglevel=8
この出力で、情報収集のために呼び出す API 要求を判断しやすくなります。
ユーザーが判読可能な形式で情報を取得し直すには、以下を実行します。
$ oc policy can-i --list
この出力では、完全な一覧が表示されます。
特定の verb (動詞) を実行可能かどうかを判断するには、以下を実行します。
$ oc policy can-i <verb> <resource>
「ユーザースコープ」は、指定のスコープに関する詳細情報を提供します。以下に例を示します。
$ oc policy can-i <verb> <resource> --scopes=user:info