SAP向けSCIM統合

Last Updated 8月 28, 2026

概要

WalkMe SCIMサービスプロバイダーでは、SCIM 2.0準拠のエンドポイントを使用して、プログラム的にユーザーやグループを管理できます。 WalkMeは、クロスドメインアイデンティティ管理システム(SCIM 2.0)仕様に基づくREST APIを公開します。

このAPIでは、次のことができます:

  • ユーザーとグループの作成、読み取り、更新、パッチ適用、削除を行います。
  • フィルターとページネーションを使用して、ユーザーとグループを検索対象にします。
  • WalkMeサービスプロバイダー、利用可能なスキーマ、リソースタイプに関する情報を取得します。

アクセス

コンソールでのアクセス:

  1. WalkMeコンソールを開きます
  2. 管理者カテゴリに移動します
  3. 統合センター」を選択します
  4. SCIM統合」を選択します。

  • WalkMeアカウントが必要です。
  • SCIM統合を作成し、認証情報を生成する必要があります。

SCIM統合の設定

組織でSCIMを有効にするには、WalkMe管理者である必要があります。

WalkMeでSCIMを有効にする

SCIMを有効にする前に、まずWalkMe管理センターでSCIM統合を作成する必要があります。

  1. SCIM統合ページで、 + Create SCIM Integrationを選択します

  2. 統合を識別するために、統合名を入力します(例:「プロダクション」または「ステージング」など)。

  3. 承認タイプを選択します。

    1. 基本認証:認証にユーザー名とパスワードを使用します。

    2. ベアラートークン:認証にベアラートークンを使用します。

  4. 「認証情報の生成」を選択します。

  1. 基本認証を選択した場合、ポップアップが開き、この統合のために生成された SCIM 認証情報が表示されます:

    1. SCIMベースURL:アイデンティティプロバイダーのSCIM設定のエンドポイントURL

    2. ユーザー名:認証用に自動生成されたユーザー名

    3. パスワード:認証用に自動生成されたパスワード

メモ

  • パスワードは1回のみ表示され、ポップアップを閉じた後は取得できません。
  • パスワードを忘れた場合、統合を削除し、新しい統合を作成する必要があります。

  1. 「完了」を選択して、WalkMeでSCIM統合の設定を完了します。

  1. ベアラートークンを選択した場合、ポップアップが開き、この統合のために生成されたSCIM認証情報が表示されます:

    1. SCIMベースURL:アイデンティティプロバイダーのSCIM設定のエンドポイントURL

    2. ベアラートークン:認証に使用されるセキュアトークン

  2. 「完了」を選択して、WalkMeでSCIM統合の設定を完了します。

SCIM 2.0 APIエンドポイントとパラメータ

このAPIは、SCIM 2.0を使用します。 詳細については、「SCIMコアスキーマ」(RFC 7643)を参照してください。

ベースURL

認証

すべてのリクエストには、HTTP基本認証またはベアラートークン認証が必要です:

  • 基本認証

    • 承認:基本<base64(ユーザー名:パスワード)>

  • ベアラートークン

    • 承認:ベアラが<生成したベアラートークン>

ユーザー管理

エンドポイント

  • /Users:ユーザーを作成(POST)またはユーザーリストを取得(GET)

  • /Users/{id}:ユーザーの取得(GET)、更新(PUT)、パッチ適用(PATCH)、または削除(DELETE)

GET/Users/

オプションのフィルタリングやページ付けを使用してユーザーリストを取得します。

URLパラメータ:

  • startIndex:最初に返されるユーザーの1ベースのインデックス。 デフォルトは1です。 (オプション)

  • カウント:(オプション)ページごとに返されるユーザー数(最大1000) デフォルトは1000です。 (オプション)

  • フィルター:SCIMフィルター式(オプション)

    • サポート対象演算子:eq、ne、co、sw、ew、gt、ge、lt、le、pr

並べ替えはサポートされていません(sortByおよびsortOrderパラメータは無視されます)。

Example response
{
    "schemas": ["urn:ietf:params:scim:api:messages:2.0:ListResponse"],
    "totalResults": 1,
    "itemsPerPage": 1000,
    "startIndex": 1,
    "Resources": [
        {
            "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
            "userName": "john.doe@example.com",
            "name": {
                "formatted": "John Doe",
                "familyName": "Doe",
                "givenName": "John"
            },
            "displayName": "John Doe",
            "active": true,
            "emails": [
                {
                    "value": "john.doe@example.com",
                    "type": "work",
                    "primary": true
                }
            ],
            "groups": [],
            "schemas": [
                "urn:ietf:params:scim:schemas:core:2.0:User",
                "urn:ietf:params:scim:schemas:extension:sap:2.0:User"
            ],
            "urn:ietf:params:scim:schemas:extension:sap:2.0:User": {
                "userUuid": "b2c3d4e5-f6a7-8901-bcde-f23456789012"
            },
            "meta": {
                "resourceType": "User",
                "location": "<BASE_URL>/Users/a1b2c3d4-e5f6-7890-abcd-ef1234567890",
                "created": "2025-12-02T11:30:23Z",
                "lastModified": "2025-12-02T11:30:23Z",
                "version": "1.0"
            }
        }
    ]
}

Response codes:

  • 200 OK: Success

  • 400 Bad Request: Invalid request or filter

  • 401 Unauthorized: Invalid credentials

  • 403 Forbidden: Access denied

  • 429 Too Many Requests: Rate limit exceeded

  • 500 Internal Server Error

POST /Users

Creates a new user.

Required attributes:

  • userName: Must be unique (case-insensitive)
  • emails: Must include at least one email with primary: true

Auto-generated attributes:

  • id: System-generated UUID
  • urn:ietf:params:scim:schemas:extension:sap:2.0:User.userUuid: Auto-generated if not provided
Example request body
{
    "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:User",
        "urn:ietf:params:scim:schemas:extension:sap:2.0:User"
    ],
    "userName": "john.doe@example.com",
    "name": {
        "formatted": "John Doe",
        "familyName": "Doe",
        "givenName": "John"
    },
    "displayName": "John Doe",
    "emails": [
        {
            "value": "john.doe@example.com",
            "type": "work",
            "primary": true
        }
    ],
    "active": true
}

Response codes:

  • 201 Created: User created successfully

  • 400 Bad Request: Missing required attributes or invalid values

  • 401 Unauthorized: Invalid credentials

  • 409 Conflict: userName already exists

  • 429 Too Many Requests: Rate limit exceeded

  • 500 Internal Server Error

GET /Users/{id}

Gets a specific user by their id (UUID).

Path parameters:

  • id: User UUID (not userName)

Response codes:

  • 200 OK: Success
  • 401 Unauthorized: Invalid credentials
  • 404 Not Found: User does not exist
  • 429 Too Many Requests: Rate limit exceeded
  • 500 Internal Server Error

PUT /Users/{id}

Replaces all user attributes. ReadOnly attributes are preserved and cannot be changed.

Path parameters:

id: User UUID (not userName)

Response codes:

  • 200 OK: User updated successfully

  • 400 Bad Request: Invalid request

  • 401 Unauthorized: Invalid credentials

  • 404 Not Found: User does not exist

  • 409 Conflict: userName conflict

  • 429 Too Many Requests: Rate limit exceeded

  • 500 Internal Server Error

PATCH /Users/{id}

Path parameters:

  • id: User UUID (not userName)

Supported operations:

  • add, replace, remove

example request body
{
    "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
    "Operations": [
        {
            "op": "replace",
            "path": "active",
            "value": false
        },
        {
            "op": "add",
            "path": "emails",
            "value": [
                {
                    "value": "secondary@example.com",
                    "type": "home"
                }
            ]
        }
    ]
}

Response codes:

  • 200 OK: User updated successfully

  • 400 Bad Request: Invalid operation or path

  • 401 Unauthorized: Invalid credentials

  • 404 Not Found: User does not exist

  • 429 Too Many Requests: Rate limit exceeded

  • 500 Internal Server Error

DELETE /Users{id}

Deletes a user.

Path parameters:

  • id: User UUID (not userName)

ユーザーが削除されると、割り当てられたすべてのグループから自動的に削除されます。

Response codes:

  • 204 No Content: User deleted successfully

  • 401 Unauthorized: Invalid credentials

  • 404 Not Found: User does not exist

  • 429 Too Many Requests: Rate limit exceeded

  • 500 Internal Server Error

Group management

EndPoints

  • /Groups: Create a group (POST) or get a list of groups (GET)

  • /Groups/{id}: Get (GET), update (PUT), patch (PATCH), or delete (DELETE) a group

GET /Groups

Gets a list of groups with optional filtering and pagination.

URL parameters:

  • startIndex:1-based index of the first group to return. Default is 1. (Optional)

  • count: Number of groups to return per page (maximum 1000). Default is 1000. (Optional)

  • filter: SCIM filter expression used to search for specific groups. Default is none. (Optional)

example request
GET /Groups?filter=displayName sw "Sales"&count=50
example response
{
    "schemas": ["urn:ietf:params:scim:api:messages:2.0:ListResponse"],
    "totalResults": 1,
    "itemsPerPage": 1000,
    "startIndex": 1,
    "Resources": [
        {
            "id": "d737377c-f8ba-4df7-b290-78b9a2bff8e9",
            "displayName": "Sales Team",
            "members": [
                {
                    "value": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
                    "$ref": "<BASE_URL>/Users/a1b2c3d4-e5f6-7890-abcd-ef1234567890",
                    "type": "User"
                }
            ],
            "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"],
            "meta": {
                "resourceType": "Group",
                "location": "<BASE_URL>/Groups/d737377c-f8ba-4df7-b290-78b9a2bff8e9", 

Response codes:

  • 200 OK: Success
  • 400 Bad Request: Invalid filter
  • 401 Unauthorized: Invalid credentials
  • 429 Too Many Requests: Rate limit exceeded
  • 500 Internal Server Error

POST /Groups

Creates a new group.

URL parameters:

  • displayName: Human-readable name (not required, not unique - multiple groups can have the same name) (Required)

  • members: Array of member objects (Optional)

example request body
{
    "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"],
    "displayName": "Engineering Team",
    "members": [
        {
            "value": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
            "type": "User"
        }
    ]
}
example response
{
    "id": "e8f9a0b1-c2d3-4567-89ab-cdef01234567",
    "displayName": "Engineering Team",
    "members": [
        {
            "value": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
            "$ref": "<BASE_URL>/Users/a1b2c3d4-e5f6-7890-abcd-ef1234567890",
            "type": "User"
        }
    ],
    "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"],
    "meta": {
        "resourceType": "Group",
        "location": "<BASE_URL>/Groups/e8f9a0b1-c2d3-4567-89ab-cdef01234567",
        "created": "2025-12-02T11:30:23Z",
        "lastModified": "2025-12-02T11:30:23Z",
        "version": "1.0"
    }
}

Response codes:

  • 201 Created: Group created successfully

  • 400 Bad Request: Invalid request

  • 401 Unauthorized: Invalid credentials

  • 429 Too Many Requests: Rate limit exceeded

  • 500 Internal Server Error

GET /Groups/{id}

Gets a specific group by UUID.

Path parameters:

  • id: Group UUID

Response codes:

  • 200 OK: Success

  • 401 Unauthorized: Invalid credentials

  • 404 Not Found: Group does not exist

  • 429 Too Many Requests: Rate limit exceeded

  • 500 Internal Server Error

PUT /Groups/{id}

Replaces all group attributes including members.

Path parameters:

  • id: Group UUID

Response codes:

  • 200 OK: Group updated successfully

  • 400 Bad Request: Invalid operation

  • 401 Unauthorized: Invalid credentials

  • 404 Not Found: Group does not exist

  • 429 Too Many Requests: Rate limit exceeded

  • 500 Internal Server Error

PATCH /Groups/{id}

Partially updates a group. Commonly used to add/remove members.

Path parameters:

id - Group UUID

Example request body: Add member to group
{
    "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
    "Operations": [
        {
            "op": "add",
            "path": "members",
            "value": [
                {
                    "value": "user-uuid-here",
                    "type": "User"
                }
            ]
        }
    ]
}
Example request body: Remove member from the group
{
    "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
    "Operations": [
        {
            "op": "remove",
            "path": "members[value eq \"user-uuid-here\"]"
        }
    ]
}

Response codes:

  • 200 OK: Group updated successfully

  • 400 Bad Request: Invalid operation

  • 401 Unauthorized: Invalid credentials

  • 404 Not Found: Group does not exist

  • 429 Too Many Requests: Rate limit exceeded

  • 500 Internal Server Error

DELETE /Groups/{id}

Deletes a group.

Path Parameters:

  • id: Group UUID

Response codes:

  • 204 No Content: Group deleted successfully

  • 401 Unauthorized: Invalid credentials

  • 404 Not Found: Group does not exist

  • 429 Too Many Requests: Rate limit exceeded

  • 500 Internal Server Error

Service provider information

EndPoints

  • /ServiceProviderConfig: Get information about the Service Provider

  • /Schemas: Get information on the schemas used for user and group management

GET /ServiceProviderConfig

Gets information about the SCIM service provider capabilities.

Example response
{
    "schemas": ["urn:ietf:params:scim:schemas:core:2.0:ServiceProviderConfig"],
    "patch": {
        "supported": true
    },
    "bulk": {
        "supported": false
    },
    "filter": {
        "supported": true,
        "maxResults": 1000
    },
    "changePassword": {
        "supported": false
    },
    "sort": {
        "supported": false
    },
    "etag": {
        "supported": false
    },
    "authenticationSchemes": [
        {
            "name": "HTTP Basic",
            "description": "Basic authentication scheme",
            "specUri": "https://www.ietf.org/rfc/rfc2617",
            "primary": true,
            "type": "Basic authentication"
        }
    ],
    "meta": {
        "location": "<BASE_URL>/ServiceProviderConfig",
        "resourceType": "ServiceProviderConfig"
    }
}

GET /Schemas

Gets information on all supported SCIM schemas.

Supported schemas:

  • urn:ietf:params:scim:schemas:core:2.0:User

  • urn:ietf:params:scim:schemas:extension:enterprise:2.0:User

  • urn:ietf:params:scim:schemas:extension:sap:2.0:User

  • urn:ietf:params:scim:schemas:core:2.0:Group

この記事は役に立ちましたか?

ご意見ありがとうございます!

Be part of something bigger.

Engage with peers, ask questions, share ideas

Ask the Community
×
×