Oracleプラグイン

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

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

このプラグインを使用すると、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ローテーションを使用するようにコマンダーに指示します。 これは、レコードに設定するか、またはローテーションコマンドに指定する必要があります

コマンダーは、ホスト名が「oracle//」で始まるレコードに対してoracleプラグインを自動的に使用します

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

レコードの例:

ローテーション

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

rotate "Oracle Example" --plugin oracle

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

出力

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

最終更新