2017-11-06 27 views
0

キークローキングでは、ユーザーとクライアントごとに制限付きアクセスを設定する必要があります。例えば。ユーザーaは、2017-11-06から2018-11-06までの合流点にアクセスする必要があります。Keycloakで時間制限付きのクライアントアクセスを設定するにはどうすればよいですか?

keycloak管理コンソールで時間ベースのポリシーを設定し、組み込みの評価ページで条件を確認しました。

クライアント>>合流>>認証>>ポリシー

しかしkeycloakは、ユーザのログイン時にポリシーを評価しませんでした。

私たちが最初に仮定したところでは、ユーザー認証中にkeycloakはこれらのポリシーを評価することができましたが、設定したポリシーのいずれもユーザー認証に影響しませんでした(ユーザーはキークローキングのポリシー構成とは独立してログインできます)。クライアント(Confluenceなど)がクライアントポリシーを明示しなければならないと想定しました。私たちの仮定は正しいですか?

ユーザー認証時に評価されるkeycloakのユーザーアクセスポリシーを構成する方法を教えてください。

答えて

1

このポリシーはすべて承認についてのみ!

認証には影響しません。
認証はログイン資格情報の検証に過ぎません。

Keycloak自体が承認を決定していません。クライアント(つまりアプリケーション)が認可の決定を行うために使用できるクレーム、ロール、権限などのデータを提供するだけです。

定義されたポリシーに応じて、認証されたユーザーは、対応するアクセストークンで特定の役割とアクセス許可を持ちます。 アプリケーションは、トークン内のユーザーの提供された役割とアクセス許可に基づいて、特定の機能またはデータへのアクセスを許可または拒否する必要があります。

つまり、説明したポリシーは、ユーザーのアクセス許可に影響します。 2017-11-06の前と2018-11-06の後に、必要なアクセス許可がユーザーのアクセストークンに含まれないため、一部の機能へのアクセスがアプリケーションによって拒否されます。

申し訳ありませんが、これはどのように動作するのですか?Confluence

+0

詳細な回答ありがとうございます!キークローキングでの認証を制限することは可能ですか?例えばユーザーの時間制限? –

+0

いいえ、そのままの状態ではありません。これを解決しなければならない場合、_acceptedフラグ_をチェックするのではなく、いくつかのユーザー属性から日付をチェックし、現在の日付が合わない場合は認証を拒否する、「利用規約」と同様のカスタム_必須アクションを実装します。 http://www.keycloak.org/docs/latest/server_admin/topics/users/required-actions.htmlを参照してください。 – Boomer

関連する問題