14.5. その他の制限
SAML が機能するためには、XMLDSig
セキュリティープロバイダーがセキュリティープロバイダーで利用できることを確認する必要があります。Kerberos が機能するためには、SunJGSS
セキュリティープロバイダーが利用できることを確認する必要があります。OpenJDK 17.0.6 の FIPS 対応 RHEL 9 では、これらのセキュリティープロバイダーは java.security
に存在しないため、事実上は機能しません。
SAML が機能するためには、プロバイダーを JAVA_HOME/conf/security/java.security
FIPS プロバイダーリストに手動で追加します。たとえば、次のような行を追加します。
fips.provider.7=XMLDSig
セキュリティープロバイダーを追加すると、正常に機能するはずです。実際、これは FIPS に準拠しており、今後の OpenJDK 17 マイクロバージョンではデフォルトで追加される可能性があります。詳細は、Bugzilla を参照してください。
JAVA_HOME/conf/security/java.security
で、設定済みのすべてのプラバイダーを確認し、番号が一致することを確認することが推奨されます。言い換えると、fips.provider.7
は、このファイル内に fips.provider.N
のような接頭辞が設定されたプロバイダーがすでに 6 つあることを前提としています。
Java 内の java.security
ファイルを編集しない場合は、カスタム Java セキュリティーファイル (たとえば、kc.java.security
という名前で) を作成し、そのファイルに XMLDSig プロバイダーを追加するための上記のプロパティーを 1 つだけ追加できます。その後、このプロパティーファイルをアタッチして Red Hat build of Keycloak サーバーを起動します。
-Djava.security.properties=/location/to/your/file/kc.java.security
Kerberos/SPNEGO の場合、セキュリティープロバイダー SunJGSS
はまだ完全には FIPS に準拠していません。したがって、FIPS に準拠する必要がある場合は、それをセキュリティープロバイダーリストに追加することは推奨されません。FIPS プラットフォームで実行され、セキュリティープロバイダーが使用できない場合、Red Hat build of Keycloak ではデフォルトで KERBEROS
機能が無効になっています。詳細は、Bugzilla を参照してください。