の主な機能と利点 CertificateManager
CertificateManager は、証明書の再発行の自動化、所有権の管理改善、有効期限の追跡に重点を置き、円滑で中断のない運用を確保します。
証明書の更新
- 有効期限切れの監視
- このシステムは、TLSおよびCA証明書の有効期限を7日ごとに監視します。
- TLS証明書の更新
- TLS証明書の有効期間は1年間です。
- オペレーター所有の証明書については、有効期限が切れる30日前にシステムが再生成を促し、タイムリーな更新を確実にします。
- ユーザー所有の証明書については、有効期限切れの30日前までにオペレーターがイベントを発行します。このイベントを購読してフックを取得し、証明書マネージャーインスタンスで以下の注釈を設定して証明書を再生成することができます。
apps.oms.gateway.ibm.com/regenerate-tls-cert: 'true'
- CA証明書の更新
- CA証明書の有効期間は10年間です。 サービスの中断を避けるため、有効期限が切れる1年前に証明書を再発行します。
- 自動更新
- 更新プロセス全体が自動化されているため、手動での介入は不要となり、証明書が余裕を持って再発行されることが保証されます。 証明書の有効期限が切れる前に更新することで、システムは有効期限切れの証明書がサービス機能に影響を与えるリスクがないことを保証します。
ゼロ・ダウンタイムでの証明書の再発行
- CA証明書の再生成
- 新旧CA証明書の共存期間:移行期間中、旧CA証明書と新CA証明書の両方が1年間(第9年から第10年にかけて)同時に存在します。
- 古いCA証明書は、10年目の有効期限まで有効です。 この重複期間中は、両方の証明書が検証に使用可能であり、サービスは新旧いずれの認証局を使用しても証明書の認証を行うことができます。 この重複により、再生プロセス中のサービスの中断を防ぐことができます。
- 新しい sip-operator-ca 秘密鍵には、以下のコンポーネントのみが含まれます
- tls.crt : 古い証明書と新しい証明書の両方が含まれています。
- tls.key :最新の秘密鍵のみが含まれています。
- CAの場合、唯一の tls.crt および tls.key のみが存在します。
- 9年目以降、新しいCA証明書はTLS証明書の作成または再生成に使用されます。
- 10年経過後、古いCA証明書が失効すると、それは削除され、新しいCA証明書のみが使用され続けます。
- TLS証明書の再生成
- オペレータ所有のTLS証明書については、有効期限が切れる30日前にTLS証明書を再生成します。 古い証明書は有効期限まで有効であるため、サービスは新しいTLS証明書をシームレスに使い続けます。 これにより、TLS証明書の更新中もサービスが中断されることなく継続的に運用されます。
- TLS 秘密鍵には以下のコンポーネントが含まれます
- tls.crt :最新の証明書が含まれています。
- tls.key :最新の秘密鍵のみが含まれています。
- tls.p12 : PKCS12 形式の最新の証明書が含まれています。
- tls.p12.password : PKCS12 ファイルのパスワードが含まれており、このパスワードは固定されています。
- オペレータ所有の証明書 (sip-cert など)が再生成されると、そのTLS秘密鍵に依存するすべてのポッドが再起動されます。
- オペレータ所有の証明書については、スムーズな移行を確保するために、オペレータは30日前に証明書を再生成します。 証明書が再生成された場合でも、対応するポッドが再起動されないと、古い証明書を使い続ける可能性があります。 Operatorは30日間のバッファを設けることで、ポッドが再起動するのに十分な時間を確保し、証明書の期限切れによりポッドへの呼び出しが失敗するような事態を回避します。
- シームレスな移行でダウンタイムゼロ
- sip-operator-ca 証明書の TLS 証明書シークレットが削除されると、新しい証明書が自動的に作成され、対応するポッドが再起動を開始します。 TLS 証明書の秘密鍵または sip-operator-ca 証明書の秘密鍵が削除された場合、それぞれ新しい証明書が自動的に作成され、対応するポッドが再起動を開始します。
- 証明書マネージャーのインスタンスを作成すると、現在の証明書が現在の sip-operator-ca を使用していないことがイベントを通じて通知され、
certificateManagerインスタンスの以下の注釈を通じて再生成することができます。apps.oms.gateway.ibm.com/regenerate-tls-cert: 'true'
CAの秘密を一元管理
- すべての証明書に共通の認証局
- 中央管理された sip-operator-ca 秘密鍵は、異なる Certificate Manager インスタンスのすべての TLS 証明書の署名に使用されます。 この集中管理により、証明書の管理が簡素化され、各インスタンスに対する個別のCA管理の必要性が低減されます。
ステータス追跡
- 証明書のステータス更新
- Certificate Manager は、証明書の状態を7日ごとに追跡し、更新された場合はその旨と新しい有効期間を反映して更新します。 これにより、管理者はいつでも証明書の健全性と有効性を追跡することができます。
- 証明書マネージャーインスタンスの状態
- 次のスニペットは、証明書と、その証明書を使用して作成された証明機関名を含む秘密鍵の名前を示すステータスを示しています。
status: certificateAuthorityName: sip-operator-ca condition: lastTransitionTime: '2025-01-07T04:45:18Z' message: Certificate created reason: ExecutionCompleted status: 'True' type: CertificateCreated expirationTimestamp: '2026-01-07T04:44:31Z' creationTimestamp: '2025-01-07T04:44:31Z' renewalTimestamp: '2025-12-08T04:44:31Z' secretName: sip-cert - sip-operator-ca 秘密鍵の注釈
- 追跡を容易にするため、CA証明書の有効期限の状態は注釈として保存されます。
- これらの注釈には、以下の2つの重要な情報が含まれています。
- current-certificate-status : この注釈には、現在の有効期限、更新時間、その他の重要な詳細情報など、証明書の最新情報が含まれています。
- old-certificate-status : この注釈は、以前に使用されていた証明書のステータスを保持し、監査やトラブルシューティングの目的で履歴データを確実に保持します。 この注釈は、秘密から古い証明書が削除されると削除されます。
- 次のスニペットは 、SIPオペレータCA ステータスオブジェクトのサンプルを示しています。
current-certificate-status: "{"status": { "expirationTimestamp": "2035-01-07T04:44:31Z", "creationTimestamp":"2025-01-07T04:44:31Z", "renewalTimestamp": "2034-01-07T04:44:31Z"}}" old-certificate-status: "{"status": { "expirationTimestamp": "2035-01-07T04:44:31Z", "creationTimestamp":"2025-01-07T04:44:31Z", "renewalTimestamp": "2034-01-07T04:44:31Z"}}"