Upgrade to Pro — share decks privately, control downloads, hide ads and more …

JJUG2022_spring_Keycloak (Red Hat Single Sign-on)

JJUG2022_spring_Keycloak (Red Hat Single Sign-on)

JJUG 2022 Springでの登壇した際の資料となります。
--abstract
Keycloakは認証認可基盤として広く利用されています。本セッションでは、認証認可やKeycloakの基礎的な部分をご説明し、Keycloakが内部ランタイムをwildflyからQuarkusに変更し、よりクラウドネイティブになっていく内容をご紹介しています。

6aab1831cbfef013b122d4cdb3c6680f?s=128

Takahiro Inoue

June 19, 2022
Tweet

More Decks by Takahiro Inoue

Other Decks in Technology

Transcript

  1. Javaの認証認可基盤のKeycloak (Red Hat Single Sign-on) 1 JJUG CCC 2022 Spring

    2022年 6月19日
  2. 3 本日のアジェンダ • Keycloak • Quarkus • Red Hat Single

    Sing-on
  3. Keycloak 4

  4. • オープンソースのアイデンティティとアクセス管理 • 認証と認可をいい感じにやってくれる • アプリやAPIで認証と認可を個別に作らなくて済む • Javaで開発されている • 色んな機能がある

    Keycloakとは 5
  5. Active Contributors • 20+ : フルタイムのRed Hatメンバー • 70+ :

    幅広い組織からのコントリビュータ Amazon* Aitio Finland Codegy Eurodata AG Airpas Aviation Topicus Acando msg-systems Stocksoftware Red Hat* Alfresco Cofinpro Exponea HealthPartners Kisters QSD Nicologies Heidelberg Mobil Samsung* Amplify Learning CoreFiling Facebook Stocksoftware Linkyard Quest Software Ocrolus. Tom Sawyer Software Talend* AOE Crystalline First8 Iris-it MC2 DEV Service Planet Ordami Cambio Healthcare Systems Uber* Arktekk Cupenya Fit2Cloud Itesoft Metaphor Simacan B.V. Owlr-com European Commission - Joint Research Center Hitachi* Canoo DigitalState GiavaCMS Jive Morphean Smartling Pandium Polish Air Navigation Services Agency Mesosphere* CNRS ATILF Equinux GoodBytes Kantega Unify SoftwareMill Perficient 3River Development LLC Telekom-PD Tradeshift Virginia Tech Trilogy Group Promergent * CNCF Members 6
  6. 7 主な機能: シングルサインオン&アウト RH-SSO 管理者 ユーザ Node.js JBoss tomcat 権限管理

    強制ログアウト モニタリング 監査
  7. 8 主な機能: IDフェデレーション RH-SSO LDAP Active Directory Custom User Storage

    RDBMS フェデレーション ユーザ
  8. 9 主な機能: IDブローカー & ソーシャルログイン RH-SSO SAML 2 Identity Provider

    Twitter Facebook LinkedIn IDブローカー
 GitHub Google MicroSoft ユーザ
  9. 10 主な機能: 管理画面 SSOするアプリケーションやユーザ、ロール等などが設定できる (REST APIもある)

  10. 11 正直、SSOやるには認証・認可関連の標準仕様など知ってないとツライ おすすめの勉強方法 • 本 − 認証と認可 Keycloak入門 − Keycloak

    - Identity and Access Management for Modern Applications: Harness the power of Keycloak OpenID Connect, and OAuth 2.0 protocols to secure applications • Web − 一番分かりやすい OAuth/OpenID Connect の説明 (Qiita) • Youtube − OAuth2.0やOpenIDで検索して、1.5倍速で見る →Keycloak動かしたり、シーケンスを紙に書いたりする
  11. 12 Keycloakの中身 OS JDK Wildfly Keycloak OS JDK Quarkus Keycloak

    Keycloak 〜16.1 Keycloak 17.0〜 (wildfly版もまだあります) 一言で言うと、JavaのWebアプリです。 後でkwsk
  12. 13 Keycloakの配布形態 ・ZIPファイル ・コンテナ ・Operator

  13. 14 Kubernetes Operatorについて Kubernetes Applications 運用の知見をコード化し、アプリケーションの運用を自動化する アプリ/MW運用における運用の知見を コード化し、パッケージ化したもの。 アプリケーション運用に必要な以下のよ うな作業を自動的に行う。

    ・インストール ・リソーススケーリング ・バックアップ ・アップデート 運用の知見をコード化
  14. 15 KeycloakのOperator 基本的なOperatorの機能に加えて、 カスタムリソースで、レルム、 クライアント(アプリケーション)、 ユーザなどがyamlで設定できる apiVersion: k8s.keycloak.org/v2alpha1 kind: KeycloakRealmImport

    metadata: name: my-realm-kc spec: keycloakCRName: my-CR realm: id: example-realm realm: example-realm displayName: ExampleRealm enabled: true
  15. Quarkus 16

  16. 17 ・Supersonic. Subatomic. Java(超音速・原子より小さいJava) ・高速で軽量なJavaフレームワーク ・コンテナ環境やサーバレス向き ・Javaでのライブコーディング 日本語ドキュメント: https://ja.quarkus.io/

  17. 18 uarkusのパフォーマンス


  18. 19 uarkus入門
 とっても簡単ですので、ぜひ、お試しください。 1分ぐらいでRESTアプリでHelloが返ってくるはず。(download時間除く) https://ja.quarkus.io/get-started/

  19. 20 Keycloak on uarkus
 OS JDK Quarkus Keycloak Keycloak 17.0〜

    土台をQuarkusにすることで、早くなるスリムになる →コンテナ向き →Kubernetes上での実行向き
  20. Red Hat Single Sign-on (コマーシャル) 21

  21. Red Hat Single Sing-onとKeycloakの差異 22 ・幅広い貢献者が参加するアップストリームの  コミュニティプロジェクト ・迅速な新規機能開発のため以下がない   ・マイクロリリースやパッチリリースがない   ・長期メンテナンスブランチなし

    ・セキュリティ修正は次のリリースに組み込まれる   ・重要な修正については例外あり SSO ・Keycloakの製品化バージョン ・パッチ提供  ・長期的なメンテナンスと定期的な累積パッチの提供  ・長期保守のためのタイムリーなセキュリティパッチの提供 ・データベース、LDAPサーバー、JDK、OSなどでテストおよび認証 ・サポートエンジニアによるサポート(お問い合わせ) ・Red Hatエンジニアによるコンサルティングサービスの提供(別途有償)
  22. 23 画面のテーマが微妙に異なる SSO

  23. 24 Red Hat内でも使ってます https://access.redhat.com/announcements/2901111 https://developers.redhat.com/blog/2019/02/14/red-hat-sso-high-availability-hybrid-cloud/

  24. 25 https://access.redhat.com/announcements/2901111 https://developers.redhat.com/blog/2019/02/14/red-hat-sso-high-availability-hybrid-cloud/ Red Hat内でも使ってます

  25. 26 KeycloakとRed Hat Single Sign-onのバージョン関係 https://access.redhat.com/solutions/3296901

  26. 27 Red Hat Single Sign-onでサポートされる機能 ざっくり言いますと、マニュアルに乗ってる機能がサポート対象

  27. 28 Red Hat Single Sign-onはどうやって買うか • RH-SSOは製品単体でのSubscriptionはなく、以下いずれかで提供 − Red Hatミドルウェア製品サブスクリプション他に包含される、Red

    Hat Middleware Core Services Collectionの一部として https://www.redhat.com/en/resources/application-services-subscription-guide-detail − Red Hat OpenShift Container Platformの一部として https://www.redhat.com/en/resources/self-managed-openshift-sizing-subscription-guide 単体で売ってません。
  28. まとめ 29

  29. 30 まとめ • Keycloak →Javaで出来た認証認可の基盤  今後、土台がwifdflyからQuarkusになる • Quarkus →早くて軽いJava •

    Red Hat Single Sing-on →Keycloakの製品版
  30. linkedin.com/company/red-hat youtube.com/user/RedHatVideos facebook.com/redhatinc twitter.com/RedHat THANK YOU 31 ed Hat is

    the world’s leading provider of enterprise open source software solutions. Award-winning support, training, and consulting services make 
 ed Hat a trusted adviser to the Fortune 500.