Using OpenID Connect (OIDC) and Keycloak to centralize authorization Learn how to enable bearer token authorization in your Quarkus application using Keycloak Authorization Services for secure access to protected resources. The quarkus-keycloak-authorization extension relies on quarkus-oidc. It includes a policy enforcer that regulates access to secured resources. Access is governed by permissions
Quarkusとは、KubernetesネイティブのJavaフレームワークです。Quarkusを使用することで、コンテナに最適化されたJavaアプリケーションを開発できます。ここではQuarkusとKeycloakを組み合わせた堅牢化方法をご紹介します(図2)。 前回は各サービスにそれぞれIstioのAuthorizationPolicyを作成し導入することで、各サービスにJWTによるアクセス制御を追加しました。Quarkusのkeycloak-authorizationエクステンションを使うと、各サービスのアクセス制御ロジックをKeycloakの認可サービスに集約することができます。 各サービスのアクセス制御ロジックを、各サービスで個別に持つべきか、認可サーバ側で集約して持つべきかについては一長一短があり、またシステムの要件に大きく依存する部分があるため、一概にどちらが良いとは言えません
【2019年10月版】Quarkus の REST API を KeyCloak で SSO するデモを docker-compose で動かしてみた。JavaJWTSSOKeycloakQuarkus Quarkus + KeyCloakの SSO 連携が簡単らしい。 Quarkus は JBoss 御謹製のK8sネイティブなマイクロサービスが素早く作れるフレームワークでございまして GraalVM でのビルドが簡単にできるらしいのでちょっと注目をしておりましたところ、以下のような記事を見つけました。 Quarkus の採用は慎重に検討する Quarkus は RedHat 社が開発しており、同社製または同社がスポンサーの OSS 製品(KeyCloak、Hibernate)との連携を前提としている。 あらそうなの?KeyCloakの代替になる SSO の OSS はほぼないのでKeyC
Keycloakにユーザを一括追加するツール Keycloak Bulk を作りました。 Keycloakで多数のユーザを追加したい場合、一人ずつ手作業で登録する必要があります。JSONでユーザリストを書けばインポートできるようですが、やや複雑な作業が必要になります。使いやすいインポートツールが見当たらなかったので作りました。 How to use スプレッドシートで下記のようなユーザリストを作ります。 Username FirstName LastName Email InitialPassword alice Alice Foo alice@example.com jrkz454f5b セルをコピーしてKeycloak Bulkに貼り付けます。CSV or TSV形式であれば大丈夫です。 インポートボタンをクリックすると、一人ずつKeycloakに追加されます。すでに同じユーザ名が存在
関連記事 【Keycloak】Apache の VirtualHost で分けられた複数のサイトをまとめてシングルサインオンしよう https://qiita.com/thirdpenguin/items/1136c755560eea51b5b1 公式にリリースされているコンテナイメージによる Keycloak 導入があまりにも簡単すぎて感動したので、ついでに Keycloak コンテナの https 化もやってみました。 github リポジトリにやり方がありました。 https://github.com/keycloak/keycloak-containers/tree/master/server#setting-up-tlsssl 上記を要約すると、「/etc/x509/https に 秘密鍵 tls.key と 証明書 tls.crt をくれると後はよろしくやるよ!でもボリュームマ
今日やること 以前に私が投稿したKeycloakの記事では、Keycloakアダプターやmod_auth_openidcを利用したアプリケーション保護の仕方について書きました。しかし、アプリケーション利用後のログアウトの仕組みについてはほとんど言及していなかったので、今回の投稿ではKeycloakのシングル・ログアウト(以降SLOと省略)の仕組みをまとめることにしました。 ここでいうSLOとは、OIDCで複数のRPにログインした状態で、Keycloakもしくは特定のRP起点のログアウト処理を行った際に、Keycloakを含め、ユーザーが利用していたすべてのRPからログアウトされる動作を指しています。 KeycloakのSLOの仕組みについて KeycloakのSLO処理は、大まかに以下のどちらかのパターンで処理されます。 主な違いはKeycloakのログアウト・エンドポイントにフロントチャ
今日やること Keycloak by OpenStandia Advent Calendar 2017 も22日目の今日は、Keycloakのカスタマイズポイントを整理してみます。 説明のために、Keycloakのカスタマイズポイントを大きく以下3つに分けてみました。 画面のカスタマイズ 既存サービスのカスタマイズ 独自のカスタマイズ 各カスタマイズポイントの説明と(できるところは)実装例なども紹介できればと思っていますので、宜しくお願い致します。 画面のカスタマイズ Keycloakでは「Themes」機能により、Keycloak本体のファイルを直接修正せずに画面のカスタマイズをすることが可能です。 Themesについて 「Themes」機能の特徴をみてみます。 Keycloak本体のファイルを直接修正することなく、UIを構成する各種ファイルの上書きすることが可能です。(上書き可能なファ
# KeyCloak keycloak.realm={レルム名} keycloak.auth-server-url={keycloak URL} keycloak.resource={リソース名} keycloak.credentials.secret={シークレット値} @KeycloakConfiguration public class WebSecurityConfig extends KeycloakWebSecurityConfigurerAdapter { @Autowired public KeycloakClientRequestFactory keycloakClientRequestFactory; @bean public KeycloakSpringBootConfigResolver KeycloakConfigResolver() { return new K
KeycloakでOpenID Connectを使ってシングルサインオンをしてみる(認可コードフロー(Authorization Code Flow)編)SSOopenid_connectSingleSignOnKeycloak 今日やること Keycloakアドベント 17日目は、OpenID Connectの認可コードフローをやってみたいと思います。Relying Partyを作って、認可コードフローでシングルサインオンをしてみましょう。 というか、認可コードフローってなんだっけ? こんなの。 事前準備 Keycloakは2日目の記事などを参考にしてインストールしておいてください。テストユーザーはこの記事の中で作ります。 Relying Party (RP) を作る OpenID Connectをやるなら、当然シングルサインオンするRelying Partyが必要なので、これから作って
Tomcatに付属するexapmlesアプリケーションでは、以下のようなアクセス制御をかけることを想定します。 動作確認時の各サーバーへのアクセスポートは以下のとおりです。 Keycloakサーバー側の設定 クライアントの追加・設定 Keycloakの管理コンソールにログインします。 左メニューバーから、demoレルムを選択します。 左メニューバーで クライアント をクリックします。クライアント一覧が表示されます。 右上の 作成 ボタンを押下します。 以下のようなクライアント設定値を入力し、保存 ボタンを押下します クライアントID: kc-httpd クライアントプロトコル: openid-connect ルートURL: http://kc-httpd.example.com 引き続き kc-tomcatの設定画面が表示されるので以下のような設定を行い、保存 ボタンを押下します。 アクセ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く