📑

Google Workspace ⇔ Okta で入退社のアカウント管理ちょびっと楽にする

2022/12/15に公開
2

なにをやるか

  • GWSとOktaをProvisioning連携する
  • Provisioning連携の仕様を踏まえて、アカウント管理をどうするか考える

設定

前提

  • Okta と Google Workspace(以降GWS) がSAML連携されていること

手順

  1. Okta > Applications > Google Workspace より、Provisioning のタブを開く。
  2. Configruration API Integration をクリックする。
  3. Enable API integration に✔
  4. Authenticate with Google Workspace > 管理者アカウントでGoogle Workspace へサインイン
  5. Okta が Google アカウントへのアクセスをリクエストしています」で「許可」をクリック
  6. 以下は必要に応じて✔をつける
    1. Push Empty Values for Custom Fields
      1. 恐らくGWSで設定されているカスタムフィールドをOktaにPUSHする場合は必要になる。
      2. 未検証のため詳細不明
    2. Import Groups
      1. Google Workspace からグループとユーザも一緒に同期される
      2. OktaのGWSアプリの画面 > Importタブから後で同期することもできる
  7. 以上で完了

GWS → Oktaへの挙動

ユーザ関連

  • インポート方法は2種類
    • 定期的に実行させる方法で、OktaのProvisioningタブ > To Okta から設定可
    • 手動で実行する方法で、OktaのImportタブ > Import Now から可能
      • このときGWSのグループも一緒に連携される。
  • インポートされる条件
    • GWSでアクティブな状態のユーザのみ同期される。
    • つまり、停止されているアカウントには適用されない。
  • インポートされたら、OktaではStagedになる。Activate が必要になる。
  • ユーザの停止・削除
    • GWSで停止してもOktaは停止されない
    • 削除も同様にOktaでユーザが削除されるわけではない。

グループ関連

  • インポート方法は2種類
    • Provisioningの時に「Import Groups」にチェックをつけてインポートする方法
    • ユーザのインポートと同様に、手動で実行する方法
    • グループの編集・削除はできない、かつGWSグループはアイコンが変わる。
  • その他挙動
    • GWSグループがインポートされてもOkta上で編集できるわけではない。
    • 当然ですが、GWS側でSSO(SAML)の設定から除外されたアカウントはインポートされない。

Okta → GWSへの挙動

設定

  • 諸々有効化する必要あり

ユーザ関連

  • インポートについて
    • ユーザはOkta上でGWSアプリにAssignすると追加される。
    • ユーザをGWSにAssignすると、以下のような画面が表示され、ライセンスの設定などが可能
      • ただし、特段✔をつけなくてもライセンスが付与されたため詳しい挙動は不明
  • ユーザの停止・削除
    • OktaユーザをDeactivateすると、GWS側でアカウントが停止される。
    • Oktaユーザを削除してもGoogle では削除されない。

グループ関連

  • OktaのGWSアプリ画面 > Push GroupsタブよりGWSへOktaのグループを同期できる。

    • すべてのOktaグループをPushするわけではなく、指定できる。
    • このときOktaのグループにAssignされているユーザがGWSに存在しない場合、ユーザはインポートされない。
    • Oktaグループに追加するとGWSへPushされたグループにも自動で追加される。

    Untitled

Okta, GWSのアカウント管理どうすんねん!?

入社時

  1. Oktaにアカウント作成する
  2. 定期実行でOkta → GWSへアカウントの連携

退職時

  1. GWS側でデータ移行が必要なら実施
  2. Oktaでアカウント停止 → 削除
  3. GWSでアカウント削除

さいごに

検証はいくつかアカウント・グループ作って1つずつ見てめちゃ時間かかりましたけど、触るのが一番。
そして、アカウント管理が"ちょびっと"楽になるとは言いつつ、

  • 退職時にデータ移行の作業は別途必要
  • アカウント削除は連携されない
    ということを考えると、あまり楽になってはいない…
  • OktaのEvent HooksからAWSなどで構築されたシステムを経由してGWSにAPIを実行する
  • 何かしら自動化ツールつかう(Workatoとかできるのか?って思ったりする)
    どっちもできるか知らないしお金はかかるんだが、月10~20人入って来る上に退職も毎月数人います、とかだとやってらんないので、自動化する必要がありそうな気がします。

参考

補足

2022/12/19 追記

  • Oktaユーザのカスタム項目はApplications > GWS > Provisioning から項目のマッピングが可能
    • ただし、Okta → GWSへの同期がCreate or Updateのタイミングなので、先にマッピングを設定してからユーザの情報を編集すれば、Okta → GWSへの同期が可

後日談

2022/12/27 追記

Okta 上でGWSのAssignが解除される

実際に設定したら、Okta とGWSどちらもユーザアカウントがあると「プロビジョニング(Provision User というボタン) しろ」と怒られる。

これを実行しないと、Okta上でGWSのアプリからAssign が解除されてユーザ側ではGWS関連のアプリが表示されなくなる。

Provision User を実行すると次は再サインインを求められるが、Okta Verify を適切に設定できていないユーザはスマートフォンからGoogle にサインインできない状態となり、ちょっと焦った。

以下の手順を案内して事なきを得る。

  1. PCでOkta にサインインし、Okta ダッシュボードへアクセスします。
  2. 右上の自身のアカウント > 設定 の順にクリックします。
  3. Okta Verify の項目でスマートフォンが登録されている場合、削除します。
  4. 同じ画面からOkta Verify の「他のセットアップ」を開きます。
  5. QRコードが表示されるので、お持ちのスマートフォンでOkta Verify を開き、QRコードを読み取ってください。
  6. スマホのOkta Verify でアカウントが表示されたら設定完了です。
  7. スマホからGmailにアクセスできるかご確認ください。

自動化できていなかった部分の対応

退職時にデータ移行の作業は別途必要でしたが、Okta Workflows で実行してあげれば、Google Drive の停止とOkta アカウントのDeactivate も併せて実行できるので、少し楽。

また、移行はGWSアカウントが停止されても継続されること、移行が実行され完了されると移行元と移行先のアカウントにメールが送信される。
移行結果を確認する方法はないので、完全にすべてのデータ移行されていることを確認する必要がある場合は適さないかもしれない。

Discussion

thdythdy

退職時にデータ移行の作業は別途必要

Okta Workflowsに用意されているテンプレートにGoogle Driveのデータ移行を行うものがあるので自動化の選択肢のひとつになるかもしれません。

セットアップドキュメント - GitHub
チュートリアル - YouTube

たにあんたにあん

ありがとうございます!
知りませんでした!Workflows の方はあまり触れてなくて全然知識ないので、これからですね・・・