SCIM 実装について
SCIM でユーザーのプロビジョニングと管理を行う前に、Salesforce SCIM 実装に慣れます。たとえば、使用可能なサービスとスキーマを参照し、サポートされるリソース種別、エンタイトルメント、ロール、グループを確認します。
必要なエディション
| 使用可能なインターフェース: Salesforce Classic および Lightning Experience |
| 使用可能なエディション: すべてのエディション |
次の SCIM 実装の例を参照してください。
サービスへのアクセス
Salesforce SCIM 実装の機能を要求するには、GET 要求を ServiceProviderConfigs エンドポイントに送信します (次の例を参照)。
要求:
GET https://mycompany.my.salesforce.com/services/scim/v2/ServiceProviderConfigs応答:
HTTP/1.1 200 OK
...
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:ServiceProviderConfig"
],
"documentationUri": "https://help.salesforce.com/HTViewHelpDoc?id=identity_scim_overview.htm",
"patch": {
"supported": true
},
"bulk": {
"supported": false,
"maxOperations": 0,
"maxPayloadSize": 0
},
"filter": {
"supported": true,
"maxResults": 200
},
"changePassword": {
"supported": true
},
"sort": {
"supported": false
},
"etag": {
"supported": false
},
"authenticationSchemes": [
{
"type": "oauth2",
"name": "OAuth v2.0",
"description": "Authentication Scheme using the OAuth Standard",
"specUri": "http://tools.ietf.org/html/rfc6749",
"documentationUri": "https://help.salesforce.com/apex/HTViewHelpDoc?id=remoteaccess_authenticate.htm",
"primary": true
}
],
"meta": {
"location": "https://mycompany.my.salesforce.com/services/scim/v2/ServiceProviderConfig/",
"resourceType": "ServiceProviderConfig",
"version": "9d36b0f3f1a75a151ca1cfe16d99f7dc2a575b9c"
}
}
スキーマへのアクセス
各スキーマで使用可能な項目を参照するには、GET 要求を Schemas エンドポイントに送信します。次に例を示します。
要求:
GET https://mycompany.my.salesforce.com/services/scim/v2/Schemas応答:
HTTP/1.1 200 OK
...
{
"totalResults": 9,
"itemsPerPage": 9,
"startIndex": 1,
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:ListResponse"
],
"Resources": [
{
"id": "urn:ietf:params:scim:schemas:core:2.0:User",
"name": "User",
"description": "SCIM core resource for representing users",
"attributes": [
{
"name": "id",
"type": "string",
"multiValued": false,
"description": "Unique identifier for the SCIM resource as defined by the Service Provider.",
"mutability": "readOnly",
"required": false,
"caseExact": false,
"uniqueness": "server"
},
...
"meta": {
"location": "https://mycompany.my.salesforce.com/services/scim/v2/Schemas/urn:salesforce:schemas:extension:2.0",
"resourceType": "Schema"
}
}
],
"meta": {
"location": "https://mycompany.my.salesforce.com/services/scim/v2/Schemas",
"resourceType": "ListResponse"
}
}
リソース種別へのアクセス
各スキーマで使用可能なリソースとその使用目的を参照するには、GET 要求を ResourceTypes エンドポイントに送信します (次の例を参照)。
要求:
GET https://mycompany.my.salesforce.com/services/scim/v2/ResourceTypes応答:
HTTP/1.1 200 OK
...
{
"totalResults": 4,
"itemsPerPage": 4,
"startIndex": 1,
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:ListResponse"
],
"Resources": [
{
"id": "urn:ietf:params:scim:schemas:core:2.0:User",
"name": "User",
"description": "Resource type for Users. Users are things that can login.",
"endpoint": "/Users",
"schema": "urn:ietf:params:scim:schemas:core:2.0:User",
"schemaExtensions": [
{
"schema": "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User",
{
"id": "urn:ietf:params:scim:schemas:core:2.0:Group",
"name": "Group",
"description": "Resource type for Groups. Group govern some access and sharing.",
"endpoint": "/Groups",
"schema": "urn:ietf:params:scim:schemas:core:2.0:Group",
"meta": {
"location": "https://mycompany.my.salesforce.com/services/scim/v2/Groups",
"resourceType": "ResourceType"
}
},
{
"id": "urn:salesforce:schemas:extension:1.0:Entitlement",
"name": "Entitlement",
"description": "Resource type for Entitlements. Entitlements including Profiles and Permission Sets.",
"endpoint": "/Entitlements",
"schema": "urn:salesforce:schemas:extension:1.0:Entitlement",
"meta": {
"location": "https://mycompany.my.salesforce.com/services/scim/v2/Entitlements",
"resourceType": "ResourceType"
}
},
{
"id": "urn:salesforce:schemas:extension:1.0:Role",
"name": "Role",
"description": "Resource type for Roles. Roles can control sharing.",
"endpoint": "/Roles",
"schema": "urn:salesforce:schemas:extension:1.0:Role",
"meta": {
"location": "https://mycompany.my.salesforce.com/services/scim/v2/Roles",
"resourceType": "ResourceType"
}
}
],
"meta": {
"location": "https://mycompany.my.salesforce.com/services/scim/v2/ResourceTypes",
"resourceType": "ListResponse",
"version": "14d2be21268f9999b31b55fed2ae855f604af8c0"
}
}
プロファイルと権限セットへのアクセス
使用可能なプロファイルと権限セットを参照するには、GET 要求を Entitlements エンドポイントに送信します。次の例は、システム管理者プロファイルを示しています。
要求:
GET https://mycompany.my.salesforce.com/services/scim/v2/Entitlements応答:
HTTP/1.1 200 OK
...
{
"totalResults": 50,
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:ListResponse"
],
"Resources": [
{
"schemas": [
"urn:salesforce:schemas:extension:1.0:Entitlement"
],
"id": "00e4W000002Kw0XQAS",
"displayName": "System Administrator",
"type": "Profile",
"members": [
{
"value": "0054W00000CUpYBQA1",
"display": "User Name",
"$ref": "https://mycompany.my.salesforce.com/services/scim/v2/Users/0054W0..."
}
],
"meta": {
"created": "2020-10-22T09:14:27Z",
"lastModified": "2020-10-22T09:16:24Z",
"location":
...
}
}
]
}
ロールへのアクセス
使用可能なロールを参照するには、GET 要求を Roles エンドポイントに送信します。Manager ロールの例を次に示します。
要求:
GET https://mycompany.my.salesforce.com/services/scim/v2/Roles応答:
HTTP/1.1 200 OK
...
{
"totalResults": 1,
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:ListResponse"
],
"Resources": [
{
"schemas": [
"urn:salesforce:schemas:extension:1.0:Role"
],
"id": "00ERM000001...",
"displayName": "Manager",
"members": [],
"meta": {
"lastModified": "2020-10-19T08:19:50Z",
"location": "https://mycompany.my.salesforce.com/services/scim/v2/Roles/00ERM00...",
"resourceType": "Role",
"version": "7dbe0bfe915bb9e6b87dfae045280c7b2d2e7aa7"
}
}
]
}
グループへのアクセス
使用可能なグループを参照するには、GET 要求を Groups エンドポイントに送信します (次の例を参照)。
要求:
GET https://mycompany.my.salesforce.com/services/scim/v2/Groups応答:
HTTP/1.1 200 OK
...
{
"totalResults": 1,
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:ListResponse"
],
"Resources": [
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Group"
],
"id": "00GRM000001byNa2AI",
"displayName": "Stamford",
"type": "Regular",
"members": [],
"meta": {
"created": "2020-09-03T09:07:05Z",
"lastModified": "2020-09-03T09:07:05Z",
"location": "https://mycompany.my.salesforce.com/services/scim/v2/Groups/00GRM0000...",
"resourceType": "Group",
"version": "7d132cc25b599ed67dbd6290a9da095a7364333e"
}
}
]
}
この例では、GET 要求は最大 200 個の結果を返します。この最大戻り制限を上書きするには、代わりにこの GET 要求を使用します。
GET https://mycompany.my.salesforce.com/services/scim/v2/Groups/*この記事で問題は解決されましたか?
ご意見をお待ちしております。

