Keycloak とは?
Keycloak は、オープンソースのアイデンティティおよびアクセス管理ソフトウェアです。多くのアプリケーションに、多要素認証付きの共通サインインを提供し、カスタムアプリケーションに標準準拠のログインを加えるために広く使われています。
エンジニアに相談する ナレッジベース
どういうものか
Keycloak は Red Hat で始まり、現在は Cloud Native Computing Foundation のプロジェクトです。自社のサーバー上で、コンテナとして、または Kubernetes 上で動き、OpenID Connect、OAuth 2.0、SAML に対応しています。これらの標準を使うアプリケーションは、サインインを Keycloak に任せて、確認済みの本人情報を受け取るため、自分でパスワードを扱うことはありません。
シングルサインオンが重要な理由
シングルサインオンでは、各人が、接続されたすべてのアプリケーションで 1 つのアカウントを使います。誰かが退職したときは、そのアカウントを無効にすれば、あらゆる場所でアクセスがなくなります。多要素サインインは 1 か所で必須にでき、スタッフが使い回したり書き留めたりするパスワードも減ります。
主な構成要素
- レルム:レルムは、ユーザー、設定、アプリケーションが独立した 1 つのまとまりです。1 つのインストールに、スタッフ用と顧客用など、複数を持てます。
- クライアント:Keycloak 経由でユーザーをサインインさせる各アプリケーションは、クライアントとして登録され、それぞれ独自の設定を持ちます。
- アイデンティティブローカリング:Keycloak はサインインを別のプロバイダーに任せ、その結果を信頼できるため、スタッフは Microsoft 365 アカウントでサインインできます。
- ユーザーフェデレーション:Keycloak は、すべてのアカウントの 2 つ目のコピーを持つ代わりに、既存の LDAP ディレクトリや Microsoft Active Directory からユーザーを読み取れます。
Keycloak と Authentik
Authentik も同じ領域をカバーします。Keycloak は古いプロジェクトで、開発者が自社のソフトウェアの中にログインを組み込みたいときの、定番の選択肢です。Authentik は、Web インターフェースでのサインイン手順の設計に重きを置き、ログイン機能を持たないアプリケーションの前にログインを置くプロキシアウトポストを備えています。Keycloak もそうしたアプリケーションを保護できますが、通常は前段に別のプロキシを置きます。
KawaConnectとシングルサインオンの関わり
当社は業務向けカスタムソフトウェアを構築しており、ログインは、ゼロから書くのではなく、公開された標準に従うべき部分です。Microsoft 365 でのアイデンティティに関する業務は、Entra ID アカウント、多要素認証、条件付きアクセスを対象としています。また、セルフホスト型の Linux、Docker、Kubernetes サービスも運用しており、アイデンティティプロバイダーを使えば、社内ツールでも他と同じ Microsoft アカウントを使えます。
関連サービス
Kubernetesコンサルティング
セルフホスト型サービスとその設定のためのクラスター。
Microsoft 365
スタッフアカウント向けの Entra ID、MFA、条件付きアクセス。
ネットワークセキュリティ
リモートアクセス、MFA、セグメンテーション。常に誰かが見守ります。
詳しく見る
- Keycloak ドキュメントサーバー管理、アプリケーションの保護、アップグレードのガイド。
- Keycloak 公式サイトプロジェクトのホーム。ダウンロード、リリース情報、入門ガイドがあります。
- Wikipedia の Keycloakプロジェクトと Red Hat での歴史についての中立的な概要。
- OpenID Connect の仕組みKeycloak と Authentik が使うサインイン標準についての、OpenID Foundation による説明。