SCIMの概要をまとめる。
SCIMとは
- System for Cross-domain Identity Managementの略称。
- IDプロビジョニング(複数システム/サービス間でIDの整合性を保てるように管理する)のためのスキーマとプロトコルを定義した仕様。
SalesForce ユーザー情報取得例
- リクエスト
curl -i -X GET \
-H "Authorization:Bearer {access_token}" \
'https://{salesforce_org_url}/services/scim/v2/Users/{user_id}'
※アクセストークンはOAuth 2.0 JWT ベアラーフローなどで事前取得すること。
- レスポンス
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User", // 属性定義
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
],
"id": "0123456789xxxxxxxx",
"userName": "tanaka.taro@freedom-man.com",
"externalId": "SSO12345",
"name": {
"formatted": "TANAKA TARO",
"familyName": "TANAKA",
"givenName": "TARO"
},...
}
SCIM 標準スキーマ
属性 | 説明 |
---|---|
id | サービスプロバイダが定義するSCIMリソース識別子 |
externalId | プロビジョニングシステムが定義するリソース識別子 |
meta | リソースのメタ属性。リソースタイプ、リソース作成日時など。 |
SCIM 対応HTTPメソッド
メソッド | 説明 |
---|---|
GET | SCIMリソースを取得・検索する。 |
POST | SCIMリソースを登録する。 |
PUT | SCIMリソースを更新する。全属性更新。 |
PATCH | SCIMリソースを部分的に更新する。 |
DELETE | SCIMリソースを削除する。 |
認証・認可
- OAuth2.0 Bearerトークンの使用を推奨