OAuth2、OpenID Connect、SAML に準拠したサーバーとして、Keycloak は、アプリケーションとサービスが使用しているテクノロジースタックがこれらのプロトコルのいずれかをサポートしている限り、あらゆるアプリケーションとサービスをセキュリティ保護できます。Keycloak でサポートされているセキュリティプロトコルの詳細については、サーバー管理ガイドを参照してください。
これらのプロトコルのサポートのほとんどは、プログラミング言語、フレームワーク、または使用しているリバースプロキシからすでに利用可能です。アプリケーションのエコシステムからすでに利用可能なサポートを活用することは、アプリケーションをセキュリティ標準とベストプラクティスに完全に準拠させ、ベンダーロックインを回避するための重要な側面です。
一部のプログラミング言語では、Keycloak は特定のセキュリティプロトコルのサポートの欠如を埋めたり、サーバーとのより豊富で緊密な統合を提供したりするためのライブラリを提供しています。これらのライブラリはKeycloak クライアントアダプターとして知られており、アプリケーションのエコシステムから利用できるものに頼ることができない場合の最後の手段として使用する必要があります。
これらは、Keycloak でアプリケーションまたはサービスをセキュリティ保護するための基本的なステップです。
次のいずれかのオプションを使用して、レルムにクライアントを登録します
Keycloak 管理コンソール
クライアント登録サービス
CLI
次のいずれかのオプションを使用して、アプリケーションで OpenID Connect または SAML プロトコルを有効にします
アプリケーションのエコシステムからの既存の OpenID Connect および SAML サポートの活用
Keycloak アダプターの使用
このガイドでは、これらのステップの詳細な手順を説明します。管理コンソールを介して Keycloak にクライアントを登録する方法の詳細については、サーバー管理ガイドを参照してください。
Keycloak クイックスタートリポジトリでは、さまざまなプログラミング言語とフレームワークを使用してアプリケーションとサービスをセキュリティ保護する方法の例を提供しています。ドキュメントとコードベースを確認することで、アプリケーションとサービスを Keycloak でセキュリティ保護するために必要な最小限の変更を理解できます。
また、OpenID Connect および SAML プロトコルの両方について、信頼できる有名なクライアント側の実装に関する推奨事項については、以下のセクションを参照してください。
このガイドで使用される用語
クライアント
は、ユーザーを認証し、トークンを取得するために Keycloak と対話するエンティティです。ほとんどの場合、クライアントは、ユーザーにシングルサインオンエクスペリエンスを提供し、サーバーによって発行されたトークンを使用して他のサービスにアクセスするユーザーに代わって動作するアプリケーションおよびサービスです。クライアントは、トークンを取得し、他のサービスにアクセスするために自身に代わって動作することのみに関心のあるエンティティである場合もあります。
アプリケーション
には、各プロトコルの特定のプラットフォームで動作する幅広いアプリケーションが含まれます
クライアントアダプター
は、Keycloak でアプリケーションとサービスを簡単にセキュリティ保護できるようにするライブラリです。これらは、基盤となるプラットフォームおよびフレームワークへの緊密な統合を提供します。
クライアントの作成
とクライアントの登録
は同じアクションです。クライアントの作成
は、管理コンソールを使用してクライアントを作成するために使用される用語です。クライアントの登録
は、Keycloak クライアント登録サービスを使用してクライアントを登録するために使用される用語です。
サービスアカウント
は、自身に代わってトークンを取得できるクライアントのタイプです。