SmartHRからOktaへSCIM連携している時にAPI等でOktaのProfileを更新するときの注意点
こちらの記事は以前noteで書いた内容のその後になります
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_English
とLastname_English
をAPIから更新出来るようにしたいので、右側の鉛筆マークを押します。
一番下のSource priority
がInherit from profile source
になっていますが、Inherit from Okta
に変更します。
必要に応じてUser permission
を変更しても良いですが、今回はSmartHRの情報が正になるのでHide
のままで良いでしょう。
User permission
はRead Only
or Read-Write
にすると、ユーザー自身がOktaの設定画面から内容を閲覧することが出来ます。
Read-Write
にするとユーザー自身で変更まで可能になります。
これで本当に完成
これでgivenNameやfamilyNameはSmartHRから、カスタム従業員項目はGAS→Okta Workflowsを経由してOktaのProfileに取り込むことが出来ました。
それでは、皆さんも良いOktaライフを🙌
Discussion