前回の記事では、SPP Swagger UI の基本的な使用法を紹介しました。
今回は、SPP Swagger UI を使用して SPP ローカルユーザーを作成する手順と、既存の SPP ユーザーの特定の情報を取得する手順を紹介します。
SPP は、他のアプリケーションやシステムとの連携を可能にする RESTful API を提供します。
SPP API は、One Identity のオープンソースプロジェクトでサポートされます。
※参照:OneIdentity/safeguard-api-tutorial(https://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’) |
not | not 条件 | (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 | データのページサイズ |
count | True の場合、指定されたフィルター基準に一致する項目の合計数を返します。 fields および orderby パラメーターの値は無視されます。 |
fields/orderby:取得する項目と出力順序を指定します。
パラメーター | 説明 | 例 |
---|---|---|
fields | エンティティ出力に含めるプロパティ名のリスト (カンマ区切り)。 出力から除外する場合は、リストの前に – を追加します。 | FirstName,LastName |
orderby | エンティティを並べ替えるプロパティ名のリスト(カンマ区切り)。 降順の場合は、プロパティの前に – を追加します。 | -AssetName,Name |
パラメーター | 説明 |
---|---|
q | すべての文字列フィールドで指定された値を検索します。 |
クエリーの実行
filter と fields パラメーターを使用して、先ほど作成した新しいユーザーの情報を取得してみます。
[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 に関するお問い合わせは、下記お問い合わせフォームからお問い合わせください。