Salesforce SAML JIT でユーザーデータを自動的に最新に保つ
はじめに
Salesforce のセキュリティと ID には強力な機能があります。SAML JIT(Just In Time)シングルサインオンで、ユーザーデータを自動的に作成・更新する簡単な方法を提供します。ID プロバイダーとシングルサインオンを使っている組織にとって、SAML JIT は ID プロバイダーと Salesforce やほかのサービスプロバイダーの間でユーザーデータを同期するための貴重なツールになります。この記事では、SAML JIT を使ってユーザーデータを自動更新する仕組みと方法を探ります。
SAML JIT シングルサインオンを理解する
SAML JIT シングルサインオンでは、ユーザーがログインするたびにユーザーデータが自動的に渡され、データが常に最新に保たれます。たとえば、二つの Salesforce 組織にそれぞれ異なるプロファイルを持つ Homer というユーザーを考えてみましょう。Homer が ID プロバイダー側のプロファイルで電話番号を更新すると、SAML JIT によってログインの過程でその変更がサービスプロバイダー側のプロファイルにも反映され、プラットフォーム間でデータの一貫性が保たれます。
SAML JIT を設定する

カスタム属性の設定:
ID プロバイダー(IDP)にログインし、現在のユーザーのレコードに移動します。この例では Homer の電話番号を更新します。
IDP でサービスプロバイダーの設定に移動し、接続設定を表示します。
カスタム属性までスクロールし、必要な属性を追加します。たとえば user.phone 属性を追加し、ログインのたびにユーザーの電話番号が SAML ペイロードに含まれるよう属性の置き換えを設定します。
サービスプロバイダー側のユーザーデータの更新:
サービスプロバイダーの組織に移動し、ユーザーレコードを開きます。
データを同期する必要があるユーザーを見つけ、プロファイルに必要な更新を加えます。たとえば Homer の電話番号を更新します。
シングルサインオン設定の調整:
シングルサインオン設定に移動し、ユーザープロビジョニングを有効にします。

標準の JIT ハンドラーを上書きするカスタムクラスを作って割り当て、適切な権限を持つユーザーとして実行されるようにします。
SAML JIT ハンドラーを実装する
統合開発環境(IDE)で、たとえば「STA_SamlJitHandler」という新しいクラスを作ります。
「createUser」と「updateUser」の二つのメソッドを上書きします。
「createUser」:新しいユーザーレコードを用意し、新しいユーザーのプロファイルを選びます。

「updateUser」:受け取った属性に基づいてユーザーレコードを取得し、更新します。

ログインしてユーザーデータの同期を確かめる

ユーザーがサービスプロバイダーにログインしようとすると、認証のために IDP にリダイレクトされます。ログインに成功すると、ユーザーのデータが自動的に更新・同期されます。確認には SAML Tracer のようなツールを使って SAML ペイロードを調べ、ユーザーデータが正確に送られて更新されていることを確かめられます。
まとめ
最小限のコーディングと設定で、Salesforce の SAML JIT シングルサインオンは、ID プロバイダーとサービスプロバイダーの間でユーザーデータを同期させる堅牢な仕組みを提供します。更新はユーザーのログイン時にしか起こりませんが、ユーザーデータ同期のためのバッチ処理を用意して管理する手間のない代替案になります。夜間バッチなしにリアルタイムでデータを更新したいユーザーや管理者にとって、SAML JIT は検討する価値のある効率的なソリューションです。
さらなる知見や技術のヒントをお楽しみに。チャンネル登録もお忘れなく!
お楽しみに
自信を持って Salesforce Identity の旅に出かけましょう! さらなる知見やヒントは、この www.SteveTechArc.com と YouTube チャンネル @SteveTechArc (opens in a new tab) で。チャンネル登録して、Salesforce Identity の理解を深めてください。
アーキテクト仲間やアーキテクトを目指す人たちと統合の知識を共有して、世界を変える手助けを!
STA 3.7