第18章 管理インターフェイスの設定
管理インターフェイスを使用すると、プライマリー HTTP サーバーとは異なる HTTP サーバー経由で管理エンドポイントにアクセスできます。これにより、/metrics
や /health
などのエンドポイントを外部から隠すことが可能になり、セキュリティーが強化されます。特定の管理ポートが公開されない可能性があるため、最も重要な利点は、Kubernetes 環境で確認できるかもしれません。
18.1. 管理インターフェイスの設定
管理インターフェイスは、何かが公開されるとオンになります。メトリクスとヘルスが有効な場合、/metrics
や /health
などの管理エンドポイントはデフォルトの管理ポート 9000
で公開されます。管理インターフェイスには一連のオプションが用意されており、完全に設定可能です。
管理インターフェイスのプロパティーが明示的に設定されていない場合、その値はデフォルトの HTTP サーバーから自動的に継承されます。
18.1.1. ポート
管理インターフェイスのポートを変更するには、Red Hat build of Keycloak のオプション http-management-port
を使用します。
18.1.2. Relative path
管理エンドポイントの接頭辞パスは異なる場合があるため、管理インターフェイスの相対パスを変更できます。これは、Red Hat build of Keycloak のオプション http-management-relative-path
を介して実現できます。
たとえば、CLI オプション --http-management-relative-path=/management
を設定すると、メトリクスおよびヘルスエンドポイントは /management/metrics
および /management/health
パスでアクセスされます。
相対パスが指定されると、ユーザーは Red Hat build of Keycloak がホストされているパスに自動的に リダイレクト されます。つまり、相対パスが /management
に設定され、ユーザーが localhost:9000/
にアクセスすると、ページは localhost:9000/management
にリダイレクトされます。
値を明示的に設定しない場合は、http-relative-path
プロパティーの値が使用されます。たとえば、CLI オプション --http-relative-path=/auth
を設定すると、これらのエンドポイントは /auth/metrics
パスと /auth/health
パスでアクセスできます。
18.1.3. TLS サポート
TLS がデフォルトの Red Hat build of Keycloak サーバーに設定されている場合、管理インターフェイスは HTTPS 経由でもアクセス可能になります。管理インターフェイスは、メインサーバーの場合のように両方ではなく、HTTP または HTTPS のいずれかでのみ実行できます。
管理 HTTP サーバーのさまざまな TLS パラメーターを設定するために、接頭辞 https-management-*
が付いた特定の Red Hat build of Keycloak 管理インターフェイスオプションが提供されました。これらの機能は、メイン HTTP サーバーの対応する機能と類似します。詳細は、TLS の設定 を参照してください。これらのオプションが明示的に設定されていない場合、TLS パラメーターはデフォルトの HTTP サーバーから継承されます。
18.1.4. 管理インターフェイスを無効にする
管理インターフェイスは、何も公開されていない場合は自動的にオフになります。現在、管理インターフェースでは、ヘルスチェックとメトリクスのみが公開されています。管理インターフェイス上での公開を無効にする場合は、Red Hat build of Keycloak プロパティー legacy-observability-interface
を true
に設定します。
セキュリティー上の理由から、デフォルトサーバーでヘルスエンドポイントとメトリクスエンドポイントを公開することは推奨されません。常に管理インターフェイスを使用する必要があります。legacy-observability-interface
オプションは非推奨となり、今後のリリースで削除予定である点に注意してください。これは、単に移行のための時間を追加することができるだけです。