過去問ドリル

LinuCレベル3 セキュリティスペシャリスト 認証・認可 問17

認証・認可/Keycloak による認証認可

KeycloakのAuthorization Servicesで、あるリソースへのパーミッションに、ロールにもとづくポリシーと時刻にもとづくポリシーの2つを関連付けた。どちらか一方のポリシーを満たせばアクセスを許可したい。設定として適切なものはどれか。

当サイトのオリジナル問題(LinuCレベル3 セキュリティスペシャリストの出題範囲「認証・認可」に対応。実際の試験問題ではありません)

正解: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 にすると各ポリシーの評価結果が反転するだけで、どちらか一方を満たせば許可するという判定にはなりません。
LinuCレベル3 セキュリティスペシャリストの問題を演習モードで解く