1 of 24

プロビジョニングって�なにやってるの!?

SCIMの基礎からEntra IDのカタログ掲載まで

@yokotaso /

JPEMSUG × JOUG合同会 Part 2 LT

2 of 24

SCIMってなに!?

  • (ユーザー・) プロビジョニングって呼ばれているやつ
  • System for Cross-domain Identity Management
  • ユーザープロビジョニング等、ライフサイクル管理を�共通化する仕様
  • Entra IDやOktaでポチポチ設定するとユーザー同期されるやつ

3 of 24

Microsoft

4 of 24

Okta

5 of 24

OktaもEntra IDも裏側は同じ仕組み

  • 共通仕様で定められているAPI群を実装すると�いろいろなId管理サービスと連携できる�
  • SCIMの内部的な動きを説明しながら、�IdPサービスのギャラリー申請までを説明します!�
  • 基本的な連携の動作をEntra IDで説明します

6 of 24

ユーザー属性マッピングについて知ろう

ID管理システムと�連携先システムの�仕様差異を吸収

7 of 24

ユーザー属性マッピングについて知ろう

user-PrincipalName

externalId

SCIM用ID

mailNickName

userName

ログイン名

mail

emails[type eq “work”].value

Emailアドレス

IsSoftDeleted

active

使用状態

情シスがユーザー属性のマッピングの変更も可能

8 of 24

プロビジョニングの中身はJSONベースAPI

https://learn.microsoft.com/ja-jp/entra/identity/app-provisioning/use-scim-to-provision-users-and-groups

IDベースでの�ユーザーの取得

9 of 24

プロビジョニングの中身はJSONベースAPI

https://learn.microsoft.com/ja-jp/entra/identity/app-provisioning/use-scim-to-provision-users-and-groups

ユーザーの�差分更新

10 of 24

2つのプロビジョニングについて知ろう

初期プロビジョニング�プロビジョニング連携初回設定時に行われる全ユーザーのシンク処理

差分プロビジョニング�ユーザー更新時に行われる1ユーザーのみのシンク処理

11 of 24

初期プロビジョニングの動きを知ろう

Id管理システムと初連携時を初期プロビジョニングと呼びます

  1. Id管理システム側のユーザーの相手システムでの存在確認
  2. ユーザーが存在しない場合、ユーザーを新規追加
  3. ユーザーの設定が異なる場合、ユーザーを更新

12 of 24

初期プロビジョニングの動きを知ろう

初期プロビジョニング

① ユーザーの存在確認�GET /Users

Entra IDにのみ存在するユーザー同期�POST /Users

13 of 24

初期プロビジョニングの動きを知ろう

① ユーザーの存在確認�GET /Users

② Entra IDにのみ存在するユーザー作成�POST /Users

初期プロビジョニング

14 of 24

差分プロビジョニングの動きを知ろう

Id管理システムでユーザー情報が更新後、変更が同期されます

  • Id管理システム側のユーザーの相手システムでの存在確認
  • ユーザーの設定が異なる場合、ユーザーを更新
    • 削除の場合は ② の代わりに削除APIを実行

15 of 24

差分プロビジョニングの動きを知ろう

差分プロビジョニング

① ユーザーの存在確認�GET /Users?id=0190bad9-81e7-7f49

差分が存在するユーザー更新�PATCH /Users/0190bad9-81e7-7f49

16 of 24

差分プロビジョニングの動きを知ろう

差分プロビジョニング

① ユーザーの存在確認�GET /Users?id=0190bad9-81e7-7f49

② 差分が存在するユーザー更新�PATCH /Users/0190bad9-81e7-7f49

17 of 24

差分プロビジョニングの動きを知ろう

差分プロビジョニング

① ユーザーの存在確認�GET /Users?id=0190bad9-81e7-7f49

③ ユーザー削除�DELETE /Users/0190bad9-81e7-7f49

② 差分が存在するユーザー更新�PATCH /Users/0190bad9-81e7-7f49

18 of 24

ギャラリー 申請への道

ギャラリーとは?

プロビジョニングをかんたん設定できるテンプレートの仕組みギャラリーが用意されていればポチポチして終わり�なければ、プロビジョニングの設定を手作業で行う(苦行)��各社に申請する必要があるが、申請フローはほぼ同じ

19 of 24

Microsoft

20 of 24

Step1: 自動テストツールでシナリオをパスする

各社がプロビジョニング・シナリオをテストできるツール提供している

申請を行う前にテストツールのパスが必要

GET /Users

GET /Users/{id}

POST /Users

PUT /Users�DELETE /Users/{id}

PATCH /Users/{id}

21 of 24

Microsoft Entra ID

Entra ID SCIM Validatorでテストできる

22 of 24

Okta NIO

Braze MeterでOkta用のテストを実行できる

23 of 24

Step2: 申請する

① 会社の申請フォームから登録依頼をする

② 先方の方で動作確認してもらう (+メールでのやり取り)

�③ 公開される

24 of 24

ガチ実装する立場になってしまった場合は...

  • 認証周りの設計
  • ユーザー属性のマッピング
  • 各Id管理システムの差異
  • 参考になるリンク集�

ブログ記事を参考にしてみてね