PostgreSQLプラグイン

コマンダーを使用したPostgreSQLデータベースのパスワードローテーション

Keeperシークレットマネージャーの新しいパスワードローテーション機能がリリースされました。パスワードローテーションのどのような事例でもこの新機能の使用を推奨します。詳細については以下をご参照ください。

このプラグインを使用すると、PostgreSQLサーバーのユーザーのパスワードをローテーションできます

前提条件

psycopg2-binaryのインストール

pip3 install psycopg2-binary

ローテーション用のレコードを準備

ローテーション用のレコードを作成

ローテーションは、従来のレコードにもタイプ指定されたレコードにも対応しています。 タイプ指定されたレコードを使用する場合は、「ログイン」タイプのフィールドが必要です。 ローテーションの種類に応じて、その他のフィールドを追加することもできます。 以下の手順をご参照ください。

従来のレコードとタイプ指定のあるレコードの詳細については、トラブルシューティングをご参照ください。

PostgreSQLのログイン名とパスワードを設定

Keeperのレコードの「ログイン」フィールドにPostgreSQLのログイン名を入力

コマンダーは、ログインとパスワードを使用してPostgreSQLアカウントにログインします

ホスト名とポートを設定

タイプ指定されていないレコードを使用する場合は、ホストとポートをカスタムフィールドに設定できます。以下をご参照ください。

ローテーションのプラグインが指定されていない場合、コマンダーはポート番号またはホストのプレフィックスで使用するローテーションを推測します。 ポート5432または"postgresql://"で始まるホスト名がPostgreSQLのローテーションを使用します

データベース名を入力

「cmdr:db」というラベルのレコードにカスタムフィールドを追加し、使用するデータベースの名前をそのフィールドに入力します。

オプションのレコードフィールド

これらのフィールドを追加すると、ローテーションに影響する場合があります

ラベル
コメント

cmdr:plugin

postgresql

(任意) PostgreSQLローテーションを使用するようにコマンダーに指示します。 これは、レコードに設定するか、またはローテーションコマンドに指定する必要があります

cmdr:host

PostgreSQLサーバーのホスト名。従来のレコードにはこのカスタムフィールドが必要で、タイプ指定されたレコードはホスト名フィールドとポートフィールドを使用できます。

cmdr:rules

「大文字の数, 小文字の数, 数字の数, 記号の数」

(たとえば、4,6,3,8)

(任意) パスワード生成ルール

cmdr:port

(任意) PostgreSQLポート。 省略した場合は5432と見なされます

Keeperコマンダーのconnectコマンドとの連携

カスタムフィールド名
カスタムフィールド値

connect:xxx:env:PGPASSWORD

${password}

connect:xxx

psql --host=${cmdr:host} --port=${cmdr:port} --username=${login} --dbname=${cmdr:db} --no-password

このユースケースのKeeperボルトのレコードのスクリーンショットを以下に示します。

接続用のKeeperのレコードの設定

connectコマンドの詳細については、こちらのページをご参照ください。

最終更新