LinuCレベル3 セキュリティスペシャリスト 認証・認可 問17
認証・認可/Keycloak による認証認可KeycloakのAuthorization Servicesで、あるリソースへのパーミッションに、ロールにもとづくポリシーと時刻にもとづくポリシーの2つを関連付けた。どちらか一方のポリシーを満たせばアクセスを許可したい。設定として適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル3 セキュリティスペシャリストの出題範囲「認証・認可」に対応。実際の試験問題ではありません)
- Aパーミッションの Decision strategy を Unanimous にする
- Bパーミッションの Decision strategy を Affirmative にする
- Cパーミッションの Decision strategy を Consensus にする
- D関連付けた2つのポリシーの Logic を Negative にする
正解:B
解説
KeycloakのAuthorization Servicesでは、保護するリソースやスコープにパーミッションを定義し、そこへロール・ユーザー・時刻などの条件を表すポリシーを関連付けます。パーミッションの Decision strategy は複数のポリシーの結果をまとめる方法で、既定の Unanimous はすべてのポリシーが許可と評価したときだけ許可し、Affirmative は1つでも許可と評価すれば許可します。Consensus は許可の数が拒否の数より多いときに許可するため、2つのうち1つだけが許可の場合は同数で拒否になります。ポリシーの Logic を Negative にすると、そのポリシーの評価結果が反転します。
選択肢ごとの解説
- A誤り。Unanimous は関連付けたすべてのポリシーが許可と評価したときだけ許可する方式で、両方の条件を満たす必要があります。
- B正しい。Affirmative は、関連付けたポリシーのうち1つでも許可と評価すればアクセスを許可します。
- C誤り。Consensus は許可の数が拒否の数より多いときに許可する方式で、2つのうち1つだけが許可の場合は同数となり拒否されます。
- D誤り。Logic を Negative にすると各ポリシーの評価結果が反転するだけで、どちらか一方を満たせば許可するという判定にはなりません。