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
ロールをマッピングすることのみを指定しました。