SCIM APIプロビジョニングの使用

本ページでは、Keeperテナントにユーザーをプロビジョニングするための一般的なAPIプラットフォームであるPostmanの使用方法を記載しました。

環境の設定

  1. Postmanを開きます。

  2. 新しいリクエストを作成します。

  • メソッド: GETPOSTDELETEPATCHPUT

  • URL: https://keepersecurity.com/api/rest/scim/v2/<node_id>

Keeperテナントのデータセンターに応じて、ドメインが変わります。

米国: keepersecurity.com 欧州: keepersecurity.eu 豪州: keepersecurity.com.au 日本: keepersecurity.jp カナダ: keepersecurity.ca 米国公的機関: govcloud.keepersecurity.us

  1. ヘッダを設定します。

キー

Authorization

Bearer YOUR_AUTH_TOKEN

Content-Type

application/scim+json

  1. ボディを設定します。

  • rawを選択し、JSON形式を選択します。


ユーザーの追加 - Users/POST

  1. HTTPメソッドとURLを設定します。

  • ドロップダウンメニューを使用してPOST にHTTPメソッドを設定します。

  • ユーザーを追加するためのURLを入力します。

https://keepersecurity.com/api/rest/scim/v2/<node_id>/Users
  1. ボディを設定します。

  • URLフィールドの下の「Body」タブをクリックします。

  • rawを選択し、JSON形式を選択します。

  • 以下のように追加するユーザーの詳細を記載したJSONボディを追加します。

{
 "schemas": [
   "urn:ietf:params:scim:schemas:core:2.0:User",
   "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
 ],
 "userName": "<user_email>",
 "displayName": "<user_name>",
 "externalId": "",
 "name": {
   "familyName": "<first_name>",        
   "givenName": "<last_name>"              
 },
 "emails":[
 	{
 		"value":"email@domain.com"
 	}
 ],
 "roles": "<role_ids>",
 "groups":[
    {
      "value":"<group_id>",
      "$ref":"http://keepersecurity.com/api/rest/scim/v2/<node_id>/<group_id>/scim/Groups",
      "display":"<team_name>"
    }
 ]
}

グループ オブジェクトの値に <group_id> を含めることで、作成時にユーザーをチームに追加することもできます。ユーザーをグループに追加する際に必要な情報は<group_id>のみで、「$ref」と「display」はオプションです。

  1. リクエストを送信します。

レスポンスHTTPコード

HTTPコード
意味

201

Created

成功

409

Conflict

メールアドレスが既に使用されている

428

Precondition Required

ライセンス数が超過

ユーザーのロック/ロック解除 - Users/PATCH

  1. メソッドをPATCHに設定し、URLを以下のように設定します。

https://keepersecurity.com/api/rest/scim/v2/<node_id>/Users/<user_id>
  1. JSONリクエストの本文を設定します。

  • rawを選択し、JSON形式を選択します。

  • 以下のように追加するユーザーの詳細を記載したJSONボディを追加します。

{
  "schemas": [
    "urn:ietf:params:scim:api:messages:2.0:PatchOp"
  ],
  "Operations": [
    {
      "op": "Replace",
      "path": "active",
      "value": "true"
    }
  ]
}

「value」を必ず「true」 (ロック解除) または「false」 (ロック) に設定してください。

  1. リクエストを送信します。


ユーザーに関する情報を取得する - Users/GET

  1. Postmanを開き、HTTPメソッドをGETに設定します。

  • ノード内のすべてのユーザーに関する情報については、以下のURLを使用します。

https://keepersecurity.com/api/rest/scim/v2/<node_id>/Users
  • 特定のユーザーに関する情報を取得するには、ユーザーIDを指定します。

https://keepersecurity.com/api/rest/scim/v2/<node_id>/Users/<user_id>
  1. リクエストを送信します。

ユーザーのフィルタリングにも対応しています。以下はユーザーIDに基づいて検索する例です。

https://keepersecurity.com/api/rest/scim/v2/<node_ID>/Users?filter=id+eq+%22<user_ID>%22

さらに、startIndexとcountを使用してページネーションを使用することもできます。

https://keepersecurity.com/api/rest/scim/v2/<node_id>/Users?startIndex=2&count=200

グループとグループ ID の取得 - Groups/GET

  1. Postmanを開いて新しいGETリクエストを作成します。

  • URLを設定します。

https://keepersecurity.com/api/rest/scim/v2/<node_id>/Groups
  1. リクエストを送信します。

予想される応答

応答は、指定されたノードの下にあるすべてのグループの詳細を含むJSONオブジェクトになります。各グループオブジェクト内の「id」フィールドは、グループIDを表します。Keeperでは、グループはKeeperチームオブジェクトによって表されます。IDは KeeperチームUIDです。

{
  "schemas": [
    "urn:ietf:params:scim:api:messages:2.0:ListResponse"
  ],
  "totalResults": 2,
  "Resources": [
    {
      "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:Group"
      ],
      "id": "group_id_1",
      "displayName": "Group 1",
      "members": []
    },
    {
      "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:Group"
      ],
      "id": "group_id_2",
      "displayName": "Group 2",
      "members": []
    }
  ]
}

単一のグループの情報を取得するには、URLの末尾にグループIDを含めます。https://keepersecurity.com/api/rest/scim/v2/<node_id>/Groups/<group_id>

チームの作成 - Groups/POST

  1. 新しいリクエストを作成します。

  • 「New」をクリックしてから、ドロップダウンメニューから「Request」を選択します。

  • すでに開いている場合は「Request」タブをクリックすることもできます。

  1. HTTPメソッドとURLを設定します。

  • ドロップダウンメニューを使用してHTTPメソッドをPOSTに設定します。

  • チームを追加するためのURLを入力します。

https://keepersecurity.com/api/rest/scim/v2/<node_id>/Groups
  1. ボディを設定します。

  • URL フィールドの下にある「Boday」タブをクリックします。

  • rawを選択し、JSON形式を選択します。

  • 以下のように作成するチームの詳細を記載したJSONボディを追加します。

{
	"schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:Group",
        "http://schemas.microsoft.com/2006/11/ResourceManagement/ADSCIM/Group"
     ],
     "displayName": "<team_name>",
	 "externalId": "dfe9166c-57f9-417d-83a6-072b5a56a4fe", 
     "members": [
		{
			"value": "<user_id>",
			"$ref": "https://keepersecurity.com/api/rest/scim/v2/<node_id>/Users/<user_id>",
			"display": "<team_name>"
		}					
	]
}

「Team Name」を任意のチーム名に置き換えます。

  1. リクエストを送信します。

  • Postmanの「Send」ボタンをクリックしてリクエストを実行します。


チームの削除 - Groups/DELETE

  1. HTTPメソッドとURLを設定します。

  • ドロップダウンメニューを使用して、HTTPメソッドをDELETEに設定します。

  • URLを設定します。

https://keepersecurity.com/api/rest/scim/v2/<node_id>/Groups/<group_id>
  1. リクエストを送信します。


チームへのユーザーの追加または削除 - Users/PATCH

  1. HTTPメソッドとURLを設定します。

  • ドロップダウンメニューを使用して、HTTPメソッドをPATCHに設定します。

  • URLを設定します。

https://keepersecurity.com/api/rest/scim/v2/<node_id>/Groups/<group_id>

<node_id>を実際のノードIDに、<group_id>を更新したいチームのIDに置き換えます。

  1. ボディを設定します。

  • URLフィールドの下の「Body」タブをクリックします。

  • rawを選択し、JSON形式を選択します。

  • 以下のようにチームに追加するユーザーの詳細を記載したJSONボディを追加します。

{
  "Operations": [
    {
      "op": "add",
      "path": "members",
      "value": [
        {
          "value": "<user_id>"
        }
      ]
    }
  ]
}

「op」の値を「add」に変更すると、ユーザーがチームに追加されます。値を「remove」に変更すると、ユーザーがチームから削除されます。

  1. リクエストを送信します。


ユーザー属性の更新 - Users/PUT

  1. 新しいリクエストを作成します。

  • 「New」をクリックし、ドロップダウンメニューから「Request」を選択します。

  • すでに開いている場合は、「Request」タブをクリックすることもできます。

  1. HTTPメソッドとURLを設定します。

  • HTTPメソッドをPUTに設定します。

  • 以下のURLを使用します。

https://keepersecurity.com/api/rest/scim/v2/<node_id>/Users/<user_id>
  1. ボディを設定します。

  • URLフィールドの下の「Body」タブをクリックします。

  • rawを選択し、JSON形式を選択します。

以下は、ユーザー情報を更新するためのJSONボディの例です。

{
  "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:User"
  ],
  "userName": "email@domain.com",
  "displayName": "<Desired display name>",
  "externalId":
  
  "name": {
    "familyName": "<First Name>",        
    "givenName": "<Last Name>"              
 },
  "emails": [
    {
      "value": "<email@domain.com>",
      "primary": true
    }
  ],
  "roles":"none" | "123,432,4324,654", 
  "groups":[
    {
      "value":"<group_id>",
      "$ref":"http://keepersecurity.com/api/rest/scim/v2/<node_id>/<group_id>/scim/Groups",
      "display":"<group_name>"}
    }
 ]
  "active": true
}

「active」フラグをfalseに変更するとユーザーアカウントがロックされ、trueに変更するとアカウントのロックが解除されます。

  1. リクエストを送信します。

  • Postmanの「Send」ボタンをクリックしてリクエストを実行します。

ユーザー属性の更新 - Users/Patch

{
  "schemas": [
    "urn:ietf:params:scim:api:messages:2.0:PatchOp"
  ],
  "Operations": [
    {
      "op": "replace",
      "path": "userName",
      "value": "<user_name>"
    },
    {
      "op": "replace",
      "path": "displayName",
      "value": "<display_name>"
    },
    {
      "op": "replace",
      "path": "externalId",
      "value": "<external_Id>"
    },
    {
      "op": "replace",
      "path": "name.familyName",
      "value": "<last_name>"
    },
    {
      "op": "replace",
      "path": "name.givenName",
      "value": "<first_name>"
    },
    {
      "op": "replace",
      "path": "active",
      "value": false
    },
    {
      "op": "add",
      "path": "groups",
      "value": [
        {
          "$ref": "https://example.com/v2/Users/1743756723210",
          "value": "<group_id>"
        }
      ]
    },
    {
      "op": "remove",
      "path": "groups",
      "value": [
        {
          "$ref": "https://example.com/v2/Users/<user_id>",
          "value": "<group_id>"
        }
      ]
    }
  ]
}

  • HTTPメソッドをGetに設定します。

  • 以下のURLを使用します。

ServiceProviderConfig / ResourceTypes (User/Groups) / Schemas

https://keepersecurity.com/api/rest/scim/v2/<node_id>/ServiceProviderConfig
https://keepersecurity.com/api/rest/scim/v2/<node_id>/ResourceTypes/User
https://keepersecurity.com/api/rest/scim/v2/<node_id>/ResourceTypes/Group
https://keepersecurity.com/api/rest/scim/v2/<node_id>/Schemas/urn:ietf:params:scim:schemas:core:2.0:User
https://keepersecurity.com/api/rest/scim/v2/<node_id>/Schemas

Last updated