Generating agent certificates manually#

このページでは、エージェント証明書を手動で生成する方法について説明します。これは、 sslutilsではなくローカルCAを使用している場合、またはsslutilsを使用しているが、共通エージェント証明書の使用に移行する場合に必要です。

これらの手順は、証明書署名要求CSRを提供する必要がある組織または外部CAを使用している場合にも役立ちます。この場合、手順3および4をCAの適切な手順に置き換える必要があります。

これらのさまざまなSSLモデルの詳細については、 Deciding on an SSL model を参照してください。

エージェント証明書とキーの生成#

  1. エージェントが実行されるホストで、エージェントキーを生成します。

# Running as root
openssl genrsa -out agent.key 4096
  1. エージェントのCSRを生成します。

openssl req -new -key agent.key -out agent.csr -subj /C=<country>/ST=<state>/L=<locality>/O=<organization>/CN=<agent_user>

-subj は組織に合わせて適切に入力し、 <agent_user> は、エージェントがPEMデータベースに接続するために使用するPostgresのユーザー名に置き換えます。

  1. CAが存在するホストにCSRをコピーします。

  2. CAホストで、openssl x509 コマンドを使用してCSRに署名し、エージェント証明書を生成します。

openssl x509 -req -days 365 -in agent.csr -CA ca_certificate.crt -CAkey ca_key.key -CAcreateserial -out agent.crt
  1. agent.crt をエージェントホストにコピーします。

  2. エージェントホストで、agent.crt およびagent.key ファイルの権限を変更します。

chmod 600 agent.crt agent.key

新しい証明書とキーを使用するようにエージェントを構成する#

次の手順は、この証明書とキーを新しいエージェントが使用するか、既に登録されているエージェントが使用するかによって異なります。

  1. 新しい証明書とキーファイルへの絶対パスを提供して、エージェントを登録します。 <agent_user> の値は、証明書の一般名と一致し、PEMバックエンドデータベースでpem_agent ロールを持つPostgresユーザーである必要があります。

export PEM_SERVER_PASSWORD=edb

/usr/edb/pem/agent/bin/pemworker --register-agent \
--pem-server 192.168.99.130 \
--pem-user enterprisedb \
--pem-port 5444 \
--pem-agent-user <agent_user> \
-o agent_ssl_crt=/root/.pem/agent.crt \
-o agent_ssl_key=/root/.pem/agent.key
  1. pemagentサービスを有効にして開始します。

systemctl enable pemagent
systemctl start pemagent
  1. エージェントホストのagent.cfg ファイルのagent_ssl_key 、およびagent_ssl_crt パラメーターを編集して、それぞれ新しいキーと証明書への絶対パスを提供します。エージェントユーザーも変更する場合は、 agent_user も編集します。証明書の一般名と一致し、PEMバックエンドデータベースでpem_agent ロールを持つPostgresユーザーである必要があります。

agent_user=<agent_user>
agent_ssl_key=/<new_location>/agent.key
agent_ssl_crt=/<new_location>/agent.crt
  1. pemagentサービスを再起動します。

systemctl restart pemagent