Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Okta のグループ運用を軽くするためにやったこと
Search
shimosyan
April 27, 2022
Technology
4
2.2k
Okta のグループ運用を軽くするためにやったこと
第3回 Okta 勉強会 で発表した内容です
https://okta.connpass.com/event/244426/
shimosyan
April 27, 2022
Tweet
Share
More Decks by shimosyan
See All by shimosyan
入社したばかり情シスがClaudeを使って爆速で社内システムを開発した話
shimosyan
0
420
第9回 情シス転職ミートアップ - わたしのミッションとLayerXに決めた理由
shimosyan
0
560
[JNUC2023] Benefits of Single Sign-On with Jamf Pro and Okta Integration
shimosyan
0
190
macOSの更新を促す通知機能 を実装してみた
shimosyan
2
1.1k
Oktaの管理者権限を適切に移譲してみた
shimosyan
3
720
Jamf Pro で Okta からユーザー情報や所属グループを LDAP を使って取得してみた
shimosyan
2
1.6k
Serverless技術勉強会#2 Chatwork登壇資料
shimosyan
2
1.2k
Other Decks in Technology
See All in Technology
普通のチームがスクラムを会得するたった一つの冴えたやり方 / the best way to scrum
okamototakuyasr2
0
110
Firestore → Spanner 移行 を成功させた段階的移行プロセス
athug
1
500
5年目から始める Vue3 サイト改善 #frontendo
tacck
PRO
3
230
20250905_MeetUp_Ito-san_s_presentation.pdf
magicpod
1
100
AWSを利用する上で知っておきたい名前解決のはなし(10分版)
nagisa53
10
3.2k
Claude Code でアプリ開発をオートパイロットにするためのTips集 Zennの場合 / Claude Code Tips in Zenn
wadayusuke
5
1.4k
エンジニアが主導できる組織づくり ー 製品と事業を進化させる体制へのシフト
ueokande
1
100
自作JSエンジンに推しプロポーザルを実装したい!
sajikix
1
190
開発者を支える Internal Developer Portal のイマとコレカラ / To-day and To-morrow of Internal Developer Portals: Supporting Developers
aoto
PRO
1
480
COVESA VSSによる車両データモデルの標準化とAWS IoT FleetWiseの活用
osawa
1
400
複数サービスを支えるマルチテナント型Batch MLプラットフォーム
lycorptech_jp
PRO
1
950
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
450
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
Producing Creativity
orderedlist
PRO
347
40k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
Code Reviewing Like a Champion
maltzj
525
40k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
188
55k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
GraphQLの誤解/rethinking-graphql
sonatard
72
11k
Writing Fast Ruby
sferik
628
62k
Transcript
Okta のグループ運用を 軽くするためにやったこと 2022.04.27 第3回 Okta 勉強会 しもしゃん @shimosyan 1
アジェンダ 1. 自己紹介 2. 【おさらい】Okta のグループでできること 3. グループの設計・運用でやめたこと 4. グループの設計・運用でやったこと
5. グループの命名規則 6. Okta に期待したいこと 7. まとめ 2
3 自己紹介
自己紹介 しもしゃん Corporate Engineer at Chatwork Co., Ltd. 4 Twitter
/ GitHub @shimosyan スキル • Okta • Jamf Pro • Serverless Architecture • Network Engineering 趣味 • DTM • 自作PC 最近の取り組んでいること • 家を建てるために奔走中 ポートフォリオ https://shimosyan.github.io/
5 【おさらい】 Okta のグループでできること
6 ここでは以下の2つにフォーカスします Okta Group Okta Group Group Group Application グループ単位でアクセス権を付与して
SSO できるようにしたり… グループそのものを Application へ同期したり… 主にアプリケーションへの Assignments と Push Groups の2つではないでしょうか? 今回は、このアプリケーション設定に割り当てる グループの設計のことをお話します。 Assignments Push Group
7 グループの設計・運用で やめたこと
8 変化に弱い構成 Application 部署: 人事総務部 雇用:正社員 人事 総務部 部署:開発部 雇用:正社員
正社員 人事総務部用 権限設定 正社員用 権限設定 Okta 例えば、Data へのアクセス制限を実現する構成として、このような構成があります。 Okta 導入前では、アクセス権限の設定は「人事総務部用」や「正社員用」など直感でわかりやすい権限構成で Application 側のみで完結してい ました。 ここで Okta を導入してプロビジョニングを実現し、ユーザーや権限設定の起点をそのまま Okta に移植してくると図のようになります。 しかし、もし組織変更で「人事総務部」が「人事部」と「総務部」に分割され、システムの修正が必要になると何が起きるでしょうか? 人事総務部用 ルール User Group 正社員用 ルール Group Rule 社外秘情報 (正社員のみアクセス可能) ユーザーが人事総務部所属なら 「人事総務部」グループに割り当てる ユーザーが正社員なら 「正社員」グループに割り当てる ← 連携 → ← 連携 → ※Okta の「人事総務部」グループに割り当てられると、 Application の「人事情報」にアクセスできるようになる 人事情報 (人事総務部のみアクセス可能) Data
9 変化に弱い構成 Application 部署: 人事総務部 雇用:正社員 人事 総務部 部署:開発部 雇用:正社員
正社員 人事総務部用 権限設定 正社員用 権限設定 Okta 少なくとも、赤枠で囲った範囲は「人事部」・「総務部」用にシステムの修正、アクセス権限の要件の再整理が必要になります。この変更には かなりのリソースが必要です。 組織がある程度大きくなってくると、権限委譲などによりこのような大規模な組織変更が頻繁に行われるようになります。この構成のままで は、情シスのリソースがいくつあっても足りません。 人事総務部用 ルール User Group 正社員用 ルール Group Rule 社外秘情報 (正社員のみアクセス可能) ユーザーが人事総務部所属なら 「人事総務部」グループに割り当てる ユーザーが正社員なら 「正社員」グループに割り当てる ← 連携 → ← 連携 → 人事情報 (人事総務部のみアクセス可能) Data
10 グループの設計・運用で やったこと
11 改善した構成 Application 部署: 人事総務部 雇用:正社員 人事情報 編集可能 部署:開発部 雇用:正社員
社外秘 閲覧可能 人事情報編集用 権限設定 社外秘閲覧用 権限設定 人事情報 (Okta側の制御により、実質 人事総務部のみアクセス可能) Okta 先の問題点の改善がこちらです。 Data へのアクセスに必要な権限を「〇〇部の人」や「正社員の人」など具体的な設定ではなく、「〇〇が編集/閲覧できる人」のような抽象的 な設定にし、緑枠で囲った箇所の設定を置き換えます。 例えば上記の図なら、「人事総務部の人のグループ」→「人事情報が編集できる人のグループ」、「正社員の人のグループ」→「社外秘を閲覧 できる人のグループ」と置き換えています。 人事総務部用 ルール User Group 正社員用 ルール Group Rule 社外秘情報 (Okta側の制御により、実質 正社員のみアクセス可能) ユーザーが人事総務部所属なら 「人事情報編集可能」グループに割り当てる ユーザーが正社員なら 「社外秘閲覧可能」グループに割り当てる ← 連携 → ← 連携 → Data 抽象化した箇所
12 改善した構成 Application 部署: 人事総務部 雇用:正社員 人事情報 編集可能 部署:開発部 雇用:正社員
社外秘 閲覧可能 人事情報編集用 権限設定 社外秘閲覧用 権限設定 人事情報 (Okta側の制御により、実質 人事総務部のみアクセス可能) Okta これにより、先の問題点と同じシチュエーションで「人事総務部」が「人事部」と「総務部」に分割されたとしても、変更しなければならない 赤枠の範囲を大幅に抑えることができます。 図のように、ユーザーのプロフィール情報と Group Rule だけの保守で済むことができ、抽象化した箇所は修正の必要性がありません。 このように、権限を抽象化することで Okta と Application 異なるシステム間の連携において変化に強いシステムを実現することができます。 人事総務部用 ルール User Group 正社員用 ルール Group Rule 社外秘情報 (Okta側の制御により、実質 正社員のみアクセス可能) ユーザーが人事総務部所属なら 「人事情報編集可能」グループに割り当てる ユーザーが正社員なら 「社外秘閲覧可能」グループに割り当てる ← 連携 → ← 連携 → Data 抽象化した箇所
13 グループの命名規則
14 グループ機能が抱える問題点 ① グループがネスト(階層)に対応し ていない ③ フィルタ機能が「前方一致」しか対 応していない ④ 一覧に表示できるのは200件まで
フラットな階層で大量のグループを管 理する必要がある ② プロビジョニングを有効にした場合、連携 先サービスの全グループも一覧に表示される 膨大なグループから、的確に目的の グループを探せるようにするための工 夫が必要
15 グループの命名規則の例 ② App_GWS_Group_組織A ① App_MS365_Login_GlobalAdmin グループの大カテゴリ - App:アプリケーション連携グループ用 -
Dep:部署グループ用 - Emp:雇用区分グループ用 - などなど アプリケーション名 (カテゴリがAppのみ) 連携させるアプリケーション名 グループ名には文字数制限があるので略称を使い がち ③ Dep_人事部 アプリケーション連携グループ向け小カテゴリ (カテゴリがAppのみ) - Login:Assignments用 - Group:Group Push用 LoginとGroup、用途が重なったらLoginを優先 任意の文字列 グループを区別したいときに名前をつけたりする のはここ
16 Okta に期待したいこと
Okta に期待したいこと ユーザーやグループのフィルタ機能、 もう少し使いやすくなって欲しい (運用回らなくなってきたので Terraform を使ってコード管理しています) あと、Okta Identity Engine
早く使いたいです!! 17
18 まとめ
まとめ 19 • グループや権限管理は、設計を工夫して抽象化を取り入れてみ たりすると、それだけで運用保守性が上がる! ◦ 今回は RBAC(Roll Based Access
Control)を取り入れました。 ◦ RBAC の発展形に ABAC(Attribute Based Access Control)があります。 (RBAC に加えて、ユーザーの「場所」や「時刻」を権限の評価に取り入れる概念) 今回の発表では、権限の抽象化を実現しているので将来的に ABAC への対応 も容易になっていると思います。
ご静聴 ありがとうございました 20