PostgreSQLプラグイン

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

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

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

前提条件

psycopg2-binaryのインストール

pip3 install psycopg2-binary

ローテーション用の記録を準備

ローテーション用の記録を作成

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

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

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

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

ホスト名とポートを設定

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

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

データベース名を入力

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

オプションの記録フィールド

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

ラベルコメント

cmdr:plugin

postgresql

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

cmdr:host

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

cmdr:rules

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

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

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

cmdr:port

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

Keeper Commanderのconnectコマンドとの連携

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

connect:xxx:env:PGPASSWORD

${password}

connect:xxx

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

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

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

最終更新