SSHを使用したPowerShellの例
Windowsサービスの「Log on as」認証情報を更新するためのPAMスクリプト
最終更新
Windowsサービスの「Log on as」認証情報を更新するためのPAMスクリプト
最終更新
以下のPowerShellコード例では、PowerShell 7を使用して確立したSSHセッションにおいてKeeper ローテーションでパスワードをローテーションした後、Windowsサービスの「Log on as」認証情報を更新します。
この例では、確立された「SSH」セッションを介してWindowsベースのターゲットシステムに対して「Invoke-Method」を使用し、サービスの管理にはPowerShell 7のネイティブコマンドレットを使用します。この場合、「Microsoft.PowerShell.Management」とそのサブコマンド (「Get-Service」や「Set-Service」など) を使用して、ターゲットWindowsサービスの「Log on as」認証情報を管理します。
以下は結果として得られるPAMスクリプト設定画面です。
このスクリプトを実行するには、Keeperゲートウェイホストシステムと対象システム間でSSH鍵ベースの認証を設定し、有効化する必要があります。鍵ペア認証をまだ設定していない場合は、以下のURLをご確認ください。
手順に従うと、Keeperのパスワードローテーションと同様に、[ローテーションする]ボタンを使用して、スクリプトを「オンデマンド」で実行してテストできます。また、「パスワードローテーション設定」でスクリプトのスケジュールを設定することもできます。
以下のPowerShellスクリプトを開いてコピーし、任意のファイル名で「.ps1」として保存します。この例では、スクリプトのファイル名を「rotate_service_cred.ps1
」としました。このスクリプトをPAMユーザーレコードの「PAMスクリプト」セクションに添付します。
このセットアップには、PowerShell 7とOpenSSHが必要です。Keeperゲートウェイホストシステムおよび対象のWindowsベースシステムにPowerShell 7をインストールしていない場合は、「Windows上のPowerShell 7」と「Windows上のOpenSSH」の手順をご確認ください。
さらに、現在のPAMユーザーレコードを選択して、「ローテーションクレデンシャル」レコードを1つ含めます。「コマンドプレフィックスで実行」のチェックボックスをオンにし、PowerShell 7の実行ファイルのパスを指定してください (必須)。
PAMユーザーレコードに「remotecomp
」と「service
」という2つのカスタムテキストフィールドを追加します。「remotecomp
」フィールドには、サービスを実行しているターゲットシステムのDNS名を入力します。この例では、「EC2AMAZ-A0GBNDM」がターゲットシステムの名前となります。管理しているWindowsサービスがKeeperゲートウェイホストに対してローカルである場合は、「remotecomp
」フィールドに「localhost」を使用します。「service
」フィールドには、サービスの「Service Name」を入力します (「Display Name」ではありません)。この例では、「Service Name」は「SNMPTRAP」となります。
以下は、結果として得られるボルト内のレコード設定となります。