トップ OSS紹介 Keycloak

Keycloak

サポート対象

NRIのOpenStandiaが提供するKeycloak最新情報

Keycloak情報

Keycloakとは

Keycloak(キークローク)とは、Web上でのシングルサインオン(SSO)(※1)を実現するためのJavaベースのIAM (Identity and Access Management) のソフトウェアで、2014年にバージョン1.0.0がリリースされた、競合他社製品に比較すると後発のものとなります。Keycloakは、Red Hat JBossプロジェクトが開発を進めているOSS(オープンソースソフトウェア)であり、Apacheライセンスとしてソースコードが公開されています。Keycloakは、アプリケーションやサービスとの連携を目的としており、SAML、OpenID Connectに対応した認証・認可だけではなく、多要素認証やSNS認証、LDAP連携、WebAuthn等の多くの機能が備わっています。

また、Red Hat社は、Keycloakをベースとした「Red Hat build of Keycloak(RHBK)」(※2)を販売しています。「RHBK」の保守サポートやマイグレーションについても、弊社までお気軽にお問い合わせください。

  • シングルサインオン (Single Sign-On:SSO) とは、複数の情報システムのユーザIDを統合管理し、利用するシステム毎にユーザID/パスワード等の入力による認証を必要とせず、一度だけの認証(一つのユーザIDとパスワード)で複数のシステムを利用できる仕組みです。シングルサインオンはユーザやシステム管理者の ID管理の手間を軽減するだけでなく、個人情報の漏洩防止やセキュリティ対策、アクセス制御を統合・強化といった観点からも現在多くの企業にとって欠かせないものになっています。
  • 以前は、「Red Hat SSO」という名称で呼ばれていました。RHBKになってからは ランタイムがJBoss EAPから、Quarkusに変更されています。

Keycloakの業界標準仕様対応

Keycloakは、業界標準の、以下の仕様をサポートしています。

  • SAML 2.0
    標準化団体OASISによって策定された、IDやパスワードなどの認証情報を安全に交換するためのXML仕様です。歴史あるプロトコルのため、多くのアイデンティティ管理ベンダーによって実装されており、提供されているサービスやソフトウェアが多く、GoogleやSalesforceなどのクラウドサービス、学認(Shibboleth)などとの連携が可能です。
  • OpenID Connect
    標準化団体OpenID Foundationによって策定されたREST/JSONベースのプロトコルです。OAuth 2.0をベースに認証目的でも利用できるように拡張しています。野村総合研究所、グーグルなどにより開発が開始され、2014年2月に最終承認された現在最も新しいフェデレーションプロトコルです。グーグル、マイクロソフト、セールスフォースなど多くの企業がサポートしており、現在はデファクトスタンダードとなっています。
  • OAuth 2.0
    OAuth 2.0は仕様が簡略化され使いやすくなった次世代のOAuthプロトコルであり、クライアントとなるWebアプリ、デスクトップアプリ、スマートフォン、リビングデバイス等のクライアントプロファイルを仕様化しています。認証ではなく、認可(どのリソースにアクセスできるか)について規定している点で他のプロトコルとは異なります。Facebook、Google、Microsoftなどの多くの企業のさまざまなサービスで実装されています。

主な機能

シングルサインオン機能

Keycloakで認証されたユーザは、Keycloakで管理したリソースに再度認証(パスワードを再入力)する必要なくアクセスできます。

<実現方式>

パターンA:エージェント方式

パターンB:リバースプロキシ方式

連携システムのサーバ内に、シングルサインオンするためのモジュール(OIDC/SAMLライブラリ)(※3)を直接組み込む方式です。

ユーザからのアクセスを一度、OIDC/SAMLライブラリを導入したサーバが受け、そのリクエストを連携システムへ中継する方式です。

Keycloakの主な機能1
Keycloakの主な機能1
Keycloakの主な機能2
Keycloakの主な機能2

※3 Keycloakコミュニティから提供されていたクライアントアダプタは、JavaScriptアダプタを除き、すべてが非推奨/EOLとなっています。そのため、どちらの方式であっても、アプリケーションで利用可能なサードパーティのOIDC/SAMLライブラリを利用する必要があります。

フェデレーション(連携)機能

ID管理が独立した複数のサイト間でのシングルサインオンができる機能です。例えば、Salesforce CRM、Google Workspaceのような他社の異なるドメインのWebアプリケーションに対しても自分のID/パスワードでシングルサインオンが可能です。フェデレーションを実現するための、業界標準の認証プロトコル「SAML」や「OpenID Connect」に対応しています。また、KeycloakはFacebook、Google、Twitter等のソーシャルネットワーキングサービスや、既存のOpenID Connectプロバイダ、もしくはSAML 2.0プロバイダと連携させることで、それらに登録されているIDによりKeycloakにログインさせることが可能です。連携させるにはコードやアプリケーション側の修正は不要で、Keycloakの管理コンソールで設定を追加するだけです。

ID管理機能

Keycloakは以下の属性を管理できます。

ユーザ(User)

認証(ログイン)単位です。

グループ(Group)

ユーザを配属させることができます。
Keycloak内では、階層による管理が可能です。

ロール(Role)

権限を表現したものです。
ユーザ・グループに付与することができます。

管理者は上記属性を一般ユーザに割り振る権限を持ちます。

イベントロギング機能

監査の目的で、ログインイベント(ログインやログアウト、メールアドレスの変更やパスワードリセット等の操作)と管理イベント(管理コンソール上で行った操作)を記録・閲覧することができます。

マルチテナント機能

Keycloakはレルムという単位ごとに設定を管理しています。レルムを複数作成することによりマルチテナントでの利用が可能です。

セルフサービス機能

ユーザ自身によるアカウント管理ができます。管理機能は以下の通りです。

  • アカウントの登録
    ログイン画面のリンクから新規ユーザ登録が可能です。
  • パスワードリセット
    ログイン画面のリンクからパスワード変更が可能です。入力したメールアドレス宛に送られたメールに記載されたリンクをクリックすることで登録が完了します。
  • ユーザ属性の変更
    自身のユーザ属性(ユーザ名やメールアドレス等)を変更することが可能です。
  • OTP/WebAuthn(FIDO2) の認証機登録/削除
    ユーザが多要素認証を利用したい場合に、OTP Authenticatorの登録/削除や、WebAuthn(FIDO2)で利用する認証機の登録/削除が可能です。

タイムアウト機能

システムを一定期間使用していない場合に、自動的にログオフします。

管理コンソール機能

Keycloakの管理コンソールにより、管理者は前述の機能を集中管理することができます。

主な特徴

Keycloakは、次のような特徴があります

高い安定性と信頼性

商用サポートあり

Keycloakには、商用製品の Red Hat build of Keycloak(RHBK)も提供されており、導入から運用までワントップでサポートします。

汎用性

Javaベース

KeycloakはJavaで開発されているため、多くの企業情報システム間でのシングルサインオン環境を構築できる汎用性がありま す。

拡張性

マルチプラットフォーム

KeycloakはRed Hat Enterprise Linux、CentOS、Microsoft Windowsなどの様々なOSプラットフォームに対応しています。

様々な認証方式に対応

多要素認証やOTP(ワンタイムパスワード)認証、統合Windows認証、WebAuthn(FIDO2)など様々な認証方式と連携できます。

SAML 2.0に対応

Keycloakは国際標準の認証プロトコルSAML 2.0に対応しているため、同一の認証プロトコルに対応したSaaS系アプリ ケーション(例えばSalesforceやGoogle等)とも連携ができます。

OpenID Connectに対応

野村総合研究所、Googleなどにより開発が開始され、2014年2月に最終承認された最も新しく、すでに多くのサービスで利用されているフェデレーションプロトコルに対応しており、各種SaaSサービスとのシングルサインオンにも対応が可能です。

クロスドメイン・シングルサインオン

複数のDNSドメインをまたがるシングルサインオンであるクロスドメイン・シングルサインオンに対応しています。

SPI

JavaのSPI (service provider interface) という仕組みを利用して、標準では対応していないソーシャルプロバイダを追加したり、お客様固有の認証処理やユーザー・ストレージ、RESTエンドポイントなどを組み込んだりすることが可能です。

柔軟性

顧客要件に応じた細かいカスタマイズが容易

Webサーバやデータベースなどの基盤ミドルウェアと異なり、認証基盤には様々な顧客要件を組み入れる必要があります。例えば、連携先となる業務システムの認証方式や、ID管理の業務運用、IDデータの取り込み方式など、様々なパターンを個別設計する必要があります。OSSのKeycloakは、商用製品と比較して顧客要件に応じた細かいカスタマイズが容易であることが大きなメリットとなります。

長期利用

継続的な安定利用

OSSは、商用製品のように開発企業の買収などによってサポートが打ち切られる心配が少ないと言えます。

導入事例

1.Keycloakのアカウントが意図せずロックされる問題を解消

このページでは、Keycloakのアカウントロックについての問い合わせに対して、どのようなサポートをしたかを紹介します。

この問い合わせは、ブルートフォース攻撃の対策のためにKeycloakのブルートフォース検知機能を有効にしたところ、アカウントが意図せずロックされることが度々あったため、なぜこのようなことが起きるのかを教えて欲しいというものでした。 ブルートフォース検知機能は管理コンソールの「Realm Settings」の「Security Defenses」の「Brute Force Detection」タブから 設定ができます。

使用しているKeycloakのバージョンは4.8.3でした。

問い合わせの内容などをもとにKeycloakの動作確認をしてみると、どうもログインボタンを二度押しするとアカウントがロックされるようです。 しかし、ログインボタンをクリックすると、レスポンスが返ってくるまでの間、ボタンのプロテクトがかかり、 二度押しを防止する対策はできているように見えます(以下のようにボタンをクリックした直後は色が変わり、 クリックしてもリクエストは送信されていません)。

さらに動作検証してみると、ログインボタンをクリックし、レスポンスが返ってきてすぐにログインボタンをクリックすると (パスワードを入力せずすぐに)、アカウントが一時的にロックされることが分かりました。このような操作を、 ユーザーが意図的に行うことはありませんが、誤ってボタンをクリックしてしまうことは十分にありえます。

このようなKeycloakの動作はユーザーにとっては好ましいものではありません。 ユーザーはアカウントがロックされたことに気づかないまま、正しいパスワードでのログインに失敗し続けることになるでしょう。 ユーザーは混乱してしまいます。そして、パスワードが間違っていると判断し、本来必要のないパスワードのリセットを行うことにもなります。

しかし、なぜこのような誤操作でアカウントがロックされてしまうのでしょうか? Keycloakのブルートフォース検知機能のうち以下の2つの設定が影響していました。

  • Quick Login Check Milli Seconds
    前回のログイン失敗からこの時間経過せずにログインを行うと一時的にアカウントをロックする。デフォルトは1000ミリ秒。
  • Minimum Quick Login Wait
    Quick Login Check Milli Secondsより早いログイン試行があった場合の、一時的にアカウントをロックする時間。デフォルトは1分。

つまり、1秒以内にログインが2回失敗すると、アカウントは1分間ロックされてしまうことになります。

Keycloakのドキュメントに記載されている通りの動作ではあるのですが、ユーザーの利便性にとってよくありません。 ひとまず顧客への暫定対応として「Quick Login Check Milli Seconds」を短くすることを提案し、 根本対策のためにKeycloakの課題管理システムへのバグ報告(改善案の提示)とその修正のプルリクエストをすることを検討しました。

ではどのようにこの問題を改善すればいいのでしょうか?「Quick Login Check」自体を無くしてしまえばいいのでしょうか? しかし、短時間に連続でログインリクエストを送信するブルートフォース攻撃の対策のためには残しておいた方がいいでしょう。

少し考えてみると、結論は単純でした。今回の問題はパスワードを入力する間もなく短時間にログインリクエストを送信している場合の問題ですが、 そもそもブルートフォース攻撃は様々なパスワードを試行するので、パスワードが未入力のリクエストを何度も送信してくることを防御する必要はないはずです (認証成功するはずがログイン試行を攻撃者はしないので)。

ということで、パスワードが未入力のログインリクエストはブルートフォース検知の処理を行う前に入力エラーにしてしまうことにしました。 その後、プルリクエストを行い、無事マージされました。

2.Javaアダプターでトークン更新処理が競合してエラーが発生する問題を解消

KeycloakのJavaアダプターには、アクセストークンの有効期限が切れる前(もしくは切れた後)に内部処理でリフレッシュトークンを利用してトークン更新を行う機能があります。

ある顧客環境ではセキュリティの要件により、Keycloakでリフレッシュトークンの再利用不可(Revoke Refresh Token: ON、Refresh Token Max Reuse: 0)に設定していました。この設定の場合、発行されたリフレッシュトークンは1回だけ利用可能で、同じ値の再利用は不可となります。このような環境でJavaアダプターのトークン更新処理が競合してしまい、リフレッシュトークンの再利用不可のエラーが発生するという問い合わせがあり、調査を行いました。

再現確認および調査

顧客環境では、Keycloak 6.0.1(およびJavaサーブレットフィルターアダプター)が使われていました。まずは、その当時の最新版であるKeycloak 9.0.0でも再現するかどうか、シンプルなSPAを作成し再現確認を行います。

Keycloakでは下記のようにリフレッシュトークンの再利用不可の設定および、アクセストークンの有効期限を最小(1分)に設定します。

Javaサーブレットフィルターアダプターの適用されているSPAでは、Ajaxにより指定した回数のリクエストを同時に投げられるボタンをいくか用意しておき、非同期で複数のリクエストが行われる状況を再現できるようにしておきます(カッコ内の数字が同時に投げるリクエスト数を表しています)。

問題発生時のcatalina.out

下記はこのアプリケーションにログインしてから、数分経過後(アクセストークンの有効期限切れの後)に "ajaxPosting(3)"ボタンを押下した場合のcatalina.outログの一部抜粋です。


03-Mar-2020 20:15:35.743 DEBUG [http-nio-8080-exec-1] org.keycloak.adapters.RefreshableKeycloakSecurityContext.refreshExpiredToken Token Verification succeeded!
03-Mar-2020 20:15:35.794 ERROR [http-nio-8080-exec-10] org.keycloak.adapters.RefreshableKeycloakSecurityContext.refreshExpiredToken Refresh token failure status: 400 {"error":"invalid_grant","error_description":"Maximum allowed refresh token reuse exceeded"}
03-Mar-2020 20:15:35.957 ERROR [http-nio-8080-exec-2] org.keycloak.adapters.RefreshableKeycloakSecurityContext.refreshExpiredToken Refresh token failure status: 400 {"error":"invalid_grant","error_description":"Maximum allowed refresh token reuse exceeded"}

最初のリクエストに対応するスレッド(http-nio-8080-exec-1)では、リフレッシュトークンは成功しますが、後続の2リクエストに対応するスレッド(http-nio-8080-exec-10、http-nio-8080-exec-2)でもトークン更新処理が実行されてしまい、リフレッシュトークンの再利用不可のエラー("Maximum allowed refresh token reuse exceeded")が発生していることが分かります。

そこで、Javaサーブレットフィルターアダプター側のトークン更新箇所のソースコード調査を進めたところ、下記の「★★★」の箇所のメソッド呼び出しに排他制御がかかっておらず、同タイミングで複数のリクエストがあると、同じリフレッシュトークンでトークン更新処理を複数のスレッドで競合して呼び出してしまうことが分かりました。

OIDCFilterSessionStore#checkCurrentToken メソッド内

@Override
public void checkCurrentToken() {
HttpSession httpSession = request.getSession(false);
if (httpSession == null) return;
SerializableKeycloakAccount account = (SerializableKeycloakAccount)httpSession.getAttribute(KeycloakAccount.class.getName());
if (account == null) {
return;
}

RefreshableKeycloakSecurityContext session = account.getKeycloakSecurityContext();
if (session == null) return;

// just in case session got serialized
if (session.getDeployment() == null) session.setCurrentRequestInfo(deployment, this);

if (session.isActive() && !session.getDeployment().isAlwaysRefreshToken()) return;

// FYI: A refresh requires same scope, so same roles will be set. Otherwise, refresh will fail and token will
// not be updated
boolean success = session.refreshExpiredToken(false);  <=== ★★★
if (success && session.isActive()) return;

// Refresh failed, so user is already logged out from keycloak. Cleanup and expire our session
//log.fine("Cleanup and expire session " + httpSession.getId() + " after failed refresh");
cleanSession(httpSession);
httpSession.invalidate();
}

暫定的にこのメソッド内のsessionインスタンスの利用される範囲をsynchronizedブロックで排他制御を加えたところ、問題が再現しなくなることが確認できました。つまり、Javaアダプターのリフレッシュトークン処理ではスレッドの排他制御に関して、潜在的なバグがあることが判明しました。

まとめ

上記のような調査結果から、以下の3つの条件を満たした場合に、問題の事象が再現することが確認できました。

  • Keycloak 10.0.0より前のJavaアダプターを利用
  • Keycloakのセキュリティ設定で、リフレッシュトークンの再利用不可(Revoke Refresh Token: ON"、Refresh Token Max Reuse: 0)の設定を利用
  • アクセストークンの有効期限が切れた状態で、アプリケーションのAjaxなどから、Javaアダプターに同時に複数のリクエストが発生する

直接の原因は、Javaアダプター内のトークン更新処理に排他制御がかかっていなことに起因したものでした。当該問題に関しては、Keycloakのコミュニティに報告を行い、バグとして修正されました。 実際のやりとりは以下の通りです。

Keycloak 10.0.0以上でこの問題は修正されています。

商用製品との機能比較

OpenAMは、Keycloakと同じくシングルサインオンを実現するためのOSSであり、数多くの導入実績があります。KeycloakとOpenAMの機能比較は以下となります。

モジュール

機能

Keycloak

OpenAM

認証

多要素認証

ワンタイムパスワード

クロスドメイン・シングルサインオン認証

認可

ユーザ属性アクセス制御

○[1]

権限アクセス制御(ロール)

○[1]

その他アクセス制御
(URL、IPアドレス、時間帯)

○[1]

連携

各種フェデレーションへの対応
(SAML/OIDC/OAuth2.0)

デスクトップ認証連携

代理認証連携

×[2]

△[2]

外部IDP認証連携

リスクベース認証

アダプティブ認証
(非常習アクセスに対する追加認証)

×

デバイスプリント認証

×

スクリプト認証
(事前定義を基に多要素認証へ切り替え)

×

セルフサービス

ユーザ自身によるアカウント登録

ユーザ自身によるパスワードリセット

ユーザ自身によるユーザ属性の変更

[1] Keycloakのポリシーエンフォーサライブラリ(https://www.keycloak.org/docs/latest/authorization_services/index.html#_enforcer_overview)を利用していることが前提となります。

[2] 実装されていない機能のため、別途、個別のカスタマイズが必要となります。OpenAMは、OpenAMと連携可能なOpenIGというソフトウェアにより代理認証が実現できます。

ユースケース

Keycloakは、SAML 2.0とOAuth 2.0/OpenID Connect 1.0を実装しており、これらのプロトコルを使って、様々なサービスやソフトウェアと連携することができます。

サービス、ソフトウェア名

連携プロトコル

ロール

カスタマイズ

備考

AWSマネージメントコンソール

SAML 2.0

IdP

不要

Office 365

SAML 2.0/ OpenID Connect 1.0

IdP / OP

不要

Google Workspace(G Suite)

SAML 2.0

IdP

不要

Slack

SAML 2.0

IdP

不要

Onelogin

OpenID Connect 1.0

OP

不要

Salesforce

OpenID Connect 1.0

OP

不要

Box

SAML 2.0

IdP

不要

JIRA

SAML 2.0

IdP

不要

※有償プラグイン利用

Confluence

SAML 2.0

IdP

不要

※有償プラグイン利用

Miro

SAML 2.0

IdP

不要

AWS Console

SAML 2.0

IdP

不要

Mattermost (Enterprise版)

SAML 2.0

IdP

不要

NextCloud

SAML 2.0

IdP

不要

GitLab

SAML 2.0

IdP

不要

Datadog

SAML 2.0

IdP

不要

PeerTube

OpenID Connect 1.0

OP

不要

NextAuth.js (Next.js用の認証ライブラリ)

OpenID Connect 1.0

OP

不要

AWS ALBのOIDC連携機能

OpenID Connect 1.0

OP

不要

HENNGE

SAML 2.0

IdP

不要

NextSet

SAML 2.0

IdP

不要

SeciossLink

SAML 2.0

IdP

不要

OIDC/SAML用の連携用ソフトウェアを使用すれば、前述のプロトコルに対応していないアプリと連携することもできます。

サービス、ソフトウェア名

連携ソフトウェア

連携プロトコル

ロール

カスタマイズ

備考

JavaScriptアプリ(クラアントサイド)

JSアダプター

OpenID Connect 1.0

OP

必要

Apacheのバックで動作するアプリ

mod_auth_openidc

OpenID Connect 1.0

OP

必要

Apacheのバックで動作するアプリ

mod_auth_mellon

SAML 2.0

OP

必要

任意のWebアプリ

OAuth2 Proxy

OpenID Connect 1.0

OP

必要

以下のサービスのアカウントを使ったログイン(ソーシャルログイン)を実現することもできます。

サービス、ソフトウェア名

連携プロトコル

ロール

カスタマイズ

備考

Bitbucket

OAuth 2.0

クライアント

不要

Facebook

OAuth 2.0

クライアント

不要

GitHub

OAuth 2.0

クライアント

不要

GitLab

OpenID Connect 1.0

RP

不要

Google

OpenID Connect 1.0

RP

不要

LinkedIn

OAuth 2.0

クライアント

不要

Microsoft

OAuth 2.0

クライアント

不要

OpenShift 3

OAuth 2.0

クライアント

不要

OpenShift 4

OAuth 2.0

クライアント

不要

PayPal

OpenID Connect 1.0

RP

不要

Stack Overflow

OAuth 2.0

クライアント

不要

Twitter

OAuth 2.0

クライアント

不要

Instagram

OAuth 2.0

クライアント

不要

LINE

OpenID Connect 1.0

RP

必要

Azure AD

SAML 2.0

SP

必要

ADFS

SAML 2.0

SP

必要

以下のユーザーストレージと連携することもできます。

サービス、ソフトウェア名

連携プロトコル

カスタマイズ

備考

Active Directory

LDAP

不要

Red Hat Directory Server

LDAP

不要

Tivoli Directory Server

LDAP

不要

Novel Directory

LDAP

不要

その他LDAPサーバー

LDAP

一部必要

任意のRDBMS

SQL

必要

他にも多数のサービスやソフトウェアと連携することができます。

動作環境

ハードウェア
  • RAM 最低512M以上
  • HDD 最低 1GB以上
プラットフォーム
  • Javaが動作するOS(Linuxや Windows等)
Java
  • Java 17以上
データストア
  • Active Directory(およびKerberos)
  • LDAP
連携可能なライブラリ OpenID Connect
  • Wildfly Elytron OIDC
  • SpringBoot(SpringSecurity)
  • JavaScript(client-side)

    ・JavaScript

  • C#

    ・OWIN (community)

  • Python

    ・python-opneid (generic)

  • Android

    ・AppAuth (generic)

  • iOS

    ・AppAuth (generic)

  • Apache HTTP Server

    ・mod_auth_openidc

SAML
  • Apache HTTP Server

    ・mod_auth_mellon

参照:https://www.keycloak.org/docs/latest/securing_apps/index.html#getting-started

Keycloakのライセンス

Keycloakは、Apache 2.0ライセンスです。Apache License(アパッチ・ライセンス)のコードが使用されていることの明記を条件に、ソースコードの自由な改変と公開が認められています。

製品ダウンロード

日本語ドキュメント

NRI OpenStandiaが作成したKeycloakの日本語ドキュメントです。

※翻訳が完了していないドキュメントもありますのでご了承ください。

Release Notes

Release Notes Keycloakのリリースノートです。

Securing Apps

Keycloak を利用したアプリケーションの保護方法についてのガイドです。

Server Admin

Keycloak サーバーの管理方法についてのガイドです。

Server Development

Keycloak サーバーのテーマやプロバイダーのカスタマイズ方法についてのガイドです。

Authorization Services

アプリケーションとサービスのきめ細かい権限管理方法についてのガイドです。

Upgrading

Keycloak サーバーのアップグレード方法についてのガイドです。

元リンクページ:http://keycloak-documentation.openstandia.jp/

Keycloakの実際・翻訳プロジェクト紹介

オープンソース年間サポートサービス

OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。

お気軽にお問い合わせください

関連OSS

  • OpenAM
    サポート対象

    OpenAM

    オープンエーエム。Web上でSSO(シングルサインオン)を実現するための技術。OpenSSOの後継となっています。

  • OAuth2 Proxy
    サポート対象

    OAuth2 Proxy

    オーオーストゥプロキシー。アプリケーションの前段で認証と認可を外部に委譲するためのリバースプロキシーサーバーで、Go言語で実装されています。

  • midPoint
    サポート対象

    midPoint

    ミッドポイント。従来の「ID管理」に「統制」の概念を加えたIDガバナンス&管理(=IGA)を実現するオープンソースソフトウェアです。

オープンソースに関する様々な課題、OpenStandiaがまるごと解決します。
下記コンテンツも
あわせてご確認ください。