管理網格內憑證
許多使用者需要管理其環境中使用的憑證類型。例如,有些使用者需要使用橢圓曲線密碼學 (ECC),而其他使用者可能需要為 RSA 憑證使用更強的位元長度。對於大多數使用者來說,在您的環境中設定憑證可能是一項艱鉅的任務。
本文件僅適用於網格內通訊。若要管理閘道上的憑證,請參閱安全閘道文件。若要管理 istiod 用於產生工作負載憑證的 CA,請參閱插入 CA 憑證文件。
istiod
當 Istio 安裝時沒有根 CA 憑證,istiod 將使用 RSA 2048 產生自我簽署的 CA 憑證。
若要變更自我簽署 CA 憑證的位元長度,您需要修改提供給 istioctl
的 IstioOperator 清單,或是在 Helm 安裝 istio-discovery 圖表期間使用的數值檔案。
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
values:
pilot:
env:
CITADEL_SELF_SIGNED_CA_RSA_KEY_SIZE: 4096
pilot:
env:
CITADEL_SELF_SIGNED_CA_RSA_KEY_SIZE: 4096
邊車
由於邊車管理其網格內通訊的憑證,因此邊車負責管理其私鑰和產生的憑證簽署請求 (CSR)。需要修改邊車注入器,以注入用於此目的的環境變數。
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
meshConfig:
defaultConfig:
proxyMetadata:
CITADEL_SELF_SIGNED_CA_RSA_KEY_SIZE: 4096
meshConfig:
defaultConfig:
proxyMetadata:
CITADEL_SELF_SIGNED_CA_RSA_KEY_SIZE: 4096
apiVersion: apps/v1
kind: Deployment
metadata:
name: curl
spec:
...
template:
metadata:
...
annotations:
...
proxy.istio.io/config: |
CITADEL_SELF_SIGNED_CA_RSA_KEY_SIZE: 4096
spec:
...
簽章演算法
預設情況下,Sidecar 將建立 RSA 憑證。如果您想將其變更為 ECC,您需要將 ECC_SIGNATURE_ALGORITHM
設定為 ECDSA
。
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
meshConfig:
defaultConfig:
proxyMetadata:
ECC_SIGNATURE_ALGORITHM: "ECDSA"
meshConfig:
defaultConfig:
proxyMetadata:
ECC_SIGNATURE_ALGORITHM: "ECDSA"
僅透過 ECC_CURVE
支援 P256 和 P384。
如果您偏好保留 RSA 簽名演算法並想修改 RSA 金鑰大小,您可以變更 WORKLOAD_RSA_KEY_SIZE
的值。