ページの先頭行へ戻る
Enterprise Postgres 15 オペレーターユーザーズガイド

4.7.4 設定可能なパラメータ

MTLSを有効にするには、次のパラメータを変更します

Key

Value

Details

spec.fep.usePodName

True

MTLSの場合、このキーを定義してtrueに設定する必要があります。 MTLSを使用しないTLS接続の場合、省略できます。 ただし、これもtrueに設定することをお勧めします。

spec.fep.patroni.tls.certificateName

<secret-name>

Patroni RESTAPIのtls.crtの証明書とtls.keyの秘密鍵を含むKubernetesシークレットの名前。 MTLS Patroni REST API通信の場合、このキーを定義する必要があります。 秘密鍵をパスワードで保護することはできません。 cert-managerを使用する場合、シークレットにはca.crtのCAバンドルも含まれます。

spec.fep.patroni.tls.caName

<configmap-name>

CAバンドルを含むKubernetesconfigmapの名前。 cert-managerを使用している場合、ca.crtはすでに上記のシークレットに含まれています。 この場合、このキーは省略できます。

spec.fep.postgres.tls.certificateName

<secret-name>

Postgresサーバのtls.crtの証明書とtls.keyの秘密鍵を含むKubernetesシークレットの名前。 MTLS Postgres通信の場合、このキーを定義する必要があります。 秘密鍵はパスワードで保護できます。 cert-managerを使用する場合、シークレットにはca.crtのCAバンドルも含まれます。

spec.fep.postgres.tls.caName

<configmap-name>

CAバンドルを含むKubernetesconfigmapの名前。 cert-managerを使用している場合、ca.crtはすでに上記のシークレットに含まれています。 この場合、このキーは省略できます。

spec.fep.postgres.tls.privateKeyPassword

<secret-name>

Postgresサーバの秘密鍵のパスワードを含むKubernetesシークレットの名前。.

spec.fepChildCrVal.sysUsers.pgAdminTls.certificateName

<secret-name>

「postgres」ユーザーのtls.crtの証明書とtls.keyの秘密鍵を含むKubernetesシークレットの名前。 MTLS Postgres通信の場合、このキーを定義する必要があります。 秘密鍵をパスワードで保護することはできません。 cert-managerを使用する場合、シークレットにはca.crtのCAバンドルも含まれます。

spec.fepChildCrVal.sysUsers.pgAdminTls.caName

<configmap-name>

CAバンドルを含むKubernetesconfigmapの名前。 cert-managerを使用している場合、ca.crtはすでに上記のシークレットに含まれています。この場合、このキーは省略できます。

spec.fepChildCrVal.sysUsers.pgAdminTls.sslMode

verify-full

MTLSの場合、この値をverify-fullに設定する必要があります。TLSのみが必要な場合は、verify-caまたはpreferに設定できます。

spec.fepChildCrVal.sysUsers.pgrepluserTls.certificateName

<secret-name>

「repluser」ユーザーのtls.crtの証明書とtls.keyの秘密鍵を含むKubernetesシークレットの名前。MTLS Postgres通信の場合、このキーを定義する必要があります。 秘密鍵をパスワードで保護することはできません。 cert-managerを使用する場合、シークレットにはca.crtのCAバンドルも含まれます。

spec.fepChildCrVal.sysUsers.pgrepluserTls.caName

<configmap-name>

CAバンドルを含むKubernetesconfigmapの名前。 cert-managerを使用している場合、ca.crtはすでに上記のシークレットに含まれています。 この場合、このキーは省略できます。

spec.fepChildCrVal.sysUsers.pgrepluserTls.sslMode

verify-full

MTLSの場合、この値をverify-fullに設定する必要があります。 TLSのみが必要な場合は、verify-caまたはpreferに設定できます。

spec.fepChildCrVal.sysUsers.pgRewindUserTls.certificateName

<secret-name>

「rewinduser」ユーザーのtls.crtの証明書とtls.keyの秘密鍵を含むKubernetesシークレットの名前。MTLS Postgres通信の場合、このキーを定義する必要があります。 秘密鍵をパスワードで保護することはできません。 cert-managerを使用する場合、シークレットにはca.crtのCAバンドルも含まれます。

spec.fepChildCrVal.sysUsers.pgRewindUserTls.caName

<configmap-name>

CAバンドルを含むKubernetesconfigmapの名前。 cert-managerを使用している場合、ca.crtはすでに上記のシークレットに含まれています。この場合、このキーは省略できます。

spec.fepChildCrVal.sysUsers.pgRewindUserTls.sslMode

verify-full

MTLSの場合、この値をverify-fullに設定する必要があります。TLSのみが必要な場合は、verify-caまたはpreferに設定できます。


MTLSを実行するには、pg_hba.confをカスタマイズする必要もあります。 以下は2つの可能な設定です。

spec.fep.customPgHba

hostssl all all 0.0.0.0/0 cert
hostssl replication all 0.0.0.0/0 cert


上記の設定により、FEPサーバは認証を実行します。同時に、クライアント証明書の信頼性を検証します。

spec.fep.customPgHba

hostssl all all 0.0.0.0/0 md5 clientcert=verify-full
hostssl replication repluser 0.0.0.0/0 md5 clientcert=verify-full


上記の設定により、FEPサーバはmd5認証を実行し、クライアント証明書の信頼性を検証します。