【Safeguard for Privileged Passwords(SPP)】APIで操作する(safeguard-ps 利用編 ②)

前回の記事では、SPP API を PowerShell から操作できる safeguard-ps モジュールの使用方法を紹介しました。

今回は、safeguard-ps モジュールを使用して SPP でパスワード管理を行いたいシステムとそのアカウントを登録してみます。

safeguard-ps モジュールは、One Identity のオープンソースプロジェクトでサポートされます。
※参照:OneIdentity/safeguard-pshttps://github.com/OneIdentity/safeguard-ps

はじめに(事前作業)

作業を進める前に、次のことを行ってください。

  1. 管理対象システムとアカウントの準備
  2. safeguard-ps モジュールのインストールとインポート
  3. SPP API への接続

管理対象システムとアカウントの準備

動作確認に利用できるシステム(Windows サーバー、Linuxコンピューターなど)とそのシステム上にパスワードを変更しても構わないアカウントをご準備ください。

作業を開始する前に、SPP に追加するシステムが適切に構成されていることが必要です。詳しくは「SPP 管理者ガイド」の「16. 管理のためのシステム準備」を参照してください。

この記事では、Windows Server 2022 を管理対象システムとして SPP に登録します。

サーバー識別名MyTestServer01
サービスアカウントAdministrator
(SPP でパスワード管理を行う)アカウントTestAdmin

safeguard-ps モジュールのインストールとインポート

safeguard-ps モジュールのインストールがまだの場合は、前回の記事 を参照して、safeguard-ps モジュールをインストールしてください。

念のため、インストールが完了していることを確認します。
Powershell コマンドを管理者として実行し、次のコマンドを実行します。

Get-Module safeguard-ps -ListAvailable

safeguard-ps モジュールのインストールが完了している場合、次のような結果が表示されます。

Version は、インストールしたバージョンにより異なります。ご利用環境に合わせて読み替えてください。

必要に応じて実行モードを変更します。次のようなコマンドを実行し、Y を入力します。

Set-ExecutionPolicy Bypass -Scope Process

ここでは、Scope の対象を Process としていますが、ご利用の環境に合わせて変更してください。

(safeguard-ps モジュールのインポートがまだの場合は)次のコマンドを実行して、safeguard-ps モジュールをインポートします。

Import-Module safeguard-ps

インポート後に Get-Module safeguard-ps コマンドを実行すると上のような結果が表示されます。

SPP API への接続

safegaurd-ps モジュールのインポートが完了したら、Connect-Safeguard コマンドを実行して、SPP API へ接続します。

次のコマンドを実行してください(ここでは、アクセストークンをセッションに保持する方法で SPP API を使用します)。

Connect-Safeguard -Insecure

アクセストークンをセッションに保持したくない場合は、-NoSessionVariable パラメーターを使用してください。詳しくは 前回の記事 を参照してください。

ご利用の環境に合わせて、プロンプトに応答してください。

Username プロンプトで、(少なくとも)資産アクセス許可権限を持つユーザー名を入力してください。以降の作業で、資産(=管理対象システム)を追加します。

この例では、 local プロバイダー(= SPP内蔵データベース)に存在する AssetAdmin01 という名前の SPP 管理ユーザーで SPPDEMO という名前の SPP アプライアンスに接続しています。実際のご利用環境に合わせて読み替えてください。

これで SPP API を PowerShell から利用する準備ができました。

safeguard-ps を使用した資産とアカウントの作成

ここからは、safeguard-ps モジュールを使用して、SPP に資産(=管理対象システム)とそのアカウントを作成していきます。

パーティションの作成

最初に、パーティションを作成します。

SPP の「パーティション」とは、資産を管理するためのコンテナのことです。「パーティション」について、詳しくは 「SPP 管理者ガイド」を参照してください。

パーティションの作成には、New-SafeguardAssetPartition コマンドレットを使用します。

次のコマンドを実行して、このコマンドレットの使い方を確認してください。
Get-Help New-SafeguardAssetPartition -full

ここでは例として、Test Servers という名前のパーティションを作成します。(名前は自由に変更してください。)次のコマンドを実行します。

New-SafeguardAssetPartition "TestServers" -Description "テストサーバー"

次のような結果が表示されます。

新しいパーティションが作成されました。

資産の作成

次に、さきほど作成したパーティションに資産(=管理対象システム)を作成します。

SPP の「資産」とは、SPP が管理するコンピューター、サーバー、ネットワークデバイス、ディレクトリ、アプリケーションなどのことです。詳しくは 「SPP 管理者ガイド」を参照してください。

資産の作成には、New-SafeguardAsset コマンドレットを使用します。

次のコマンドを実行して、このコマンドレットの使い方を確認してください。
Get-Help New-SafeguardAsset -Full
-Platform パラメーターが必須であることが分かります。

SPP で利用可能なプラットフォームについては、次のコマンドを実行して確認してください。
Get-SafeguardPlatform -Fields ID,PlatformType,DisplayName

ここでは例として、MyTestServer01 という名前で Windows Server プラットフォーム資産を作成します。(名前とプラットフォームは、ご利用環境に合わせて変更してください。)

New-SafeguardAsset -AssetPartition "TestServers" -Platform "Windows Server" -DisplayName MyTestServer01 –NetworkAddress <IPアドレス>

このコマンドを実行すると、 Windows Server にマッチするプラットフォームが 3つ見つかります。ここでは、547 と入力して Enter キーを押します。

表示される内容は、指定したプラットフォームにより異なります。
この例では、-Platform パラメーターに、プラットフォーム表示名を指定しましたが、プラットフォームID(この例の場合は 547)を直接指定することもできます。

次にサービスアカウントの認証情報タイプを問うプロンプトが表示されます。
この例の場合は、1(ユーザー名とパスワードを使用する)と入力して Enter キーを押します。

サービスアカウントの名前とパスワードを入力し、Enter キーを押します。

ご利用環境に合わせてプロンプトに応答してください。

ここまでの作業で次のような画面になります。

資産(この例の場合は、MyTestServer01 という名前の Windows Server プラットフォーム資産)が作成されました。

アカウントの作成

次に、先ほど作成した資産(この例の場合は MyTestServer01)にアカウントを作成します。

アカウントの作成は、New-SafeguardAssetAccount コマンドレットを使用します。

次のコマンドを実行して、このコマンドレットの使い方を確認してください。
Get-Help New-SafeguardAssetAccount -Full
-ParentAsset パラメーターと -NewAccountName パラメーターが必須であることが分かります。

ここでは例として、TestAdmin というアカウントを作成します。

New-SafeguardAssetAccount MyTestServer01 TestAdmin

TestServers というパーティションの MyTestServer01 という資産に、TestAdmin というアカウントが作成されました。

次のコマンドを実行してください。

Get-SafeguardAssetAccount -Fields "Asset.Name,Name,HasPassword" MyTestServer01 TestAdmin

次のような結果が表示されるはずです。

HasPassword 値が False となっており、作成したアカウントにはパスワードが設定されていないことが分かります。

アカウントパスワードの設定

ここでは、アカウントにパスワードを設定してみます。

「パスワードの設定」は、SPP の内蔵データベースに保存されている アカウント情報にパスワードを設定します。実際の管理対象システムのアカウントのパスワードを変更するものではありません。

アカウントパスワードの設定は、Set-SafeguardAssetAccountPassword コマンドレットで行えます。

次のコマンドを実行して、このコマンドレットの使い方を確認してください。
Get-Help Set-SafeguardAssetAccountPassword -Full
-AccountToSet パラメーターが必須であることが分かります。

ここでは先ほど作成した、TestAdmin アカウントに現在のパスワードを設定します。
次のコマンドを実行し、NewPassword プロンプトで現在のパスワードを入力して Enter キーを押します。

Set-SafeguardAssetAccountPassword MyTestServer01 TestAdmin
NewPassword: **********************

パスワードが設定されました。

もう一度、次のコマンドを実行してください。

Get-SafeguardAssetAccount -Fields "Asset.Name,Name,HasPassword" MyTestServer01 TestAdmin

今度は、HasPassword 値が True となっており、作成したアカウントにパスワードが設定されたことが分かります。

アカウントパスワードの確認

先ほど設定したアカウントパスワード(= SPPに保存したアカウントのパスワード)が実際のアカウントパスワード(=管理対象システムに存在するアカウントのパスワード)と一致しているかどうかを確認してみます。

パスワードの確認は、Test-SafeguardAssetAccountPassword コマンドレットで行えます。

次のコマンドを実行して、このコマンドレットの使い方を確認してください。
Get-Help Test-SafeguardAssetAccountPassword -Full
-AccountToUse パラメーターが必須であることが分かります。

ここでは、TestAdmin アカウントのパスワードを確認します。

次のコマンドを実行します。

Test-SafeguardAssetAccountPassword -AccountToUse TestAdmin

ターミナルの上部にプログレスバーが表示されます。処理が完了するまでお待ちください。

パスワードが一致している場合、Success と表示されます。

アカウントパスワードの変更

アカウントパスワードを強制的に変更することもできます。

アカウントパスワードの変更は、Invoke-SafeguardAssetAccountPasswordChange コマンドレットで行えます。

次のコマンドを実行して、このコマンドレットの使い方を確認してください。
Get-Help Invoke-SafeguardAssetAccountPasswordChange -Full
-AccountToUse パラメーターが必須であることが分かります。

ここでは、TestAdmin アカウントのパスワードを変更します。
次のコマンドを実行してください。

ご注意ください!!
実際のアカウントパスワード(=管理対象システムに存在するアカウントのパスワード)が変更されます。
変更後のパスワードは SPP で 申請/承認ワークフローを介してのみ取得できます。

Invoke-SafeguardAssetAccountPasswordChange MyTestServer01 TestAdmin

ターミナルの上部にプログレスバーが表示されます。処理が完了するまでお待ちください。

TestAdmin のパスワード変更に成功しました。

今回の試験に使用したアカウントで変更前のパスワードを使用して、対象のシステムにログインしてみてください。変更前のパスワードでシステムにログインできないことが確認できます。

その他のコマンドレット

資産とアカウントを管理するために使用できるコマンドレットは、他にもたくさんあります。
次のコマンドを実行して、結果を確認してください。

Get-SafeguardCommand Asset

さいごに

今回は、safeguard-ps モジュールを使用して、SPP に資産とアカウントを作成する方法を紹介しました。今回紹介した以外にもたくさんのコマンドレットが用意されています。お試しください。

safegaurd-ps モジュールについて詳しくは、OneIdentity/safeguard-pshttps://github.com/OneIdentity/safeguard-ps)をご参照ください。

SPP 製品紹介ページ

SPP には、この記事で紹介した以外にも機能があります。
その他の特長や機能については、それぞれの製品紹介ページをご参照ください。

SPP 評価版

SPP の評価版は、仮想アプライアンス(OVAまたはVHDXファイル)で提供いたします。
SPP の評価版では、すべての機能を 90日間無料でご利用いただけます。
評価版の利用をご希望いただく場合は、下記お問い合わせフォームから評価ライセンスをお申し込みください。

お問い合わせ

購入前の SPP に関するお問い合わせは、下記お問い合わせフォームからお問い合わせください。

こんな記事も読まれています

最新記事

おすすめ記事

  1. 脆弱性対策は喫緊の課題 医療機関への攻撃事例から学ぶ、対策を急ぐために必要なこととは

  2. 【Checkmkプラグイン活用】第1回 Dockerコンテナ監視

  3. VPNでのリモート接続 不正にアクセスされていないか記録・調査していますか?

製品カテゴリー

JTC IT用語集
TOP