bin/kc.[sh|bat] start --https-client-auth=<none|request|required>
為了正確驗證客戶端憑證並啟用某些驗證方法,例如雙向 TLS 或 mTLS,您可以設定一個信任儲存區,其中包含伺服器應信任的所有憑證(和憑證鏈)。許多功能都依賴此信任儲存區來正確驗證使用憑證的客戶端,例如 Mutual TLS 和 X.509 驗證。
預設情況下,使用 mTLS 進行驗證是停用的。若要在 Keycloak 作為伺服器時啟用 mTLS 憑證處理,並需要驗證來自對 Keycloak 端點發出的請求的憑證,請將適當的憑證放入信任儲存區中,並使用以下命令啟用 mTLS:
bin/kc.[sh|bat] start --https-client-auth=<none|request|required>
使用值 required
會設定 Keycloak 總是要求憑證,如果請求中未提供憑證則會失敗。透過將值設定為 request
,Keycloak 也會接受沒有憑證的請求,並且僅在憑證存在時驗證憑證的正確性。
mTLS 設定和信任儲存區由所有領域共用。無法為不同的領域設定不同的信任儲存區。 |
管理介面屬性繼承自主 HTTP 伺服器,包括 mTLS 設定。這表示當設定 mTLS 時,管理介面也會啟用 mTLS。若要覆寫此行為,請使用 https-management-client-auth 屬性。 |
預設情況下,Keycloak 使用系統信任儲存區來驗證憑證。有關詳細資訊,請參閱設定信任憑證。
如果您需要為 mTLS 使用專用信任儲存區,您可以執行以下命令來設定此信任儲存區的位置:
bin/kc.[sh|bat] start --https-trust-store-file=/path/to/file --https-trust-store-password=<value>
請注意,這是 Keycloak 作為伺服器時 mTLS 用例的基本憑證設定。當 Keycloak 改為作為客戶端時,例如當 Keycloak 嘗試從由 mTLS 保護的代理身分提供者的權杖端點取得權杖時,您需要設定 HttpClient 以在傳出的請求的鑰匙儲存區中提供正確的憑證。若要設定這些情境中的 mTLS,請參閱設定傳出的 HTTP 請求。
有關如何設定 X.509 驗證的詳細資訊,請參閱X.509 用戶端憑證使用者驗證章節。
值 | |
---|---|
|
|
|
|
|
|
|
|
|
|