11.3.2. ユーザーロールのマッピングの制限

もう 1 つは、管理者がユーザーに割り当て可能なロールセットを制限することです。最後のサンプルを続行して、'sales-admin' ユーザーのパーミッションセットを拡張して、このアプリケーションにアクセスできるユーザーも制御できるようにします。きめ細かいパーミッションを使用することで、sales-adminsales-application への特定のアクセス権限を付与するロールのみを割り当てることができます。また、管理者はロールのみをマッピングでき、他のタイプのユーザー管理を実行しないように制限することもできます。

sales-application が 3 つの異なるクライアントロールを定義しました。

セールスアプリケーションロール

fine grain sales application roles

sales-admin ユーザーがこれらのロールをシステムの任意のユーザーにマッピングできるようにします。これを実行する最初のステップでは、ロールが admin でマップされるようにします。viewLeads ロールをクリックすると、このロールの Permissions タブがあることを確認できます。

Leads ロールのパーミッションタブの表示

fine grain view leads role tab

そのタブをクリックし、Permissions Enabled を on にすると、ポリシーを適用することのできる多数のアクションが表示されます。

Leads パーミッションの表示

fine grain view leads permissions

関心のあるのは map-role です。このパーミッションをクリックし、上記の例で作成されたのと同じ User Policy を追加します。

map-roles パーミッション

fine grain map roles permission

行った内容は、sales-adminviewLeads ロールをマッピングできることを示しています。何も指定していないユーザーは、管理者がこのロールをマップできるユーザーで指定します。このレルムの管理コンソールの Users セクションに移動する必要があります。左側のメニュー項目 Users をクリックすると、レルムのユーザーインターフェイスが表示されます。Permissions タブが表示されるはずです。それをクリックして有効にします。

ユーザーパーミッション

fine grain users permissions

対象のパーミッションは map-roles です。これは、管理者のみがロールをユーザーにマッピングできるようにする制限ポリシーです。map-roles パーミッションをクリックし、作成したユーザーポリシーを再度追加すると、sales-admin はロールをどのユーザーにもマッピングできます。

最後に、view-users ロールを sales-admin に追加します。これにより、管理者は、sales-application ロールを追加するレルム内のユーザーを表示できます。

view-users の追加

fine grain add view users

11.3.2.1. テスト

次に、master レルムからログアウトし、sales-admin をユーザー名として使用し、test レルムの 専用の管理コンソール に再ログインします。これは /auth/admin/test/console にあります。

これで、sess-admin がシステムにユーザーを表示できるようになります。ユーザーの 1 つを選択すると、各ユーザー詳細ページが読み取り専用であることが表示されます (Role Mappings タブを除く)。これらのタブに移動すると、sales-application ロールを参照する場合を除き、管理者がユーザーにマップするのに Available となっているロールがないことが確認できます。

viewLeads の追加

fine grain add view leads

sales-adminviewLeads ロールをマッピングすることのみを指定しました。