11.3.7. 権限の評価
Evaluation タブには、権限が期待どおりにアクセス制限を適用していることを管理者が検証できるようにテスト環境が提供されます。管理者は、特定のリソースへのアクセス制限を適用するときにどのような権限が関係しているか、またその結果はどうなるかを確認できます。
評価を実行するには、一連のフィールドを指定する必要があります。
-
User、レルム管理者、またはリソースにアクセスしようとしているサブジェクト -
Resource Type、評価するリソースタイプ -
Resource Selector、選択したResource Typeに応じて、ユーザー、グループ、クライアントなどの特定のレルムリソースを選択するように求められます。 -
Authorization scope、評価するスコープまたは操作。指定しない場合は、選択したリソースタイプのすべてのスコープに対して評価が行われます。
詳細な権限評価のタブ
Evaluate ボタンをクリックすると、選択した User が管理コンソールまたは管理 API を使用してリソースにアクセスしようとした場合と同様に、選択したリソースとスコープに関連付けられているすべての権限がサーバーによって評価されます。
たとえば、上記の例では、Allow managing all realm users 権限が PERMIT に投票され、manage スコープへのアクセスが許可されているため、ユーザー myadmin がユーザー user-1 を 管理 できることがわかります。しかし、他のスコープはすべて拒否されています。
Permissions タブの検索機能と組み合わせることで、トラブルシューティングを実行し、期待どおりに動作していない権限を特定できます。
権限を評価する際には、次のルールが適用されます。
- リソース固有の権限の結果は、特定のタイプのすべてのリソースへのアクセスを許可するより広範な権限よりも優先されます。
- 特定のリソースに対する権限が存在しない場合は、特定のタイプのすべてのリソースへのアクセスを許可する権限に基づいてアクセスが付与されます。
- 特定のリソースへのアクセス制限を適用する権限が各種ある場合、そのすべてがリソースへのアクセスを許可する場合にのみアクセスを付与します。
11.3.7.1. 競合する権限の解決 リンクのコピーリンクがクリップボードにコピーされました!
権限には複数のポリシーを関連付けることができます。認可モデルが進化するにつれて、権限内の一部のポリシーや、特定のリソースに関連する異なる権限が競合することがよくあります。
いずれかの権限が "DENY" と評価された場合、評価結果は "denied" になります。同じリソースに関連する権限が複数ある場合、対象の権限を "granted" とするには、それらすべてにアクセス権を付与する必要があります。
詳細な管理者権限を使用すると、個々のリソースまたはリソースのタイプ自体 (すべてのユーザー、すべてのグループなど) に対して権限を設定できます。特定のリソースに関連する権限が存在する場合、評価中に "all-resource" 権限は 考慮されません。特定の権限が存在しない場合は、"all-resource" 権限にフォールバックします。このアプローチは realm-admins グループのメンバーがレルムグループのメンバーを管理できるようにする一方で、realm-admins グループのメンバー自身は管理できないようにするといったシナリオに対処するのに役立ちます。