Liferay PaaS Experience
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、 こちら までご連絡ください。

Liferay PaaS体験:シークレットの管理

Liferay PaaS 環境のシークレットは Argo CD を通じて完全に管理され、GCP アカウント、IAM 構成、または gcloud アクセスは必要ありません。 このプラットフォームは、GCP Secret ManagerとExternal Secrets Operator(ESO)の接続を処理し、シークレットを環境内に同期します。

シークレットを管理するには、PaaSエクスペリエンス環境へのArgo CDアクセスが必要です。

マネージド型シークレットとセルフホスト型シークレット

この記事では、マネージドPaaSエクスペリエンスプラットフォームにおけるシークレット管理について説明します。 チームが代わりに Cloud Native Experience (CNE) GCP 対応 オファリングを通じて独自の GCP プロジェクトを運用する場合は、Argo CD ではなく GCP Secret Manager でシークレットを直接管理します。

どちらの経路も同じクラスタ内コントラクト、つまり External Secrets Operator が Kubernetes シークレットに調整する ExternalSecret リソースに収束するため、Liferay はどちらの方法でもシークレットを同じように消費します。 チームが運用したい基盤となるGCPレイヤーの範囲に基づいて選択してください。

マネージド(PaaS体験)セルフホスティング(CNE GCP対応)
GCPプロジェクトを運営しているのは誰ですか?ライフレイあなたのチーム
秘密を管理する場所アルゴCDGCP Secret Manager (コンソール、 gcloud、または Terraform)
GCPアカウントが必要ですいいえはい
JSONペイロードの規則内部で処理あなたがそれらを執筆します
IAMとワークロードIDの設定内部で処理あなたのチームの責任

自己ホスト型のパスについては、 シークレットとライセンスの管理 を参照してください。

サポートされているシークレットの種類

PaaS Experienceは3種類のシークレットタイプをサポートしています。 プラットフォームは、必要な JSON ペイロードの規則と GCP Secret Manager の命名プレフィックスを内部的に適用します。そのため、ペイロードを手動で作成したり、プレフィックスの要件を覚えておく必要はありません。

TLS 証明書 は、クラスターに証明書と秘密鍵を提供します。 プラットフォームは、それらを liferay-certificates- というプレフィックスの下に GCP Secret Manager に保存し、Kubernetes TLS シークレットに同期します。

Liferay ライセンス は、Liferay コンテナに Liferay ライセンスを提供します。 プラットフォームは、それらを liferay-licenses- というプレフィックスの下に GCP Secret Manager に保存します。

GitOps 認証情報 により、プラットフォームは GitOps リポジトリにアクセスできるようになります。 プラットフォームは、それらを GCP Secret Manager に liferay-credentials-gitops として保存します。

Argo CDにおけるシークレットの管理

Argo CD の シークレットマネージャ 拡張機能を使用して、シークレットを作成、更新、削除します。 シークレットはArgo CDのリソースであり、アプリケーションや構成と並んで表示されるため、デプロイメントの状態を示すビューと同じビューでシークレットの状態も確認できます。

各シークレットはそれぞれの環境に限定されているため、ステージング環境のシークレットが本番環境に到達することはなく、その逆も同様です。

Argo CD レコードは、その履歴内でシークレットに対する作成、更新、および削除操作を記録します。

Grafanaには、シークレット一覧と、それらの操作の監査証跡を表示する読み取り専用のシークレットダッシュボードも含まれています。 メトリクス を参照してください。

秘密がクラスターに届く方法

Argo CDでシークレットを作成または更新すると、プラットフォームはそれをクラスターに同期します。

  1. このプラットフォームは、必要な命名規則とJSONペイロード形式を自動的に適用し、秘密値を管理対象のGCP Secret Managerバックエンドに保存します。

  2. External Secrets OperatorはGCP Secret Managerからデータを読み込み、Kubernetesシークレットを生成します。

  3. Liferayは実行時にシークレットを読み取ります。

回転する秘密

シークレットをローテーションするには、Argo CD でその値を更新します。 External Secrets Operator は、1 時間ごとに GCP Secret Manager をポーリングし、Kubernetes シークレットを自動的に更新します。通常のケースでは、Pod の再起動や手動での kubectl 介入は必要ありません。 即時更新をトリガーする方法はありません。ローテーションされた値は、最大1時間後の次回のポーリング時に有効になります。