メッシュ内証明書の管理
多くのユーザーは、環境内で使用される証明書の種類を管理する必要があります。たとえば、一部のユーザーは楕円曲線暗号(ECC)の使用を必要とし、他のユーザーはRSA証明書により強力なビット長を使用する必要がある場合があります。環境内の証明書を構成することは、ほとんどのユーザーにとって困難な作業となる可能性があります。
このドキュメントは、メッシュ内通信での使用のみを目的としています。ゲートウェイでの証明書管理については、セキュアゲートウェイのドキュメントを参照してください。ワークロード証明書を生成するために istiod が使用する CA の管理については、プラグイン CA 証明書のドキュメントを参照してください。
istiod
ルートCA証明書なしでIstioがインストールされると、istiodはRSA 2048を使用して自己署名CA証明書を生成します。
自己署名CA証明書のビット長を変更するには、istioctl
に提供されるIstioOperatorマニフェストか、istio-discoveryチャートのHelmインストール中に使用される値ファイルを変更する必要があります。
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:
...
署名アルゴリズム
デフォルトでは、サイドカーは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
の値を変更できます。