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
Exchange Online の基本認証が廃止された今こそ学んでおきたいサービスプリンシパル利用
Search
Recruit
PRO
December 20, 2022
Technology
7
9.2k
Exchange Online の基本認証が廃止された今こそ学んでおきたいサービスプリンシパル利用
2022/12/19第36回 Office 365 勉強会での、政岡の登壇資料になります。
Recruit
PRO
December 20, 2022
Tweet
Share
More Decks by Recruit
See All by Recruit
分散型と集中型で切り開くクラウドコスト最適化: リクルート横断プロダクトCroisのFinOps実践
recruitengineers
PRO
2
110
毎晩の 負荷試験自動実行による効果
recruitengineers
PRO
5
260
Transformerを用いたアイテム間の 相互影響を考慮したレコメンドリスト生成
recruitengineers
PRO
2
880
Javaで作る RAGを活用した Q&Aアプリケーション
recruitengineers
PRO
1
190
問題解決に役立つ数理工学
recruitengineers
PRO
13
2.9k
Curiosity & Persistence
recruitengineers
PRO
2
210
結果的にこうなった。から見える メカニズムのようなもの。
recruitengineers
PRO
1
470
成長実感と伸び悩みからふりかえる キャリアグラフ
recruitengineers
PRO
1
230
リクルートの オンプレ環境の未来を語る
recruitengineers
PRO
3
470
Other Decks in Technology
See All in Technology
帳票構造化タスクにおけるLLMファインチューニングの性能評価
yosukeyoshida
1
230
LTに影響を受けてテンプレリポジトリを作った話
hol1kgmg
0
280
【CEDEC2025】現場を理解して実現!ゲーム開発を効率化するWebサービスの開発と、利用促進のための継続的な改善
cygames
PRO
0
720
GMOペパボのデータ基盤とデータ活用の現在地 / Current State of GMO Pepabo's Data Infrastructure and Data Utilization
zaimy
3
190
AIのグローバルトレンド 2025 / ai global trend 2025
kyonmm
PRO
1
120
専門分化が進む分業下でもユーザーが本当に欲しかったものを追求するプロダクトマネジメント/Focus on real user needs despite deep specialization and division of labor
moriyuya
0
1k
オブザーバビリティプラットフォーム開発におけるオブザーバビリティとの向き合い / Hatena Engineer Seminar #34 オブザーバビリティの実現と運用編
arthur1
0
340
【CEDEC2025】『ウマ娘 プリティーダービー』における映像制作のさらなる高品質化へ!~ 豊富な素材出力と制作フローの改善を実現するツールについて~
cygames
PRO
0
230
製造業の課題解決に向けた機械学習の活用と、製造業特化LLM開発への挑戦
knt44kw
0
150
風が吹けばWHOISが使えなくなる~なぜWHOIS・RDAPはサーバー証明書のメール認証に使えなくなったのか~
orangemorishita
15
5.5k
「育てる」サーバーレス 〜チーム開発研修で学んだ、小さく始めて大きく拡張するAWS設計〜
yu_kod
1
250
リリース2ヶ月で収益化した話
kent_code3
1
180
Featured
See All Featured
BBQ
matthewcrist
89
9.8k
Facilitating Awesome Meetings
lara
54
6.5k
Why Our Code Smells
bkeepers
PRO
337
57k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
How STYLIGHT went responsive
nonsquared
100
5.7k
Gamification - CAS2011
davidbonilla
81
5.4k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
21
1.4k
Producing Creativity
orderedlist
PRO
346
40k
It's Worth the Effort
3n
185
28k
A Modern Web Designer's Workflow
chriscoyier
695
190k
Become a Pro
speakerdeck
PRO
29
5.5k
Transcript
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 1 Exchange Online の基本認証が廃止された 今こそ学んでおきたい サービスプリンシパル利用 株式会社リクルート 政岡 裕士 2022年12月19日 第36回 Office 365 勉強会 © Recruit Co., Ltd. All rights reserved.
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 2 2 (C) Recruit □□□□□□□□ Co., Ltd. All rights reserved. • Yuji Masaoka | まっぴぃ • Twitter: @mappie_kochi • Zenn: ymasaoka • 株式会社リクルート(2019/5 ~ ) • リクルートグループ従業員向け Microsoft 365 / Microsoft Azure 関連の管理運用 • コミュニティ活動 • Japan Azure Cosmos DB User Group – Organizer • Japan SQL Server User Group – Staff • 趣味 • Perfume / Disney / Gym(Anytime Fitness)/ SwitchBot 自己紹介
会社紹介
リクルートグループについて 4 創業 1960年3月31日 「大学新聞広告社」としてスタート グループ 従業員数 51,757名 (2022年3月31日時点) 連結売上収益
28,717億円 (2021年4月1日~2022年3月31日) 連結営業利益 3,789億円 (2021年4月1日~2022年3月31日) グループ 企業数 連結子会社 351社 関連会社8社 (2022年3月31日時点) ビジョン・ミッ ション
リクルートグループのうちメディア&ソリューション事業を推進する会社 ※2012/10 中核事業会社・機能会社に分社 → 2021/4「リクルート」として統合 リクルートについて 5 リクルート ホールディングス リクルートキャリア
リクルート住まいカンパニー リクルートライフスタイル リクルートジョブズ リクルートマーケティングパートナーズ リクルートスタッフィング スタッフサービス・ホールディングス 人材派遣事業 RGF Staffing B.V. HRテクノロジ― 事業 RGF OHR USA, Inc. その他海外派遣グループ会社 Indeed,Inc. Glassdoor,Inc. リクルートテクノロジーズ リクルートコミュニケーションズ 事業 会社 機能 会社 マッチング & ソリューション事業 (株)リクルート
リクルートの事業内容について(主なサービス) 6 選択・意思決定を支援する情報サービスを提供し、 「まだ、ここにない、出会い。より速く、シンプルに、もっと近くに」を実現する メディア&ソリューションSBU HRテクノロジーSBU 人材派遣SBU 国内派遣 海外派遣
リクルートのビジネスモデルについて 7 リクルートには、ユーザーとクライアントという2つのお客様が存在します。 企業と人(B to C)、企業と企業(B to B)、人と人(C to C)、すべての間に立ち双方にとって最適な
マッチングを図る「場」を提供しています。 ユーザーとクライアントを新しい接点で結び、 「まだ、ここにない、出会い。より速く、シンプルに、もっと近くに」の場を創造する
本題
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 9 9 Exchange Online は多要素必須の時代へ突入 POP/IMAP、EWS、MAPI などは 単一要素認証を無効化 (SMTP Auth もいずれ無効化予定) ▪日本語 Exchange Online における 基本認証の廃止 – 2022 年 9 月の更新 ▪英語 Basic Authentication Deprecation in Exchange Online – September 2022 Update
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 10 10 • 有効化された後、管理者権限で明示的にオフにすることも可能ではある (が、このご時世に多要素オフ=セキュリティ意識が怪しいと見られる可能性あり) 補足)Azure AD も多要素がデフォルトの時代へ 10 ▪日本語 2022 年 6 月末から「セ キュリティの既定値群」の有 効化が促されます (対象 : 一 部のテナント) ▪英語 Raising the Baseline Security for all Organizations in the World 条件付きアクセスで多要素条件を細かく設定することも可能 多要素認証は、企業として必要最低限のセキュリティ施策の1つ (海外では当たり前)
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 11 11 • 2020 年に PJ 発足、2021/5 から段階的に多要素を適用開始 • 多要素適用によって発生する業務影響についての相談窓口を設置 サービスプリンシパルや OAuth への切替対応を支援 • 2022/10 以降は、すべての Microsoft 組織アカウントは多要素必須 リクルートはどのように多要素対応をしたか
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 12 12 • わかったこと=日本はまだまだセキュリティへの意識が弱い 続々と寄せられる、多要素に対するさまざまな声 社員 多要素入れたら業務影響しかないから無効化しろ まっぴぃ 会社のセキュリティ規程で必須だから無理なんです… 社員 プログラムで自動化してるけど、コードのメンテが できない(工数もない)から適用期限を来年にしてほしい まっぴぃ MS 側で期限が決まっているのでなんとかそれまでに頑張って... (ちなみに参考コードはここ / VBA だったら... etc.) セキュリティ = 企業の最優先するべき事項 の意識を!
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 13 13 • MSAL:Microsoft Authentication Library の略 • 対応言語もさまざま存在(.NET / Java / JavaScript / Python etc.) • MSAL 経由でサービスプリンシパルから Microsoft Graph API を実行 プログラムは MSAL + サービスプリンシパルに移行 ▪詳細は Microsoft Docs を参照 Microsoft Authentication Library (MSAL) の概要 ADAL や EWS は Graph API に 移行が必要になっている
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 14 14 • ローカル表現とグローバル表現 • サービスプリンシパル = 自テナント内専用の識別子 • エンタープライズアプリ(アプリケーション)= 全テナントで共通の識別子 • サービスプリンシパルとエンタープライズアプリは 1 vs 1 の関係 • 実際に Microsoft Graph の権限許可はサービスプリンシパル側で指定 補足)サービスプリンシパル と エンタープライズアプリ ▪詳細は Microsoft Docs を参照 Azure Active Directory のアプリケーション オブジェクトとサービス プリンシパル オブ ジェクト
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 15 15 • 「バッチ処理 = とりあえずアプリケーションの許可を付与」は非常に危険! 「アクセス許可の種類 - アプリケーションの許可」 の罠 ちゃんと見て付与をしていますか? 意味を理解して付与をしていますか? 例)Mail.Send の場合
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 16 16 • 委任されたアクセス許可 • 原則、承諾されたアカウント分だけしか実行できないようになっている • 委任されたアクセス許可であっても、「管理者の同意」ボタンには注意 • アプリケーションの許可 • Microsoft Graph API のアクセス許可だけ設定している状態は危険 • メールが有効なセキュリティグループ & アプリケーションのアクセス許可ポリシーを 使用して、利用できる対象に制限を付与 Mail.Send や Mail.Read は限られた ID だけ OK に縛る
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 17 17 • Exchange Online PowerShell v3 などを使用し作成 • サービスプリンシパルでメールの送受信を行うことを許可するユーザーアカウントを グループメンバーとして追加 • 実際のコマンドについては、公開済みのブログ記事を参照 • Exchange Online 管理センターなどでも作成可能 • なぜメールが有効なセキュリティグループを使うのか • 後の運用が楽だから(対象の追加/除外は、グループメンバーの操作だけで完結) メールが有効なセキュリティグループの作成
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 18 18 • サービスプリンシパルとメールが有効なセキュリティグループを紐づける • アプリケーションのアクセス許可ポリシーで紐づけることで、許可したユーザー以外の Graph API 利用を拒否 • 実際のコマンドについては、公開済みのブログ記事を参照 アプリケーションのアクセス許可ポリシー
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 19 19 • 可能な限り、証明書利用が好ましい(個人的意見です) • クライアントシークレットは、値が流出しただけで危険 • 証明書の場合、公開鍵 + 秘密鍵 の組み合わせで流出しないと意味がない • 証明書は利用者側で発行したもののうち、公開鍵だけを AAD に登録するのみ • SaaS 製品などによっては証明書に対応していない例もあり • できる限り、他社に流出しないような取り扱いを心がける (裏側の仕様を完全に把握することは難しいが) • 数年間にわたって同じ値を使わせるような Docs には要注意(流出した際のリスクが大きい) 余談)証明書 と クライアントシークレット どっちを利用?
DEMO
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 21 21 • メール同様、アプリケーションの許可には注意 • Sites.Selected 以外は基本使わないこと 余談)SPO / OneDrive でのアクセス制限 21
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 22 22 • Exchange Online の基本認証はもう利用できない(廃止) • SMTP Auth は影響の大きさから適用が見送られているが、いずれ実施 • Azure AD もデフォルトで多要素認証が必須になっている • 海外では多要素認証は当たり前 • 条件付きアクセスで条件を細かく設定したい、などの目的以外で、機能をオフにしない • これまで ID/PASS でやっていた処理はサービスプリンシパルへ移行 • サービスプリンシパル = アプリ用の ID のようなもの • サービスプリンシパルに Graph API のアクセス許可を付与 • プログラムからは MSAL を通してリソースにアクセス まとめ1:多要素認証は導入が当たり前の時代
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 23 23 • 利用単位に制限を設けられるかをしっかり確認して付与をしましょう • メール系 (Mail) の場合は、アカウント制限をかける • SharePoint や OneDrive の場合は、サイト制限をかける • 制限ができない Graph API の利用には、制限を設ける(一般ユーザーは NG など) • わからない時は Microsoft サポートをうまく活用する • サービスプリンシパルは、必要最小限の権限で定期的な棚卸を行うこと • システムや利用目的が別であるなら、サービスプリンシパルもそれぞれ分ける • 証明書やシークレットは年単位での切り替えを推奨(切り替え時に棚卸ができる) • 証明書やシークレットの流出に気をつけること • 部外者への流出 = 不正アクセスのリスク • シークレットや証明書は適切な場所で管理(証明書ストア / Azure Key Vault など) • シークレットをソースコードにベタ書きするのは絶対に NG まとめ2:アプリケーションの許可を使用する際の注意
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 24 24 • Microsoft 公式ブログ • Exchange Online における基本認証の廃止 – 2022 年 9 月の更新 • 2022 年 6 月末から「セキュリティの既定値群」の有効化が促されます (対象 : 一部のテ ナント) • Microsoft Docs • Microsoft Authentication Library (MSAL) の概要 • Azure Active Directory のアプリケーション オブジェクトとサービス プリンシパル オブ ジェクト • その他 • サービスプリンシパルのアプリケーション許可による Mail.Send や Mail.Read にアカウン ト制限を適用する -Zenn.dev 参考情報