Slide 1

Slide 1 text

© Chatwork Oktaの管理者権限を 適切に移譲してみた 2023年 1月21日 コーポレート本部 CSE部  しもしゃん Business Technology Conference Japan 2023 Chatwork株式会社

Slide 2

Slide 2 text

自己紹介 会社紹介 IdP とクラウドサービスの連携における課題とは IdP の権限設定を使った解決アプローチ Chatwork における活用事例 まとめ 1 2 3 4 5 6 AGENDA アジェンダ

Slide 3

Slide 3 text

自己紹介 1

Slide 4

Slide 4 text

自己紹介 4 しもしゃん Corporate Engineer at Chatwork Co., Ltd. Twitter / GitHub @shimosyan スキル ● Okta ● Jamf Pro ● Serverless Architecture ● Network Engineering 趣味 ● DTM ● 自作PC ポートフォリオ https://shimosyan.github.io/

Slide 5

Slide 5 text

会社紹介 2

Slide 6

Slide 6 text

会社概要 6 会社名 Chatwork株式会社 代表取締役CEO 山本 正喜 従業員数 304名(2022年9月末日時点) 所在地 東京、大阪、ベトナム、台湾 設立 2004年11月11日

Slide 7

Slide 7 text

コーポレートミッション 7 働くを もっと楽しく、 創造的に 人生の大半を過ごすことになる 「働く」という時間において、 ただ生活の糧を得るためだけではなく、 1人でも多くの人がより楽しく、 自由な創造性を存分に発揮できる社会を実現する

Slide 8

Slide 8 text

Chatworkとは 8 ※Nielsen NetView 及びNielsen Mobile NetView Customized Report 2022年5月度調べ月次利用者( MAU:Monthly Active User)調査。※調査対象は Chatwork、Microsoft Teams、Slack、LINE WORKS、Skypeを含む47サービスを Chatwork株式会社にて選定。 効率的に情報共有できる グループチャット 仕事の見える化ができる タスク管理 見落としがなくなる ファイル管理 いつでも会議ができる ビデオ/音声通話

Slide 9

Slide 9 text

Chatworkは利用者数No.1*のビジネスチャット 9 * Nielsen NetView 及びNielsen Mobile NetView Customized Report 2022年5月度調べ月次利用者(MAU:Monthly Active User)調査。調査対象はChatwork、Microsoft Teams、Slack、LINE WORKS、Skypeを含む47サービスを Chatwork株式会社にて選定。 3月 リリース 10万社 突破! 20万社 突破! 30万社 突破! 導入社数 37万6000社以上! (2022年9月末日時点)

Slide 10

Slide 10 text

IdP とクラウドサービスの連携における課題とは 3

Slide 11

Slide 11 text

IdP とクラウドサービスの連携における課題とは 11 SaaS IDaaS IdP 管理者 権限 IdP とクラウドサービスの管理者が同じパターン 管理者が同じときの良いこと ● シングルサインオン(SSO) の設定 をするとき、IDaaS を始めとする Identity Provider(IdP)と Service Provider(SaaS 等のクラウドサービ ス)の両方の管理画面にアクセスでき るため設定が楽。 ● 単一で完結するため、情シスの都合の いいタイミングで導入できる。 ● 導入後も新規利用者のアカウント作成 ・IdP の割り当て作業がやりやすい。 情シス担当者 SAML・OIDC

Slide 12

Slide 12 text

IdP とクラウドサービスの連携における課題とは 12 SaaS IDaaS IdP 管理者 権限 一方、IdP とクラウドサービスの管理者が異なるパターン 管理者が異なると… ● お互いの管轄するサービスの管理画面 に入れないため、それぞれの作業内容 がわからない。 ● 設定値の交換のためにコミュニケー ションが発生する。 ● 導入の際にお互いの作業タイミングを 合わせる必要がある。 ● 導入後も新規利用者のアカウント作成 と IdP の割り当て作業が別作業とな るため非効率。 管理者 権限 事業部門担当者 情シス担当者 SAML・OIDC 連携が必要

Slide 13

Slide 13 text

IdP とクラウドサービスの連携における課題とは 13 SaaS IDaaS IdP 管理者 権限 一方、IdP とクラウドサービスの管理者が異なるパターン 管理者が異なると… ● お互いの管轄するサービスの管理画面 に入れないため、それぞれの作業内容 がわからない。 ● 設定値の交換のためにコミュニケー ションが発生する。 ● 導入の際にタイミングを合わせる必要 がある。 ● 導入後も新規利用者のアカウント作成 と IdP の割り当て作業が別作業とな るため非効率。 管理者 権限 事業部門担当者 情シス担当者 SAML・OIDC これのいずれかで齟齬があると、利用者が ログインできなくなりサービスが利用できな くなる恐れ 連携不十分

Slide 14

Slide 14 text

IdP とクラウドサービスの連携における課題とは 14 もちろん、相手が 1 部署とは限りません。社内のあらゆる部署と同様の連携が必要になることが往々に してあります。しかしながら、システムごとにアカウントの設定タイミングなど運用手順が異なるのを 情シスから統制を働きかけて統一するのはとても難しいです。(出来ているところは尊敬します) システムA管理者 情シス担当者 システムB管理者 システムC管理者 システムD管理者 連携 連携 連携 連携

Slide 15

Slide 15 text

IdP とクラウドサービスの連携における課題とは 15 SaaS IDaaS IdP 管理者 権限 今日ご紹介する解決アプローチ 今回ご紹介するのは Okta の管理者権限 を移譲することによって、事業部門担当 者が最小限の権限で運用または実装が実 施できるようにする方法です。 Chatwork で実施した実例を交えながら ご紹介しようと思います。 事業部門担当者 情シス担当者 SAML・OIDC 移譲 管理者 権限

Slide 16

Slide 16 text

IdP の権限設定を使った解決アプローチ 4

Slide 17

Slide 17 text

IdP の権限設定を使った解決アプローチ 17 Okta には Okta Identity Engine と Okta Classic Engine と2つのバージョンがあり、利用者によってど ちらかのバージョンが利用できます。 これから説明することは、両方のバージョンで設定できることを確認しています。 お知らせ

Slide 18

Slide 18 text

IdP の権限設定を使った解決アプローチ 18 事業部門担当者 情シス担当者 管理者 権限 「管理者権限を移譲する」をするにしても、どの権限を渡すのかを決める必要があります。 そのためには、まずはお互いの役割を定義しなければなりません。お互い安心して役割を任せられるよ うに、コミュニケーションを取って信頼関係を築く必要があります。 情シスの役割とは? 事業部の役割とは?

Slide 19

Slide 19 text

IdP の権限設定を使った解決アプローチ 19 事業部門担当者 情シス担当者 管理者 権限 Chatwork ではこのように役割を定義しています。 このパターンでは事業部の担当者が SSO の設定も自力で実施でき運用も可能という最も多くの権限を移 譲します。 事業部の役割 ・ SSOの設定 ・ ユーザーへの利用権限付与 情シスの役割 ・ ユーザーアカウントの管理 ・ 管理者権限を移譲する人の任命

Slide 20

Slide 20 text

IdP の権限設定を使った解決アプローチ 20 一方、事業部の担当者が SSO の知識がなく自力での設定が難しい場合は情シスが設定を実施することが あります。 情シスの役割 ・ ユーザーアカウントの管理 ・ 管理者権限を移譲する人の任命 ・ SSOの設定 事業部の役割 ・ SSOの設定 ・ ユーザーへの利用権限付与 事業部門担当者 情シス担当者 管理者 権限

Slide 21

Slide 21 text

IdP の権限設定を使った解決アプローチ 21 SSOの設定 ユーザーへの利用権限付与 Application Administrator Group Membership Administrator https://help.okta.com/oie/ja-jp/Content/Topics/Security/administrators-admin-comparison.htm Okta の管理者権限はある操作できる権限がある程度定まっているプリセットが用意されてお り、そのうち上記の Application Administrator と Group Membership Administrator の2つ を使うことで、権限を移譲することができます。 これらはユーザーごと、グループごとに付与することができます。

Slide 22

Slide 22 text

IdP の権限設定を使った解決アプローチ 22 SSOの設定 ユーザーへの利用権限付与 Application Administrator Group Membership Administrator 詳細は後ほど説明しますが、アプリケーションの利用ユーザーへの利用権限付与には Okta で ユーザーをまとめることができるグループを使用します。 グループを使うことで設定実現の自由度が上がります。

Slide 23

Slide 23 text

IdP の権限設定を使った解決アプローチ 23 Okta の優秀な点は、これらの権限に対して操作できるリソースを絞り込むことができるという ことが挙げられます。 ここで細かくリソースを指定することによって、意図しない過剰な権限を渡すことを防ぐこと が可能です。 Application Administrator Group Membership Administrator 例:Google Workspace だけ操作できる Okta Group A Okta Group B 例:Okta Group A だけ操作できる https://help.okta.com/oie/ja-jp/Content/Topics/Security/custom-admin-role/edit-resources-standard-role.htm

Slide 24

Slide 24 text

IdP の権限設定を使った解決アプローチ 24 SSO 設定の実施 利用権限割り当て 管理者グループ 利用者グループ SSO 設定可能な 管理者グループ 事業部門担当者 情シス担当者 メンバー管理 SSO 設定 利用者 所属 所属 担当者を 割り当て 利用権限の付与 SAML 設定 SSOして利用 具体的なイメージ図 Group Menbership Administrator を付与 ● 情シス担当者は、管理される利用者グ ループと SSO 設定は設定が空っぽな 箱のみ作成します。 ● 2つの管理者グループを作成し、それ ぞれに先ほど紹介した Okta の管理者 権限を付与しています。 ● 事業部門担当者を上記管理者グループ に割り当てます。そうすることで、利 用者グループと SSO 設定の管理が可 能になります。 Application Administrator を付与

Slide 25

Slide 25 text

IdP の権限設定を使った解決アプローチ 25 SSO 設定の実施 利用権限割り当て 管理者グループ 利用者グループ SSO 設定可能な 管理者グループ 事業部門担当者 情シス担当者 メンバー管理 SSO 設定 利用者 所属 所属 担当者を 割り当て 利用権限の付与 SAML 設定 SSOして利用 Group Menbership Administrator を付与 なお、SSO 設定については対象のアプリ ケーションが Okta Integration Network (OIN) と呼ばれるカタログに登録されてい る場合は、SSO 設定の箱を用意せずに 「OINからアプリの作成・編集」できる権 限を渡すことが可能です。 サンドボックス環境など、複数環境を持っ ている場合はこの方法が有効です。 Application Administrator を付与

Slide 26

Slide 26 text

IdP の権限設定を使った解決アプローチ 26 できないこと グループA グループAを 管理できる権限を 持ったグループB グループBを 管理できる権限を 持ったグループC メンバー管理 できない メンバー管理 できる ここで注意点があります。 図のように、グループメンバーの管理について2重にして「管理者の割り当ても委譲したい」と考えるかも しれません。しかし、 Okta ではこれを設定することができません。 これは Okta の仕様により「権限を持っているグループへの割り当ては特権管理者(Super Administrator)しか設定できない」という制約が入っているためです。 そのため、管理者グループへの割り当ては特権管理者である情シスが実施する必要があります。 https://help.okta.com/oie/ja-jp/Content/Topics/Security/administrators-admin-comparison.htm

Slide 27

Slide 27 text

Chatwork における活用事例 5

Slide 28

Slide 28 text

Chatwork における活用事例 28 SSO 設定の実施 利用権限割り当て 管理者グループ 利用者グループ SSO 設定可能な 管理者グループ 事業部門担当者 情シス担当者 メンバー管理 SSO 設定 利用者 所属 所属 担当者を 割り当て 利用権限の付与 SAML 設定 SSOして利用 Group Menbership Administrator を付与 Chatwork ではこれを基本としてユース ケースごとにアレンジを加えて運用してい ます。 ここからはそれらアレンジ例と、いくつか 実際に導入している例を挙げてご紹介しま す。 Application Administrator を付与

Slide 29

Slide 29 text

Chatwork における活用事例 29 メンバー管理者権限のみを渡して、SSO の設定は情シスがおこなうパターン 利用権限割り当て 管理者グループ 利用者グループ 事業部門担当者 情シス担当者 メンバー管理 SSO 設定 利用者 所属 所属 担当者を 割り当て 利用権限の付与 SAML 設定 SSOして利用 Group Menbership Administrator を付与 SSO 設定の実施 SSO のみ 情シスが設定

Slide 30

Slide 30 text

Chatwork における活用事例 30 メンバー管理を Okta Group Rule による自動化と併用するパターン SSO 設定の実施 利用権限割り当て 管理者グループ 利用者グループ SSO 設定可能な 管理者グループ 事業部門担当者 情シス担当者 自動追加されない分だけ メンバー管理 SSO 設定 利用者 所属 所属 担当者を 割り当て 利用権限の付与 SAML 設定 SSOして利用 Group Menbership Administrator を付与 Application Administrator を付与 Okta Group Rule Rule にマッチした ユーザーを自動で追加 ※情シス管理 「〇〇部に所属しているユーザー を自動で特定のグループに割り当 てる」という動作が仕込まれた Group Rule

Slide 31

Slide 31 text

Chatwork における活用事例 31 事例: Salesforce SSO 設定 SSO 設定 SAML 設定 利用者 グループ 利用者 アプリ管理 者グループ SAML 設定 Salesforce システム担当者 利用権限管理 者グループ 情シス担当者 担当者を 割り当て 社内のSalesforceの事例です。 Salesforce環境がいくつかあるとのことな ので、Salesforce用の設定を何個でも作成 できる権限を付与しました。

Slide 32

Slide 32 text

Chatwork における活用事例 32 事例: AWS SSO(一部抜粋) SSO 設定 SRE利用者 グループ SRE管理者 グループ アプリ管理 者グループ SRE部MGR SRE部メンバー 所属 所属 熟練メンバーの み所属 SSO 設定の実施 SAML 設定 情シス担当者 部署A管理 者グループ 部署A利用 者グループ メンバー管理 A部MGR A部メンバー 所属 所属 メンバー管理 AWS 部署B管理 者グループ 部署B利用 者グループ B部MGR B部メンバー 所属 自動追加されない 業務委託だけメンバー管理 利用権限の付与 Okta Group Rule 業務委託 所属 Rule にマッチした ユーザーを自動で追加 条件:B部に所属している ユーザー ※情シス管理 各管理者用グループに ユーザーを割り当て 設定が膨大だったので抜粋です。社内のSREチームが主 導で進めてくれたAWS SSOの事例となります。 最初の設計のときにアドバイスをしただけで殆どはSRE が設計をまとめていました。

Slide 33

Slide 33 text

まとめ 6

Slide 34

Slide 34 text

まとめ 34 ● 適切に権限を委譲をすることで、あとは情シスが関与しなくても事業部門側で運用が回る ようになります。 ○ そのためには情シスと事業部門それぞれの役割を定義し、お互い責任持って遂行す る必要があります。 ○ 導入もしくは運用時に円滑に連携ができるように信頼関係の構築はとても重要で す。

Slide 35

Slide 35 text

働くをもっと楽しく、創造的に