🦔

SmartHRからOktaへSCIM連携している時にAPI等でOktaのProfileを更新するときの注意点

2022/10/14に公開

こちらの記事は以前noteで書いた内容のその後になります

https://note.com/jousysmiler/n/n000300e1f7d0

GAS×Okta WorkflowsでOktaのProfileを更新しようとしていたらエラー吐いてた

はい、あの記事の内容だけではダメだったってことですね。

状況

OktaでProfileのSourceがSmartHRになっているとProfileの項目にロックが掛かり、手動やAPIからの更新が出来なくなるみたいです。
そりゃそうか。

ただSmartHRからのSCIM連携は使いたい、でもカスタム従業員項目もOktaに連携させたい。ってことで模索した結果になります。

Profileの項目ごとにSourceを選べる

やりたい事としては以下の通りです。

  • SmartHRからのSCIM連携は継続しておきたい
  • 特定のカスタム従業員項目はAPIでOktaのProfileに反映させたい

つまりOktaのProfile項目の中で、APIで更新したい項目だけSmartHRからの連携を切りたいのです。
そんな都合の良い設定がOktaにあったのでやっていきます(さすがのOkta)

まずはOktaの管理画面からDirectory > Profile Editor > User (default)に入ります。
今回はFirstname_EnglishLastname_EnglishをAPIから更新出来るようにしたいので、右側の鉛筆マークを押します。

一番下のSource priorityInherit from profile sourceになっていますが、Inherit from Oktaに変更します。

必要に応じてUser permissionを変更しても良いですが、今回はSmartHRの情報が正になるのでHideのままで良いでしょう。

User permissionRead Only or Read-Writeにすると、ユーザー自身がOktaの設定画面から内容を閲覧することが出来ます。
Read-Writeにするとユーザー自身で変更まで可能になります。
https://hogehoge.okta.com/enduser/settings

これで本当に完成

これでgivenNameやfamilyNameはSmartHRから、カスタム従業員項目はGAS→Okta Workflowsを経由してOktaのProfileに取り込むことが出来ました。

それでは、皆さんも良いOktaライフを🙌

Discussion