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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Recruit
PRO
December 20, 2022
Technology
11k
7
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Exchange Online の基本認証が廃止された今こそ学んでおきたいサービスプリンシパル利用
2022/12/19第36回 Office 365 勉強会での、政岡の登壇資料になります。
Recruit
PRO
December 20, 2022
More Decks by Recruit
See All by Recruit
つくって納得、つかって実感! 大規模言語モデルことはじめ ver2.0
recruitengineers
PRO
5
2.1k
ブラウザ研修 2026
recruitengineers
PRO
7
1.3k
事業価値と Engineering 2026年度版
recruitengineers
PRO
52
25k
トヨタ⽣産⽅式(TPS)⼊⾨
recruitengineers
PRO
3
1.1k
JavaScript 研修 (2026)
recruitengineers
PRO
2
660
TypeScript入門 2026
recruitengineers
PRO
3
750
モダンフロントエンド 開発研修
recruitengineers
PRO
4
840
Webアクセシビリティ入門 2026
recruitengineers
PRO
3
710
攻撃と防御で学ぶAI時代のプロダクトセキュリティ演習
recruitengineers
PRO
9
3.2k
Other Decks in Technology
See All in Technology
強化学習「理論」入門
enakai00
3
3.6k
同じWAFが、攻撃の“形”は弾く── 正当な“形”の不正は通す
kuroneko13
0
250
20260817_生成AIの動向と中学校・高等学校での活用を考える_v1.00_公開用
doradora09
PRO
0
130
トークンマネジメントでAIにとって働きやすい環境を実現する
hikaruegashira
0
120
【GCC2026】TrueHDRIを用いたルックデブ環境とライティングテクニック
bandainamcostudios
PRO
0
120
Rust×eBPFでEDRっぽいものをつくる
sunlife3
1
210
Digitization部 紹介資料
sansan33
PRO
2
7.7k
DDDのエッセンスを取り入れたAIでの開発
ak2ie
0
170
【CEDEC2026】Creative Approaches to Localizing the Dialects and Unique Speech of Umamusume: Pretty Derby Characters in English
cygames
PRO
4
26k
AI画像認識を活用したゲーム内決済処理検証の自動化
gree_tech
PRO
0
100
Go 1.27 の標準パッケージに uuid が入った!のでいろいろ喋る / go_127_std_go_uuid
convto
3
540
AIコーディングの次。コードレビューと理解負荷を解消して組織の開発生産性を高める
moongift
PRO
2
2.7k
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
640
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
440
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
210
Designing Experiences People Love
moore
143
24k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
470
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
Writing Fast Ruby
sferik
630
63k
[SF Ruby Conf 2025] Rails X
palkan
2
1.3k
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 参考情報