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

4.12.1 認証情報の登録

4.12.1.1 KMIPサーバを使用する場合

KMIPサーバとの間のTLS通信に利用する証明書をSecretまたはConfigMapに保存します。

作成したSecretまたはConfigMapはFEPClusterカスタムリソースにリソース名を指定し、FEPコンテナにマウントします。

KMIPサーバに接続するためのクライアント証明書と秘密鍵を保存するSecretを作成します。

また、任意でルート証明書を保存するConfigMapを作成します。

下記の資格情報ファイルを利用して資格情報を登録する例を説明します。

kmip.pem   # KMIPサーバに接続するためのクライアント証明書
kmip.key   # 秘密鍵
myca.pem   # ルート証明書

クライアント証明書と秘密鍵を保存するためのSecret を作成します。

クライアント証明書と秘密鍵をマウントするときのファイル名は、それぞれtls.crtとtls.keyを指定します。

$ oc create secret generic kmip-cert --from-file=tls.crt=kmip.pem --from-file=tls.key=kmip.key -n kmip-demo

必要に応じて、ルート証明書を保存するためのConfigMapを作成します。

マウントするファイル名はca.crtを指定します。

$ oc create configmap kmip-cacert --from-file=ca.crt=myca.pem -n my-namespace

4.12.1.2 AWSの鍵管理サービスを使用する場合

AWSの鍵管理サービスに接続するために必要な認証情報、およびその他の設定をSecretとConfigMapに保存します。

認証情報とその他の設定をAWSのクライアントインターフェースが定める形式に従って記載したcredentialsとconfigの2つのファイルを準備します。credentialsファイルへのaccess_key_idとsecret_access_keyの指定は必須です。

下記の設定ファイルを利用して認証情報を登録する例を説明します。

credentials    # credentialsファイル
config         # configファイル

configファイルを保存するためのConfigMapを作成します。キー名にはconfigを指定します。ConfigMapの名前は任意です(ここではaws-kms-config)。

$ oc create configmap aws-kms-config --from-file=config=config -n my-namespace

credentialsファイルを保存するためのSecretを作成します。キー名にはcredentialsを指定します。Secretの名前は任意です(ここではaws-kms-credentials)。

$ oc create secret generic aws-kms-credentials --from-file=credentials=credentials -n my-namespace

参照

AWSのクライアントインターフェースの設定ファイルについては以下を参照してください。

https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html

4.12.1.3 Azureの鍵管理サービスを使用する場合

Azureの鍵管理サービスに接続するために必要な認証情報をSecretに保存します。

利用できる認証方式はパスワードを使用した認証とクライアント証明書を使用した認証のどちらかです。

パスワードを使用した認証の場合、以下のようなSecretを定義するYAML形式のファイルを作成します。Secretの名前は任意です(ここではazure-key-vault-passphrase)。data.clientsecretにはbase64でエンコードされたパスワードを記載します。

kind: Secret
apiVersion: v1
metadata:
  name: azure-key-vault-passphrase
  namespace: my-namespace
data:
  clientsecret: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=
type: Opaque

作成したYAMLファイルをもとにSecretを作成します。ここではazure-client-secret.yamlという名前のYAMLファイルを使用しています。

$ kubectl apply -f azure-client-secret.yaml -n my-namespace

クライアント証明書を使用した認証の場合、クライアント証明書ファイルと秘密鍵をSecretに保存します。

下記の証明書ファイルを利用してSecretを作成する例を説明します。

azuremycert.pem    # クライアント証明書と秘密鍵を含むPEMファイル

クライアント証明書を保存するためのSecretを作成します。キー名にはazure-key-vault.crtを指定します。Secretの名前は任意です(ここではazure-key-vault-secret)。

$ oc create secret generic azure-key-vault-secret --from-file=azure-key-vault.crt=azuremycert.pem -n my-namespace