ユーザー、グループ、ロール
このページは最も一般的な管理業務であるユーザー、グループ、ロールについてご案内します。このページで述べられているシナリオは、RapidMinerプラットフォームのデプロイメントテンプレートのIdentity and Securityのデフォルト設定になっています。デフォルト設定とその管理方法については以下をご覧ください。
コンセプトと用語を確認したい場合は、セキュリティ概要をご覧ください。
前提条件
以下で述べられている管理業務を行うには、適切なロールが付与されたユーザーでログインする必要があります。デフォルトの設定では、このロールはplatform-adminレルムロールが対応しており、最初に設定されているadminユーザーに割り当てられています。
ログインした後、デプロイメントのランディングページからIdentity and Securityに行き、管理インタフェースにアクセスします。以下の全ての説明は、ログインし、すでにこのページにアクセスしている状態を想定しています。
ユーザーの管理
デフォルトでは、RapidMinerプラットフォームデプロイメントには、adminユーザーのみ作成されています。このユーザーは、すべてのプラットフォームコンポーネントに対する管理者権限を持っています。RapidMinerプラットフォームを操作する人には、ユーザーか管理者のどちらかを設定することを強く推奨します。これは明確な監査証跡を可能にする、良い実践です。
ユーザーのデータベースとIDプロバイダーフェデレーションもサポートされており、ユーザー管理の負担を取り除きます。また企業環境で求められる典型的なものでもあります。
過去バージョンのRapidMinerプラットフォームやスタンドアロンのRapidMiner Serverからアップグレードする場合は、アップグレードとマイグレーションガイドを確認し、既存ユーザーの設定をしてください。
ユーザーの追加
ユーザーの追加は2ステップで完了します。まず、ユーザーを作成します。そして、そのユーザーがログインできるよう(仮の)認証情報を割り当てます。
Usersメニューに行き、Add Userをクリックします。
必ず設定しなければならない箇所はユーザー名のみです(次のステップで初期パスワードを設定します。) 以下に、他の設定を簡単に紹介します。
- ユーザーのメールアドレスを入力する際、そのメールアドレスが有効であるとわかっている場合は、先にEmail verifiedをOnに設定します。
- ユーザーにプロフィール情報(名前やメールアドレス)を入力してもらいたい場合は、Required User ActionsのリストにUpdate Profileを追加します。初めてログインした際に、データを入力するフォームが表示されます。
- 次のログイン時にユーザーにパスワードを変更してもらいたい場合は、Required User ActionsのリストにUpdate Passwordを追加します。
- 次のログイン時にユーザーに二段階認証を設定してもらいたい場合は、Required User ActionsのリストにConfigure OTPを追加します。
Saveをクリックすると、ユーザーが作成され、ユーザーの詳細ページが表示されます。
二つ目のステップは、ユーザーに(仮)パスワードを設定することです。これを行うには、Credentialsタブに行き、PasswordとPassword confirmationにユーザーの新しいパスワードを追加します。デフォルトでは、設定したパスワードは仮パスワードになり、最初のログイン時にユーザーがパスワードを変更する必要があります。これを変更するには、TemporaryをOffに設定します。
Saveをクリックすると、ユーザーの初期パスワードが保存され、ログインできるようになりました。
デフォルトでは、ユーザーにplatform-usersロールが割り当てられます。これは、特権のあるユーザーではなく、通常ユーザーとしてRapidMinerプラットフォームの全コンポーネントにアクセスできます。このデフォルトを変更したい場合は、ロールのチャプターをご覧ください。
ユーザーの削除
Usersへ行き、削除するユーザーを見つけます。検索ボックスを使用するか、View all usersをクリックし、表示されたリストから探します。
該当するユーザーの行でDeleteをクリックし、アクションを確認します。
ユーザーのパスワードのリセット
ユーザーが認証情報を忘れた場合など(メールとパスワードのリセットが設定されていないので、セルフサービスでは不可能です)、ユーザーのパスワードのリセットを行うことはよくある管理業務です。
Usersへ行き、パスワードのリセットを行うユーザーを見つけます。検索ボックスを使用するか、View all usersをクリックし、表示されたリストから探します。Editをクリックします。
CredentialsタブのReset Passwordセクションで、PasswordとPassword confirmationにユーザーの新しいパスワードを追加します。デフォルトでは、設定したパスワードは仮パスワードになり、次のログイン時にユーザーがパスワードを変更する必要があります。これを変更するには、TemporaryをOffに設定します。
ユーザーへの偽装
偽装は、特定のユーザーの認証や認証問題を特定しようとしているときに、非常に便利なツールです。これにより、パスワードを尋ねたり、ユーザーとタイムスロットを計画することなく、そのユーザーの目線からRapidMinerプラットフォームの「世界」を見ることができます。
Usersに行き、偽装するユーザーを見つけます。検索ボックスを使用するか、View all usersをクリックし、表示されたリストから探します。
該当するユーザーの行でImpersonateをクリックします。
偽装を止めるには、ログアウトして、自身のユーザーでログインし直す必要があります。
グループの管理
Groupsは、ユーザーのグループを管理します。グループにロールを割り当てることができます。グループのメンバーになったユーザーは、グループに定義されているロールマッピングを引き継ぎます。
粒度が必要な場合、グループは任意のレベルまで入れ子にすることができます。
デフォルトでは、グループは何も設定されていません。
グループの追加
Groupsへ行き、Newをクリックします。グループ名を入力し、Saveをクリックします。
このグループにロールを割り振るには、Role Mappingsタブをクリックし、ロールを追加します。レルムロールを追加するには、Available Rolesリストから選択し、Add Selected >をクリックします。クライアント特有のロールを追加するには(例えば、あるグループにダッシュボードへのアクセスを許可したい場合など)、まずClient Rolesのドロップダウンリストからクライアントを見つけ(文字を一文字以上入力する必要があります)、Add Selected >>をクリックしてロールを追加します。
既存のグループの中にサブグループを追加する操作は、これと非常に似ています。Groupsへ行き、親グループを選択してNewをクリックします。上記の手順に従い、タスクを完了します。
グループの削除
Groupsへ行き、削除したいグループもしくはサブグループを選択し、Deleteをクリックします。アクションを確認し、タスクを完了します。
注意: グループの削除は、警告なしにそのグループに入れられているサブグループも削除します。
デフォルトグループの変更
新しく作成したユーザーが自動的に追加されるグループを選択することができます。
Groupsへ行き、Default Groupsタブをクリックします。Available Groupsのリストから(検索ボックスかView all groupsボタンを使用して)グループを見つけ、クリックして選択します。最後に、Addをクリックしてタスクを完了させましょう。
グループへのユーザーの追加と削除
Usersに行き、追加したいユーザーを見つけます。検索ボックスか、View all usersを使用してリストからユーザーを見つけます。ユーザーの行にあるEditをクリックします。
ユーザーをグループへ追加するには、Groupsタブをクリックします。Available Groupsのリストから(検索ボックスかView all groupsボタンを使用して)グループを見つけ、クリックして選択します。最後に、Joinをクリックしてタスクを完了させましょう。
グループからユーザーを削除するには、Groupsタブをクリックします。Group Membershipのリストから(検索ボックスかView all groupsボタンを使用して)グループを見つけ、クリックして選択します。最後に、Leaveをクリックしてタスクを完了させましょう。
ロールの管理
ロールは、ユーザーがRapidMinerプラットフォームのどのコンポーネントにアクセスできるか、またコンポーネント内で何のアクションを行えるかを制御します。様々なコンポーネント(KeyCloakではクライアントと呼びます)はそれぞれロールセットを持ち、デプロイメント全体のロールセット(レルムロールと呼びます)も定義します。ロールの定義と管理を簡単にするために、複合ロールというコンセプトが存在し、レルムロールにレルムとクライアントロールを「まとめる」ことができます。
デフォルトでは、platform-users、platform-admin、platform-webservice-accessの三つの複合レルムロールが設定されています。
- platform-usersロールは、特権のあるユーザーではなく、通常ユーザーとして、ユーザーにRapidMinerプラットフォームの全コンポーネントへのアクセスを許可します。
- platform-adminロールは、ユーザーに各コンポーネントへの管理者権限を許可し、Identity and Securityコンポーネントへのアクセスを許可します。
- platform-webservice-accessは制限されたロールで、Webサービスへのセキュアなアクセスのみに使用されます。
以下のテーブルは、様々なクライアントロールとレルムロールとの関係をまとめています。
コンポーネント | ロール | platform-admin | platform-users |
---|---|---|---|
ダッシュボード | admin | ||
editor | |||
viewer | |||
JupyterHub | administrator | ||
user | |||
ランディングページ | view-landing-page | ||
Platform Admin | python-env-admin | ||
python-env-viewer | |||
rts-admin | |||
rts-deployment-admin | |||
rts-viewer | |||
RapidMiner Server | administrator | ||
analyst | |||
connection manager | |||
execute | |||
report editor | |||
report manager | |||
report viewer | |||
scheduler | |||
service | |||
users | |||
Token Generator | users |
ロールの追加
組織内で、RapidMinerプラットフォームの各コンポーネントにアクセスできるユーザーをより制限するロールが必要な場合は、自身でロールを定義することができます。
これには、複合レルムロールを使用します。RapidMinerプラットフォームのコンポーネントは、事前に定義されたクライアントロールで動作しており、それらを変更すると問題を引き起こす可能性があります。このルールの一つの例外はRapidMiner Serverです。詳しくはロールとRapidMiner Serverのグループの設定方法をご覧ください。
新しいロールを追加するには、Rolesへ行き、Add Roleをクリックします。新しいロールの名前を入力し、Saveをクリックします。
Detailsタブで、Composite RolesをOnに設定します。Composite Rolesセクションが下に現れます。
レルムロールを追加するには、Available Rolesのリストから選択し、Add Selected >をクリックします。クライアント特有のロールを追加するには(例えば、あるグループにダッシュボードへのアクセスを許可したい場合など)、まずClient Rolesのドロップダウンリストからクライアントを見つけ(文字を一文字以上入力する必要があります)、Add Selected >>をクリックしてロールを追加します。
ユーザーへのロールの割り当て
Usersへ行き、ロールを割り当てたいユーザーを見つけます。検索ボックスを使用するか、View all usersをクリックし、表示されたリストから探します。
ユーザーの行でEditをクリックし、Role Mappingsタブをクリックします。ユーザーに割り当てられているすべてのレルムロールとクライアントロールを見ることができます(クライアント特有のクライアントロールを確認するには、クライアント名を入力してClient Rolesのドロップダウンリストから選択する必要があります)。
レルムロールを追加するには、Available Rolesのリストから選択し、Add Selected >をクリックします。クライアント特有のロールを追加するには、Client Rolesのドロップダウンリストからクライアントを探し(クライアント名を入力する必要があります)、ロールを選択してAdd Selected >>をクリックします。
割り当てられたロールを削除する場合も、同じインタフェースで行うことができます。
新規ユーザーのデフォルトロールの変更
デフォルトでは、新しく作成されたユーザーはplatform-usersロールを持ちます。
これを変更するには、Rolesへ行き、Default Rolesタブをクリックします。
レルムロールを追加するには、Available Rolesのリストから選択し、Add Selected >をクリックします。クライアント特有のロールを追加するには、Client Rolesのドロップダウンリストからクライアントを探し(クライアント名を入力する必要があります)、ロールを選択してAdd Selected >>をクリックします。
ロールと RapidMiner Serverの関係性
グループになると、RapidMinerプラットフォームのIdentity and SecurityコンポーネントとRapidMiner Serverでは用語にミスマッチが生じます。プラットフォームのロールはRapidMiner Serverのグループに相当します。
新しいグループを作成する典型的なユースケースとしては、あるRapidMiner Serverのグループのメンバーに実行キューを制限することが挙げられます。これが、RapidMinerのIdentity and Securityで定義したユーザーとロールに適切に割り当てられているか確認するには、以下の手順に従ってください。
最初に、platform-adminロールをもつユーザーでログインし、Identity and Securityへ向かいます。
Clientsに行き、urn:rapidminer:serverを探し、その行のEditをクリックします。
Rolesタブで、Add Roleをクリックし、新しいロールの名前を入力します。Saveをクリックします。
次に、RapidMiner Serverへ行き、AdministrationにあるUser Managementをクリックします。Add groupsをクリックします。クライアントロールに使用した名前と全く同じ名前をグループ名に用いて、Submitをクリックします。
Groupsタブへ行き、新しく作成したグループ名をクリックしてグループの詳細ページを開きます。開いた画面で、Manage LDAP/SAML/Keycloak groupsアクションをクリックします。新しいグループの名前を入力し、Addをクリックします。
グループの詳細ページへ戻り、Group managed by LDAP/SAML/Keycloak (If selected, members of the LDAP/SAML/Keycloak groups specified below are automatically added to this group upon login)にチェックを入れます。下のパネルが、グループを一覧にしたものに変わります。
このパネルで、新しく作成したグループを選択し、Copyをクリックします。Submitをクリックして変更を保存します。
これで、RapidMiner Serverのグループを使用する準備が整い、Identity and Securityでクライアントロールとして適切に設定されました。