【Safeguard for Privileged Passwords(SPP)】APIで操作する(Swagger UI 利用編 ②)

前回の記事では、SPP Swagger UI の基本的な使用法を紹介しました。

今回は、SPP Swagger UI を使用して SPP ローカルユーザーを作成する手順と、既存の SPP ユーザーの特定の情報を取得する手順を紹介します。

SPP は、他のアプリケーションやシステムとの連携を可能にする RESTful API を提供します。
SPP API は、One Identity のオープンソースプロジェクトでサポートされます。
※参照:OneIdentity/safeguard-api-tutorialhttps://github.com/OneIdentity/safeguard-api-tutorial

SPP Swagger UI での SPP ローカルユーザーの作成

SPP Swagger UI で SPP ローカルユーザーを作成するためには、core サービスの Users エンドポイントを使用します。

core サービスの呼び出し

Web ブラウザを開き、以下にアクセスします。

https://<SPPネットワークアドレス>/service/core/swagger/index.html

認証

ここでは(この後、管理ユーザーを作成するため)「権限許可者」アクセス許可権限を持つユーザーで認証します。

「権限許可者」アクセス許可権限を持つユーザーは、「ユーザーの作成」および「ユーザーへのアクセス許可の管理」を行うことができます。

「ユーザー」アクセス許可権限を持つユーザーは、「ユーザーの作成」は可能ですが「アクセス許可の管理」は行えません。

* SPP の「アクセス許可」権限について、詳しくは こちら をご参照ください。

Swagger UI ページの上部にある Authorize ボタンをクリックします。

Authorize をクリックします。

SPP のログイン画面が表示されます。
「権限許可」アクセス許可権限を持つユーザーでログインしてください(例:Bootstrap Admin)。

Close ボタンをクリックして、画面を閉じます。

ユーザーの作成

Users エンドポイントを見つけてクリックします(画面の一番下までスクロールしてください)。

POST /v4/Users をクリックして展開します。

オプションが表示されます。

User to create[Schema] をクリックし、ユーザーを作成するために必要なフィールドとその説明を確認します。

Name が必須入力であることが分かります。

AdminRoles> [ . . . ] をクリックしてみてください。

AdminRoles には、ユーザーに付与する管理者ロール名(= アクセス許可名)の配列を列挙すればよいことが分かります。

> Array [ 10 ] をクリックしてみてください。

利用可能な管理者ロール名(= 配列に列挙可能なアクセス許可の識別名)のリストが表示されます。

管理者ユーザーを作成したい場合は、AdminRoles に付与したいロール名(=アクセス許可)を定義します。
(アクセス許可権限を持たない)標準ユーザーを作成する場合は、AdminRoles は不要です。

今回は例として、権限許可者資産アプライアンスセキュリティポリシーユーザー の5つのアクセス許可権限を持つユーザーを作成してみます。

SPP の「アクセス許可」権限について、詳しくは こちら をご参照ください。

[Try it out]をクリックします。

User to create が入力可能フィールドに変わります。

User to create フィールドには、[Try it out] をクリックする前の Example Value の値がそのまま表示されます。
ほとんどのフィールドの値(コロン:の右側)は “string” となっています。

この例では、User to create フィールドを下の内容に変更し、Execute ボタンをクリックします。

{
  "AdminRoles":[
    "GlobalAdmin",     //権限許可者
    "AssetAdmin",      //資産
    "ApplianceAdmin",  //アプライアンス
    "PolicyAdmin",   //セキュリティポリシー
    "UserAdmin"    //ユーザー
  ],
  "Name": "demouser01",  //ユーザー識別名
  "PrimaryAuthenticationProvider": {
    "Id": -1,
  }
}

Server Response を確認します。

Code の値が 200番台であれば成功です。

作成されたユーザーに関する情報が Response body に JSON 形式で表示されます。
次のパスワード設定作業で必要となるため、”Id” の値を確認してください。

これでユーザー(この例の場合は、demouser01)が作成されました。

パスワードの設定

次に、先ほど作成したユーザー(demouser01)にパスワードを設定します。

PUT /v4/Users/{id}/Password を見つけてクリックします。

オプションが表示されます。
id という (path) パラメーターが見つかります。

id値を指定することで、ユーザーが特定されます。

[Try it out]ボタンをクリックし、id に前の作業で確認した Id値を入力します。
この例の場合は、52 です。

ここでは、このユーザーのパスワードを DemoAdmin123 と設定します。
Password to set for this user フィールドに “DemoAdmin123” と入力し、Execute ボタンをクリックします。

成功を意味する 204(200番台の Code)が表示されます。(Response Body は表示されません。)

これでユーザーの作成とパスワードの設定が完了しました。

Web ブラウザで SPP の Web GUI を開き、新しく作成したユーザー(この例の場合は、ユーザー名 = demoadmin01 / パスワード = DemoAdmin123)が SPP にログインできることを確認してみてください。

SPP Swagger UI での SPPユーザー情報の取得

次に、SPP Swagger UI で 既存の SPP ユーザーの特定の情報を取得してみます。

GET /v4/Users を見つけてクリックします。

オプションが表示されます。
このエンドポイントには、多くのパラメーターが表示されます。

ほとんどはクエリ(query)パラメーターです。

クエリ(query)パラメーターの使用

クエリパラメーターは、SPP API の多くの GET エンドポイントで使用されます。

filter:結果をフィルターします。

オペレーター説明
eq等しい (equal to)Name eq ‘George
ieq大文字小文字を区別せず等しい (case-insensitive equal to)Name ieq ‘George’
sw先頭一致 (starts with)Name sw ‘Geo’
isw大文字小文字を区別せず先頭一致 (case-insensitive starts with)Name isw ‘Geo’
ew末尾一致 (ends with)Name ew ‘rge’
iew大文字小文字を区別せず末尾一致 (case-insensitive ends with)Name iew ‘rge’
ne等しくない (not equal to)LastName ne ‘Bailey’
gtより大きい (greater than)Id gt 10
ge以上 (greater than or equal to)Id ge 10
ltより少ない (less than)Id lt 10
le以下 (less than or equal to)Id le 10
and複数条件の and 組み合わせ(Id eq 1) and (Name eq ‘Angels’)
or複数条件の or 組み合わせ(Id eq 1) or (Name eq ‘Bedford’)
notnot 条件(Id eq 1) and not (Name eq ‘Potters’)
contains文字列が部分文字列を含むDescription contains ‘greedy’
icontains文字列が大文字小文字を区別せず部分文字列を含むDescription contains ‘greedy’
in事前定義されたセット内のプロパティ値UserName in [ ‘bob’, ‘sally’, ‘frank’ ]

page/limit/count:ページングの条件を指定します。

パラメーター説明
pageデータのどのページを返すか(最初のページは 0)
limitデータのページサイズ
countTrue の場合、指定されたフィルター基準に一致する項目の合計数を返します。
fields および orderby パラメーターの値は無視されます。

fields/orderby:取得する項目と出力順序を指定します。

パラメーター説明
fieldsエンティティ出力に含めるプロパティ名のリスト (カンマ区切り)。
出力から除外する場合は、リストの前に – を追加します。
FirstName,LastName
orderbyエンティティを並べ替えるプロパティ名のリスト(カンマ区切り)。
降順の場合は、プロパティの前に – を追加します。
-AssetName,Name
パラメーター説明
qすべての文字列フィールドで指定された値を検索します。

クエリーの実行

filterfields パラメーターを使用して、先ほど作成した新しいユーザーの情報を取得してみます。

[Try it out]ボタンをクリックします。

filter パラメーターに次のように入力します:

Name eq '<ユーザー名>'
//この例の場合は、Name eq 'demouser01' と入力します。

fields パラメーターに次のように入力します:

Id,IdentityProvider.Name,Name,AdminRoles

[Execute] ボタンをクリックします。

Response body に結果が表示されます。
クエリー条件に合致した結果のうち、指定したパラメーターのみが結果として表示されました。

クエリパラメーターを指定することで、必要なデータのみを高速に取得することができます。

さいごに

SPP は、分かりやすく使いやすい Web GUI を提供しますが、一部の管理作業は SPP API を使用する方が、より効果的に行うことができます。また、既存システムとの連携や SPP の運用業務を自動化したりする場合にも SPP API を活用することができます。

SPP API を学習するために役立つ API チュートリアルやハンズオンラボ、Powershell や bash で使用できるスクリプトリソースも用意されています。評価版でお試しください。

SPP 製品紹介ページ

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

SPP 評価版

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

お問い合わせ

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

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

最新記事

おすすめ記事

  1. 「リモートデスクトップの操作が遅い!」の原因を高速特定!ntopngによる輻輳原因の究明アプローチを実例でご紹介

  2. フリーWi-Fiに潜む悪魔の双子(エビルツイン)とは。加害者・被害者にならないために知るべきこと

  3. 「疑わしい」Windowsイベントログを抽出して、イベントログを活用する

製品カテゴリー

JTC IT用語集
TOP