Oracleプラグイン

Commanderを使用したOracle Databaseのパスワードローテーション

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

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

前提条件

クライアントアプリケーションを有効にするには、Oracle Instant Clientのセットアップが必要です。

次のページをご参照ください。http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

cx_Oracleのインストール

pip3 install oracledb

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

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

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

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

Keeper内でローテーションする記録に以下のカスタムフィールドを追加します

DSN文字列を使用した接続:

ラベルコメント

cmdr:dsn

例: "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SID=XE)))"

Oracle DSN文字列

データベースホストとサービスの名前を使用した接続

cmdr:dsnを使用すると、cmdr:hostcmdr:dbのプロパティは無視されます。

ラベルコメント

cmdr:host

Oracleサーバーのホスト名

cmdr:db

Oracleサーバーに接続するデータベースサービス

以下のオプションのプラグインフィールドを追加して、Oracleローテーションプラグインの使用を強制できます

ラベルコメント

cmdr:plugin

oracle

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

Commanderは、ホスト名が「oracle//」で始まる記録に対してoracleプラグインを自動的に使用します

このプラグインは、パスワードをローテーションするときに、パスワードコマンドのユーザー名としてログインフィールドを使用します。

記録の例:

ローテーション

Oracleのパスワードをローテーションするには、Commanderでrotateコマンドを使用します。 コマンドに記録タイトルもしくはUIDを渡します (複数の記録を1度にローテーションさせるには、正規表現で--matchを使用します)。

rotate "Oracle Example" --plugin oracle

プラグインは、こちらに示すようにコマンドに指定することも、記録のフィールドに追加することもできます (上記のオプションを参照)。 記録にプラグインタイプを追加すると、プラグインの異なる複数の記録を1度にローテーションできます。

出力

ローテーションが完了すると、新しいパスワードが記録のパスワードフィールドに格納されます。

最終更新