MySQLプラグイン
Keeper Commanderを使用したMySQLデータベースのローテーションと接続
Keeper Secrets Managerの新しいパスワードローテーション機能がリリースされました。パスワードローテーションのどのような事例でもこの新機能の使用を推奨します。詳細については以下をご参照ください。
Keeper Secrets Managerを使用したパスワードローテーション
前提条件
PyMySQLのインストール
MySQL CommanderプラグインにはPyMySQLプラグインバージョン0.10.1が必要で、それより新しいバージョンはサポートされていません。
ローテーション用の記録を準備
MySQLのユーザー名とパスワードを格納する記録を作成
KeeperボルトのUIまたはKeeper Commanderを使用して記録を作成します。
Commanderのローテーションは、すべての記録タイプをサポートしています。 記録には「ログイン」フィールドが必要です。
記録のホストとポートを設定
タイプ指定されていない記録を使用する場合は、ホストとポートをカスタムフィールドに設定できます。以下をご参照ください。
Commanderは、ポート番号が3306の記録、またはホスト名が「mysql//」で始まる記録に対してmysqlプラグインを自動的に使用します
ログインとパスワードの値を現在のデータベースユーザーの値に設定します
オプションのカスタムフィールド
ラベル | 値 | コメント |
---|---|---|
cmdr:plugin | mysql | MySQLローテーションを使用するようにCommanderに指示します これは、記録に設定するか、またはローテーションコマンドに指定する必要があります |
cmdr:host | MySQL serverのホスト名。記録のホストフィールドで設定されていない場合は、ここで設定できます | |
cmdr:rules | 「大文字の数, 小文字の数, 数字の数, 記号の数」 (たとえば、4,6,3,8) | パスワード生成ルール |
cmdr:port | MySQLのポート。 省略した場合は3306と見なされます 記録のホストフィールドで設定されていない場合は、ここで設定できます | |
cmdr:user_host | ユーザーホスト。省略した場合は「%」と見なされます |
パスワードのローテーション
UID記録の取得
記録の情報のポップアップでUIDを検索
ローテーションを実行
MySQLのパスワードをローテーションするには、Commanderでrotate
コマンドを使用します。 コマンドに記録タイトルもしくはUIDを渡します (複数の記録を1度にローテーションさせるには、正規表現で--match
を使用します)
プラグインは、こちらに示すようにコマンドに指定することも、記録のフィールドに追加することも、ポート番号や"mysql://"で始まるホストに基づいて自動的に割り当てることもできます (上記のオプションを参照)。 記録にプラグインタイプを追加すると、プラグインの異なる複数の記録を1度にローテーションできます。
出力
ローテーションが完了すると、新しいパスワードが記録のパスワード
フィールドに格納されます
Keeper Commanderのconnect
コマンドとの連携
connect
コマンドとの連携カスタムフィールド名 | カスタムフィールド値 |
---|---|
connect:xxx:env:MYSQL_PWD | ${password} |
connect:xxx | mysql -u${login} -h${cmdr:host} |
xxx
は、コマンドラインで接続する際に参照できる「分りやすい名前」を示します。
このユースケースのKeeper ボルトの記録のスクリーンショットを以下に示します。
connect
コマンドの詳細については、こちらのページをご参照ください。
最終更新