11.3.2. ユーザーロールのマッピングの制限
もう 1 つは、管理者がユーザーに割り当て可能なロールセットを制限することです。最後のサンプルを続行して、'sales-admin' ユーザーのパーミッションセットを拡張して、このアプリケーションにアクセスできるユーザーも制御できるようにします。きめ細かいパーミッションを使用することで、sales-admin が sales-application への特定のアクセス権限を付与するロールのみを割り当てることができます。また、管理者はロールのみをマッピングでき、他のタイプのユーザー管理を実行しないように制限することもできます。
sales-application が 3 つの異なるクライアントロールを定義しました。
セールスアプリケーションロール
sales-admin ユーザーがこれらのロールをシステムの任意のユーザーにマッピングできるようにします。これを実行する最初のステップでは、ロールが admin でマップされるようにします。viewLeads ロールをクリックすると、このロールの Permissions タブがあることを確認できます。
Leads ロールのパーミッションタブの表示
そのタブをクリックし、Permissions Enabled を on にすると、ポリシーを適用することのできる多数のアクションが表示されます。
Leads パーミッションの表示
関心のあるのは map-role です。このパーミッションをクリックし、上記の例で作成されたのと同じ User Policy を追加します。
map-roles パーミッション
行った内容は、sales-admin が viewLeads ロールをマッピングできることを示しています。何も指定していないユーザーは、管理者がこのロールをマップできるユーザーで指定します。このレルムの管理コンソールの Users セクションに移動する必要があります。左側のメニュー項目 Users をクリックすると、レルムのユーザーインターフェイスが表示されます。Permissions タブが表示されるはずです。それをクリックして有効にします。
ユーザーパーミッション
対象のパーミッションは map-roles です。これは、管理者のみがロールをユーザーにマッピングできるようにする制限ポリシーです。map-roles パーミッションをクリックし、作成したユーザーポリシーを再度追加すると、sales-admin はロールをどのユーザーにもマッピングできます。
最後に、view-users ロールを sales-admin に追加します。これにより、管理者は、sales-application ロールを追加するレルム内のユーザーを表示できます。
view-users の追加
11.3.2.1. テスト リンクのコピーリンクがクリップボードにコピーされました!
次に、master レルムからログアウトし、sales-admin をユーザー名として使用し、test レルムの 専用の管理コンソール に再ログインします。これは /auth/admin/test/console にあります。
これで、sess-admin がシステムにユーザーを表示できるようになります。ユーザーの 1 つを選択すると、各ユーザー詳細ページが読み取り専用であることが表示されます (Role Mappings タブを除く)。これらのタブに移動すると、sales-application ロールを参照する場合を除き、管理者がユーザーにマップするのに Available となっているロールがないことが確認できます。
viewLeads の追加
sales-admin が viewLeads ロールをマッピングすることのみを指定しました。