JJUC CCC 2020 Fall の登壇資料です。 https://confengine.com/jjug-ccc-2020-fall/schedule/rich#session-28680-info keyword - BaaS ( Banking as a Service ) - Keycloak - OpenID Connect / OAuth 2.0 - Java / Spring Boot
タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。
初めまして、 @takano-hi です。 2023年2月に AlphaDrive にジョインして、主にフロントエンド領域を中心に設計・実装などの業務を担当しています。 最近、Next.js のプロジェクトを新たに立ち上げる機会があり、せっかくなので App Router を採用しました。 そのプロジェクトの認証機能の実装に当たり、今まで他プロジェクトでも利用していた Keycloak と @auth0/nextjs-auth0 の組み合わせを試したところいくつかの困難に遭遇したので、その解決方法についてまとめようと思います。 環境 next v13.4.9 @auth0/nextjs-auth0 v3.1.0 keycloak v20.0.1 ライブラリの選定背景 私が所属しているチームでは、認証基盤(IDプロバイダー)に Keycloak を利用しています。 Keycloak は Op
連載の1回目である今回は、Keyclooakの基本および、API保護が必要とされる背景について解説します。 サービスがより活発に利用されることを狙って、企業や公的機関によるサービスのAPI(Application Programming Interface)公開が広がっています。また、自組織内でもモバイルアプリケーション開発やシステム間連携を行いやすくするために、システムがAPIを提供することが多くなってきています。その際、APIは限られた人やシステムにだけがアクセス可能にする必要があるため、認証・認可のようなセキュリティ技術が必須になってきます。 認証・認可は、OAuth 2.0の枠組みに基づくことが一般的ですが、OAuthは自由度が高い仕様であるため、誤って実装・構築してしまうとセキュリティホールが作りこまれてしまいます。本記事では、近年急成長を遂げている認証・認可サーバOSSである「
連載の1回目である今回は、FAPIの概要並びに、IAMのKeycloakのFAPI対応について紹介します。 はじめに サービスデリバリのアジリティを高めるために、今やサービス開発にAPIを利用することは必要不可欠となっています。また既存サービスに新たな価値を付与するために、APIを公開することも常套手段の一つとなっています。このようにAPIに触れる機会が日常にあふれている一方、APIに対して適切なセキュリティ設計を行わなかったために、機密性の高い情報が漏えいしてしまったり、金融取引に関わる不正操作を許してしまったりという事故や事件は後を絶ちません。攻撃者による攻撃が日々進化をし続けている中、APIを公開するシステムに求められるセキュリティ要件は日々高度化しています。 そんな中で注目を集めているのが、Financial-grade API Security Profile(以下、FAPI)で
KeycloakはOIDC認証等を利用してシングル・サインオンを実現するOSSです。 先日、Keycloakの環境を検証する機会があったので、構築手順をまとめました。 本ブログはその備忘録です。 先日、Keycloakの環境を検証する機会があったので、構築手順をまとめました。 本ブログはその備忘録です。 Keycloakとは KeycloakはOIDC認証等を利用してシングル・サインオンを実現するOSSです。 Keycloak より詳細に知りたい方は、@ITの記事がわかりやすいので、こちらを御覧ください。 マイクロサービス時代のSSOを実現する「Keycloak」とは:Keycloak超入門(1) - @IT 構成図 こんな感じの構成をCloudFormationで作ります。Keycloakは、EC2上のDockerで動かします。 HTTPS接続できるようにするため、ALBをSSL終端にし
Keycloakは、シングルページアプリケーション(SPA)、モバイルアプリケーション、REST APIなどのモダンなアプリケーションに焦点を当てた、オープンソースのIdentity and Access Management(IAM)ツールです。 小規模なウェブサイトから、数百万人のユーザーを抱える大企業まで、さまざまなシナリオの本番環境で使用されています。 本書は、開発コミュニティーのプロジェクトリーダーとコアディベロッパーが著した、Keycloakの包括的な解説書です。インストール方法から、管理コンソールやアカウントコンソールの使い方、本番環境での使用に備えた設定方法、ユーザーの管理、トークンとセッションの管理、SPIによるカスタマイズまでを詳しく解説しています。さらに、アプリケーションのセキュリティーを保護する方法や、OAuth 2.0とOpenID Connect(OIDC)を理
◆ Live配信スケジュール ◆ サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。 ⇒ 詳細スケジュールはこちらから ⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください 【5/21開催】Azure OpenAI ServiceによるRAG実装ガイドを公開しました 生成AIを活用したユースケースで最も一番熱いと言われているRAGの実装ガイドを公開しました。そのガイドの紹介をおこなうイベントです!! https://tech-lab.connpass.com/event/315703/ きっかけよくAzure Active DirectoryをOpenID ConnectのProviderとして使います。今回、とある用途で、ローカルにOpenID ConnectのProviderを立てなければいけな
Cognitoユーザープールは、OpenID Connectプロバイダーを追加可能で、OIDCに準拠したアカウントをCognitoユーザープールに紐付けることができます。 本ブログでは、KeycloakとCognitoユーザープールを連携する例を紹介します。 Cognitoユーザープールは、OpenID Connect(以降、OIDC)プロバイダーを追加可能で、OIDCに準拠したアカウントをCognitoユーザープールに紐付けることができます。 弊社ブログでもLINEアカウントと連携した例を紹介しています。 【サーバーレスなユーザ管理基盤】Amazon Cognito ユーザープールにOpenID Connectを使ってLINEアカウントを連携させてみる | DevelopersIO 本ブログでは、KeycloakとCognitoユーザープールを連携する例を紹介します。 ゴール Cogni
ユーザーの認証と認可を行う方法としてはOpenID Connectがメジャーですよね。ローカルで簡単にテストするために、ローカルでKeycloakをDockerで起動してテストしてみます。外部システムはモックを使う、というのがセオリーですが、気軽に使える本物のサービスを使った方が楽ですよね、ということで。 なお、認証周りのGoのアプリケーションコードは超簡易実装なので、本番実装に入れちゃダメですよ。 2020/11/10: コンテナの置き場が変わっていたので更新 2020/11/11: Realmについて補足 Keycloakとは KeycloakはIBM傘下のRedHat傘下のJBossが作成している認証のすごいソフトウェアです。 自分自身でユーザーIDとパスワードを管理するID Provider機能を持つ OpenID Connect、OAuth2、SAML経由でユーザー認証ができる(
はじめに 前回の第8回では、「Keycloak」の認可サービスのうち、「集中管理方式」について解説しました。集中管理方式では、アクセス制御の管理をシステム管理者が行う「システム管理者中心のアクセス管理」を実現しました。 今回解説する「UMA方式」では、「UMA(User Managed Access)」というプロトコルを使用してアクセス制御の管理をエンドユーザー自身が行う「エンドユーザー(リソースオーナー)中心のアクセス管理」を実現します。この方式を適用することにより、エンドユーザー自身で、リソースを他者と共有設定することや、パーミッションの認可ワークフロー(パーミッションの申請/承認/拒否)を利用することができるようになります。 ただし、UMA方式では、Keycloakやクライアントアダプターの設定以外にも、アプリケーション側へ追加の実装が必要になってくるため、集中管理方式に比べると難易
本記事は以下のような読者を想定しています 認証認可の初学者 Keycloak と Azure AD をID連携させたい方 はじめに 本記事では Keycloak を用いて外部ID連携を実装 します。 ID連携というのは自サービスのユーザー認証を外部へ任せることです。例えば本記事内でも使用する Keycloak というソフトウェアを用いると自社サービスへアクセスするためのユーザー認証を Google や Facebook などのアカウント提供者に任せることができます。 ID連携をすることで例えば以下のようなメリットが得られます。 ユーザー自身が管理するID/PWが少なくなる。 アカウント管理の負担が減る。 ここでは Keycloak と Azure AD を用いてID連携をしてみたいと思います。TwitterやGoogleなどのアカウントを用いたソーシャルログインやLDAPサーバーを用いたI
はじめに 株式会社ピー・アール・オーのアドベントカレンダー22日目は、 表題の通り、NextcloudとKeycloakを組み合わせてファイルサーバを構築したのでその手順を書き残す。 背景 ツーリング中にドラレコやGoProで撮影した動画を友人内で共有するにあたり、 SFTPを使用してファイル共有をしていた。 (1ファイル4GBくらいあるので、GoogleDriveはあっという間に容量超過した) さすがにパスワード認証は論外なので公開鍵認証を使用していたところ、以下の運用上の問題が発生した。 秘密鍵を失くすケース(まあわかる) 接続手順を忘れるケース(彼は本当にエンジニアなのだろうか) 失くされる度に公開鍵を登録し直すのは億劫かつ、こんなことのために手順書を用意するのも馬鹿らしいので、 簡単に使えるファイルサーバを立ち上げることにした。 目的 SAML認証の目的 普段よく使うサービス、それ
keycloakを使ってOIDC認証を導入することになり、設定画面で何を設定すべきかなどに困ったのでまとめておく。 前提 OAuth2の基本的な理解 OIDCの基本的な理解() OIDC自体を知りたい場合はこの説明とかがわかりやすいと思う keycloakのOIDCクライアントは作成済み(手順) 極めて単純なkeycloakの要素 keycloakの設定方法が分かりづらいのは管理画面に設定する項目が大量にあるからだが、極めて単純化すると最初に知るべきなのはrealm, client, userくらいである。 realm 用語集の記述を抜粋すると レルムは、ユーザー、クレデンシャル、ロール、および、グループのセットを管理します。ユーザーは属しているレルムにログインします。レルムは互いに分離されており、制御するユーザーのみを管理して、認証することができます。 となっている。言ってみればname
2020.10.28 週刊Railsウォッチ(20201028後編)RuboCop 1.0.0 stable版がリリース、Ruby DSLのGUIフレームワークGlimmer、Keycloakほか こんにちは、hachi8833です。 各記事冒頭には⚓でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙇 追記(2020/10/29): 来週の週刊Railsウォッチはお休みをいただき通常記事といたします🙇。 ⚓Ruby ⚓ RuboCop 1.0.0がリリース Changelog: rubocop/CHANGELOG.md at master · rubo
Quarkusとは、KubernetesネイティブのJavaフレームワークです。Quarkusを使用することで、コンテナに最適化されたJavaアプリケーションを開発できます。ここではQuarkusとKeycloakを組み合わせた堅牢化方法をご紹介します(図2)。 前回は各サービスにそれぞれIstioのAuthorizationPolicyを作成し導入することで、各サービスにJWTによるアクセス制御を追加しました。Quarkusのkeycloak-authorizationエクステンションを使うと、各サービスのアクセス制御ロジックをKeycloakの認可サービスに集約することができます。 各サービスのアクセス制御ロジックを、各サービスで個別に持つべきか、認可サーバ側で集約して持つべきかについては一長一短があり、またシステムの要件に大きく依存する部分があるため、一概にどちらが良いとは言えません
システム間連携に必要なAPIには、認可・認証のセキュリティ技術が必須となります。この連載では、OAuth 2.0を用いたOSSの認証・認可サーバ「Keycloak」を用いたAPI保護の仕組みについて紹介します。
初めまして、7月にAstamuseにjoinしました、植木です。 ICPのエンジニアを担当しております。 私は、普段なら桜が咲いて楽しみが増える季節ですが、コロナの影響もあり外出を控えないといけないと思うと残念で仕方がない今日この頃でございます。 はじめに 今回は、Keycloakについて紹介する記事です。 弊社のICPで導入に向けて作業を進めており、非常に便利でしたので筆をとるに至りました! 下記のような方は是非見ていただいて、参考にしていただけると幸いです。 Keycloakを知らない方 ざっくり概要を知りたい方 導入を検討する方 概要 Keycloakとは、 OpenID / SAML の認証方式を用いて、「認証」「認可」を行うことができるOSS のミドルウェアです。 安全性をKeycloakが管理を担ってくれるため、アプリケーションはユーザーアクセス管理を意識することから解放され、
Keycloakとは Keycloakはオープンソースのアイデンティティ・アクセス管理(IAM)ソフトウェアです。シングルサインオンやAPIアクセスの認証・認可制御を実現するソフトウェアです。ちょうど6年前である2017年のAdvent Calendarで初めてKeycloakを紹介したときは、この分野のOSSとしてはOpenAMが第一人者的な存在でした。その後、Keycloakは着実に進化し、2023年4月にCNCF(Cloud Native Computing Foundation)のIncubatingプロジェクトとして承認され、ますます注目度が上がっています。今やKeycloakがこの分野の代表的なOSSになったと言えるでしょう。近年ではKeycloak Alternativeを狙う他のOSS1が登場したりと、逆に追いかけられる存在にまでなりました。 Keycloakの提供機能 こ
はじめまして、2019年10月に入社しました開発・インフラ本部の丸山と申します。 弊社テックリード(@yukung)がついに短パン*1で出社したという観測情報に触れ、いよいよ日本にも夏が到来したことを実感しているところであります。 さて、私が担当させていただいているInnovation Captital Pathfinder(以下、ICP)におきまして、このほど認証機能をKeycloakに移行したので、機能移行までに検討したことを振り返ってみたいと思います。 前置き 私たち開発しているICPは、弊社が抱える膨大な数の特許情報や科研費情報などをもとに、お客様の新規事業の創出を支援するサービスです。公式には2020年1月にリリースしていますが、実はPoCも含めると2018年から開発が続いている弊社では比較的息の長いサービスです。 弊社が抱える膨大な量のデータを、いかにユーザーが利用しやすい形で
Keycloak(キークローク)は、モダンなアプリケーションやサービスで使用することを目的に開発された、シングルサインオン、アイデンティティ管理、アクセス管理(英語版)の機能を提供するオープンソースソフトウェア製品である。2018年3月年現在、このJBossコミュニティのプロジェクトは、KeycloakをRH-SSO製品のupstream(英語版)プロジェクトとして使用しているRed Hatの支援を受けている[1]。コンセプトの観点から見ると、このツールはアプリケーションやサービスをわずかなコーディングかコーディングなしで簡単にセキュアにすることを目的としている。 歴史[編集] Keycloakの最初の製品リリースは、開発を開始して約1年後の2014年9月だった。2016年、Red HatはRH SSO製品を、PicketLinkフレームワークからKeycloak upstreamプロジェ
Keycloak 日本語ドキュメント Star 22.0.5 Release Notes Keycloak のリリースノートです。 Securing Apps Keycloak を利用したアプリケーションの保護方法についてのガイドです。 Server Admin Keycloak サーバーの管理方法についてのガイドです。 Server Development Keycloak サーバーのテーマやプロバイダーのカスタマイズ方法についてのガイドです。 Authorization Services アプリケーションとサービスのきめ細かい権限管理方法についてのガイドです。 Upgrading Keycloak サーバーのアップグレード方法についてのガイドです。 21.1.2 Release Notes Keycloak のリリースノートです。 Securing Apps 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 をくれると後はよろしくやるよ!でもボリュームマ
この記事は、NewsPicks Advent Calendar 2022 の 17 日目の記事になります。 qiita.com こんにちは。AlphaDrive で Web アプリケーションエンジニアをしている fmatzy です。普段は主に Go でバックエンドの開発を行なっています。 現在新規開発中のプロダクトにて、パスワードログインの導入に Keycloak を利用しました。社内ではすでに Keycloak の導入事例があり、かなり参考にできる環境が整っていました。一方で Keycloak 自体は近年 WildFly から Quarkus に移行し、公式含め技術情報が outdated なものが多く見受けられました (例えば、公式の docker-compose の example は WildFly 版がアーカイブされた後 Quarkus 版が追加されていない…)。 本記事では、今
はじめに #1 からのつづきです。前回はこのフローを作りました。 今回はこの内容を詳しく見ていきます。 フロー図 Flow_OIDC 参考文献 調べていくにあたり以下の資料を見ながら進めて行きます。 OpenID Connect Core 1.0 日本語訳 OpenID Connect Basic Client Implementer's Guide 1.0 日本語訳 OpenID Connect Discovery 1.0 OpenID Connect フローには種類があるということを知る OpenID Connect Basic Client Implementer's Guide 1.0 日本語訳 - 2. Protocol Elementsに書いてあるように OpenID Connect には以下の種類があります。 Authorization Code Flow Implicit
With Identity Brokering Sync Mode it is now possible to control if user profiles are updated on first login, or every login from an external Identity Provider. It is also possible to override this behaviour on individual mappers.
今日やること 以前に私が投稿したKeycloakの記事では、Keycloakアダプターやmod_auth_openidcを利用したアプリケーション保護の仕方について書きました。しかし、アプリケーション利用後のログアウトの仕組みについてはほとんど言及していなかったので、今回の投稿ではKeycloakのシングル・ログアウト(以降SLOと省略)の仕組みをまとめることにしました。 ここでいうSLOとは、OIDCで複数のRPにログインした状態で、Keycloakもしくは特定のRP起点のログアウト処理を行った際に、Keycloakを含め、ユーザーが利用していたすべてのRPからログアウトされる動作を指しています。 KeycloakのSLOの仕組みについて KeycloakのSLO処理は、大まかに以下のどちらかのパターンで処理されます。 主な違いはKeycloakのログアウト・エンドポイントにフロントチャ
なお、上記は2023年12月時点でのFIDOアラインスの定義に基づきます。これらの用語はこれまで定義が変化してきたり、FIDOアライアンスの定義が業界のコンセンサスを得ていないケースで意味の揺れがあったりすることもありました。 同期するもののみを指すケース パスキーはFIDOアライアンスの発表では、「マルチデバイスFIDOクレデンシャル」の通称という扱いでした34。つまり、当初はクラウド同期して複数デバイスで使えるもののみがパスキーでした。しかし、パスキーの勢いを見てか分かりませんが、セキュリティキーベンダーが自分たちもパスキーだと主張し始めました5。その後FIDOアライアンスもSingle-device passkey(現: デバイスバウンドパスキー)を定義し、同期しない従来のFIDOクレデンシャルもパスキーとなりました6。 認証方式を指すケース パスキーは「FIDOクレデンシャル」です
version: "3" volumes: mysql_data: driver: local services: mysql: image: mysql:5.7 volumes: - mysql_data:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: keycloak MYSQL_USER: keycloak MYSQL_PASSWORD: password keycloak: image: quay.io/keycloak/keycloak:latest container_name: "keycloak" environment: DB_VENDOR: MYSQL DB_ADDR: mysql DB_DATABASE: keycloak DB_USER: keycloak DB_PASSWO
Keycloak Gatekeeperとは Keycloak Gatekeeperは、認可リバースプロシキとして動作するGo言語で実装されたアプリケーションとなります。 元々あったKeycloak Security Proxyが非推奨となり、後継としてKeycloak Gatekeeperが開発されています。 Keycloak Gatekeeperを導入すると、保護対象アプリケーションに手を加える必要無いのが大きなメリットです。 実行環境・構成 WindowsServer2016のローカル環境で構築 Keycloak 6.0.1 localhost:8080 Keycloak gatekeeper localhost:3000 保護対象のサンプルアプリ localhost:5000 ブラウザ:google chrome Keycloakの概要 Keycloakの概要については、こちらの記事
オープンソースソフトウエア(OSS)はもはやシステム開発には不可欠なほどに存在感を強めた。ベンダーにとって開発・運営への参加は直接的に売り上げや利益をもたらさなくとも、OSSへの顧客ニーズの反映や受注で大きなアドバンテージを得ることにつながる。 ただ、多くのOSSの運営はボランティアや善意に頼るところが大きい。営利を目的とする企業が足を踏み入れるのはメリットが少ないようにも思えるが、日立製作所はアイデンティティー・アクセス管理のOSSソフトウエア「Keycloak」の開発プロジェクトなどをとりまとめる「メンテナー」に人材を輩出した。無報酬となるこのポジションはどういうもので、日立がメンテナーに人材を輩出した意味合いとは何か。 OSSは公開されたソースコードを自由に改変したり再配布したりできるソフトウエアを指す。利用できる分野もLinuxをはじめとしたOSやJavaScriptやPython
Azure上のCentOSに、Keycloakとサンプルアプリを入れて、SAMLを使ったログインの動作検証を行ったメモです。 Keycloakを使ってSAMLを理解する#1 ContOSのセットアップ Keycloakのインストール サンプルアプリのインストール Keycloakを使ってSAMLを理解する#2 環境 Azure CentOS Linux release 7.7.1908 (Core) OpenJDK 1.8.0 Apache Maven 3.6.3 Keycloak 8.0.1 システム構成 1.CentOS CentOSのセットアップ Azureに仮想マシンをデプロイします。 項目 設定
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く