Windowsのスケジュールタスクのクレデンシャルをローテーション
概要
こちらの例では、Keeper PAMを介してパスワードをローテーションしているサービスアカウントとして実行されているWindowsのスケジュールタスクのクレデンシャルをローテーションします。
PowerShellスクリプトを使用
要件
これらのスクリプトを使用するには、対象のマシンでPowerShell 7が利用でき、Enable-PSRemoting
でPowerShell 7によるリモート処理が使用できるようにセットアップする必要があります。
レコードからパラメータを抽出
ローテーションされるレコード内のデータは、BASE64でエンコードされたJSON文字列を介してスクリプトで利用できるようになります。スクリプトの実行が終了すると、Clear-Historyが実行され、今後のPowerShellセッションでレコードデータは利用できなくなります。
バッチファイルを使用
要件
以下の例のスクリプトを実行するには、対象サーバー上でRemote Procedure Call (RPC) サービスとWindows Management Instrumentationサービスが有効になっていて実行されている必要があります。
サービスアカウントの認証情報をローテーションするには、ユーザー (この場合はゲートウェイのユーザーアカウント) が対象マシンの管理者グループのメンバーである必要があります。つまり、ゲートウェイは、デフォルトのSYSTEMユーザーとして実行するのではなく、適切なレベルの特権が割り当てられたサービスアカウントとして実行する必要があります。
本例では一般的に使用されるツールであるjq
を使用して、レコードデータを含むスクリプトに渡されるJSONデータを解析します。jq
コマンドがインストール済みでPATHにあることを前提としています。
レコードからパラメータを抽出
ローテーションされるレコード内のデータは、BASE64でエンコードされたJSON文字列を介してスクリプトで利用できるようになります。
最終更新