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文字列を介してスクリプトに渡されて利用できるようになります。
最終更新