Керування сертифікатами всередині Mesh
Багато користувачів потребують керування типами сертифікатів, які використовуються в їх середовищі. Наприклад, деякі користувачі потребують використання Elliptical Curve Cryptography (ECC), тоді як інші можуть потребувати використання сертифікатів з більшою довжиною ключа для RSA. Налаштування сертифікатів у вашому середовищі може бути складним завданням для більшості користувачів.
Цей документ призначений тільки для комунікації всередині Mesh. Для керування сертифікатами на вашому Gateway, див. документ Захист Gateways. Для керування CA, який використовує istiod для генерації сертифікатів робочих навантажень, див. документ Підключення сертифікатів CA.
istiod
Коли Istio встановлюється без кореневого сертифіката CA, istiod згенерує самопідписний сертифікат CA, використовуючи RSA 2048.
Щоб змінити довжину ключа самопідпианого сертифіката CA, потрібно змінити або маніфест IstioOperator, наданий для istioctl
, або файл значень, що використовувався під час установки 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
Sidecars
Оскільки sidecars управляють своїми власними сертифікатами для комунікації всередині Mesh, sidecars відповідають за управління своїми приватними ключами та згенерованими Запитами на Підпис Сертифікатів (CSR). Необхідно змінити інжектор sidecar, щоб вставити змінні середовища, які будуть використовуватися для цієї мети.
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:
...
Алгоритм підпису
Стандартно sidecars створюють 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"
Тільки P256 та P384 підтримуються через ECC_CURVE
.
Якщо ви віддаєте перевагу зберігати RSA алгоритми підпису і хочете змінити розмір ключа RSA, можете змінити значення WORKLOAD_RSA_KEY_SIZE
.