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に変更し、よりクラウドネイティブになっていく内容をご紹介しています。

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日

    View full-size slide

  2. 3
    本日のアジェンダ
    • Keycloak
    • Quarkus
    • Red Hat Single Sing-on

    View full-size slide

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

    View full-size slide

  4. 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

    View full-size slide

  5. 7
    主な機能: シングルサインオン&アウト
    RH-SSO
    管理者
    ユーザ
    Node.js
    JBoss
    tomcat
    権限管理
    強制ログアウト
    モニタリング
    監査

    View full-size slide

  6. 8
    主な機能: IDフェデレーション
    RH-SSO
    LDAP Active
    Directory
    Custom
    User Storage
    RDBMS
    フェデレーション
    ユーザ

    View full-size slide

  7. 9
    主な機能: IDブローカー & ソーシャルログイン
    RH-SSO SAML 2
    Identity Provider
    Twitter Facebook LinkedIn
    IDブローカー

    GitHub Google MicroSoft
    ユーザ

    View full-size slide

  8. 10
    主な機能: 管理画面
    SSOするアプリケーションやユーザ、ロール等などが設定できる
    (REST APIもある)

    View full-size slide

  9. 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動かしたり、シーケンスを紙に書いたりする

    View full-size slide

  10. 12
    Keycloakの中身
    OS
    JDK
    Wildfly
    Keycloak
    OS
    JDK
    Quarkus
    Keycloak
    Keycloak 〜16.1 Keycloak 17.0〜
    (wildfly版もまだあります)
    一言で言うと、JavaのWebアプリです。
    後でkwsk

    View full-size slide

  11. 13
    Keycloakの配布形態
    ・ZIPファイル
    ・コンテナ
    ・Operator

    View full-size slide

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

    View full-size slide

  13. 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

    View full-size slide

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

    View full-size slide

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


    View full-size slide

  16. 19
    uarkus入門

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

    View full-size slide

  17. 20
    Keycloak on uarkus

    OS
    JDK
    Quarkus
    Keycloak
    Keycloak 17.0〜
    土台をQuarkusにすることで、早くなるスリムになる
    →コンテナ向き
    →Kubernetes上での実行向き

    View full-size slide

  18. Red Hat Single Sign-on
    (コマーシャル)
    21

    View full-size slide

  19. Red Hat Single Sing-onとKeycloakの差異
    22
    ・幅広い貢献者が参加するアップストリームの
     コミュニティプロジェクト
    ・迅速な新規機能開発のため以下がない
      ・マイクロリリースやパッチリリースがない
      ・長期メンテナンスブランチなし
    ・セキュリティ修正は次のリリースに組み込まれる
      ・重要な修正については例外あり
    SSO
    ・Keycloakの製品化バージョン
    ・パッチ提供
     ・長期的なメンテナンスと定期的な累積パッチの提供
     ・長期保守のためのタイムリーなセキュリティパッチの提供
    ・データベース、LDAPサーバー、JDK、OSなどでテストおよび認証
    ・サポートエンジニアによるサポート(お問い合わせ)
    ・Red Hatエンジニアによるコンサルティングサービスの提供(別途有償)

    View full-size slide

  20. 23
    画面のテーマが微妙に異なる
    SSO

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  25. 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
    単体で売ってません。

    View full-size slide

  26. 30
    まとめ
    • Keycloak
    →Javaで出来た認証認可の基盤
     今後、土台がwifdflyからQuarkusになる
    • Quarkus
    →早くて軽いJava
    • Red Hat Single Sing-on
    →Keycloakの製品版

    View full-size slide

  27. 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. 



    View full-size slide