第3章 ユーザーの管理
3.1. 概要
ユーザーとは、OpenShift Container Platform API と対話するエンティティーです。ユーザーは、アプリケーションを開発する開発者の場合もあれば、クラスターを管理する管理者の場合もあります。ユーザーは、グループのすべてのメンバーに適用されるパーミッションを設定するグループに割り当てることができます。たとえば、API アクセスをグループに付与して、そのグループのすべてのメンバーに API アクセスを付与することができます。
このトピックでは、ユーザーアカウントの管理について説明します。これには、OpenShift Container Platform での新規ユーザーアカウントの作成方法とそれらの削除方法が含まれます。
3.2. ユーザーの作成
ユーザーの作成プロセスは、設定される アイデンティティープロバイダーによって異なります。デフォルトで、OpenShift Container Platform は、すべてのユーザー名およびパスワードのアクセスを拒否する DenyAll アイデンティティープロバイダーを使用します。
以下のプロセスでは、新規ユーザーを作成してからロールをそのユーザーに追加します。
-
アイデンティティープロバイダーに応じたユーザーアカウントを作成します。これは、アイデンティティープロバイダー設定の一部として使用される
mappingmethodによって異なります。詳細は、「Mapping Identities to Users (アイデンティティーのユーザーへのマッピング)」セクションを参照してください。 新規ユーザーに必要なロールを付与します。
# oc create clusterrolebinding <clusterrolebinding_name> / --clusterrole=<role> --user=<user>
ここで、
--clusterroleオプションは必要なクラスターロールになります。たとえば、新規ユーザーに対して、クラスター内のすべてに対するアクセスを付与するcluster-admin権限を付与するには、以下を実行します。# oc create clusterrolebinding registry-controller / --clusterrole=cluster-admin --user=admin
ロールの説明および一覧については、Architecture Guide のクラスターロールおよびローカルロール についてのセクションを参照してください。
クラスター管理者は、各ユーザーのアクセスレベルの管理も実行できます。
アイデンティティープロバイダーおよび定義されたグループ構造によっては、一部のロールがユーザーに自動的に付与される場合があります。詳細は、「グループの LDAP との同期」についてのセクションを参照してください。
3.3. ユーザーおよび ID リストの表示
OpenShift Container Platform のユーザー設定は、OpenShift Container Platform 内の複数の場所に保存されます。アイデンティティープロバイダーの種類を問わず、OpenShift Container Platform はロールベースのアクセス制御 (RBAC) 情報およびグループメンバーシップなどの詳細情報を内部に保存します。ユーザー情報を完全に削除するには、ユーザーアカウントに加えてこのデータも削除する必要があります。
OpenShift Container Platform では、2 つのオブジェクトタイプ (user および identity) に、アイデンティティープロバイダー外のユーザーデータが含まれます。
ユーザーの現在のリストを取得するには、以下を実行します。
$ oc get user NAME UID FULL NAME IDENTITIES demo 75e4b80c-dbf1-11e5-8dc6-0e81e52cc949 htpasswd_auth:demo
ID の現在のリストを取得するには、以下を実行します。
$ oc get identity NAME IDP NAME IDP USER NAME USER NAME USER UID htpasswd_auth:demo htpasswd_auth demo demo 75e4b80c-dbf1-11e5-8dc6-0e81e52cc949
2 つのオブジェクトタイプ間で一致する UID があることに注意してください。OpenShift Container Platform の使用を開始した後に認証プロバイダーの変更を試行する場合で重複するユーザー名がある場合、そのユーザー名は、ID リストに古い認証方式を参照するエントリーがあるために機能しなくなります。
3.4. グループの作成
ユーザーは OpenShift Container Platform に要求するエンティティーである一方で、ユーザーのセットで構成される 1 つの以上のグループに編成することもできます。グループは、許可ポリシーなどの場合のように数多くのユーザーを 1 度に管理する際や、パーミッションを複数のユーザーに 1 度に付与する場合などに役立ちます。
組織が LDAP を使用している場合、LDAP レコードの OpenShift Container Platform に対する同期を実行し、複数のグループを 1 つの場所で設定できるようにすることができます。この場合、ユーザーについての情報が MDAP サーバーにあることを仮定します。詳細は、「Synching groups with LDAP (グループの LDAP との同期)」セクションを参照してください。LDAP を使用していない場合は、以下の手順を使用してグループを手動で作成できます。
新規グループを作成するには、以下を実行します。
# oc adm groups new <group_name> <user1> <user2>
たとえば、west グループを作成し、そのグループ内に john および betty ユーザーを置くには、以下を実行します。
# oc adm groups new west john betty
グループが作成されたことを確認し、グループに関連付けられたユーザーを一覧表示するには、以下を実行します。
# oc get groups NAME USERS west john, betty
次の手順は、* ロールバインディングの管理です。
3.5. ユーザーおよびグループラベルの管理
ラベルをユーザーまたはグループに追加するには、以下を実行します。
$ oc label user/<user_name> <label_name>
たとえばユーザー名が theuser で、ラベルが level=gold の場合には、以下のようになります。
$ oc label user/theuser level=gold
ラベルを削除するには、以下を実行します。
$ oc label user/<user_name> <label_name>-
ユーザーまたはグループのラベルを表示するには、以下を実行します。
$ oc describe user/<user_name>
3.6. ユーザーの削除
ユーザーを削除するには、以下を実行します。
ユーザーレコードを削除します。
$ oc delete user demo user "demo" deleted
ユーザー ID を削除します。
ユーザーの ID は使用するアイデンティティープロバイダーに関連付けられます。
oc get userでユーザーレコードからプロバイダー名を取得します。この例では、アイデンティティープロバイダー名は htpasswd_auth です。コマンドは、以下のようになります。
# oc delete identity htpasswd_auth:demo identity "htpasswd_auth:demo" deleted
この手順を省略すると、ユーザーは再度ログインできなくなります。
上記の手順の完了後は、ユーザーが再びログインすると、新規のアカウントが OpenShift Container Platform に作成されます。
ユーザーの再ログインを防ごうとする場合 (たとえば、ある社員が会社を退職し、そのアカウントを永久に削除する必要がある場合)、そのユーザーを、設定されたアイデンティティープロバイダーの認証バックエンド (htpasswd、kerberos その他) から削除することもできます。
たとえば htpasswd を使用している場合、該当のユーザー名とパスワードで OpenShift Container Platform に設定された htpasswd ファイルのエントリーを削除します。
Lightweight Directory Access Protocol (LDAP) または Red Hat Identity Management (IdM) などの外部 ID管理については、ユーザー管理ツールを使用してユーザーエントリーを削除します。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.