Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Exchange Online の基本認証が廃止された今こそ学んでおきたいサービスプリンシパル利用

Recruit
PRO
December 20, 2022

Exchange Online の基本認証が廃止された今こそ学んでおきたいサービスプリンシパル利用

2022/12/19第36回 Office 365 勉強会での、政岡の登壇資料になります。

Recruit
PRO

December 20, 2022
Tweet

More Decks by Recruit

Other Decks in Technology

Transcript

  1. • マスター テキストの書式設定
    • 第 2 レベル
    • 第 3 レベル
    • 第 4 レベル
    • 第 5 レベル
    マスタ タイトルの書式設定
    1
    Exchange Online の基本認証が廃止された
    今こそ学んでおきたい
    サービスプリンシパル利用
    株式会社リクルート
    政岡 裕士
    2022年12月19日
    第36回 Office 365 勉強会
    © Recruit Co., Ltd. All rights reserved.

    View Slide

  2. • マスター テキストの書式設定
    • 第 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
    自己紹介

    View Slide

  3. 会社紹介

    View Slide

  4. リクルートグループについて
    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日時点)
    ビジョン・ミッ
    ション

    View Slide

  5. リクルートグループのうちメディア&ソリューション事業を推進する会社
    ※2012/10 中核事業会社・機能会社に分社 → 2021/4「リクルート」として統合
    リクルートについて
    5
    リクルート
    ホールディングス
    リクルートキャリア
    リクルート住まいカンパニー
    リクルートライフスタイル
    リクルートジョブズ
    リクルートマーケティングパートナーズ
    リクルートスタッフィング
    スタッフサービス・ホールディングス
    人材派遣事業
    RGF Staffing B.V.
    HRテクノロジ― 事業
    RGF OHR USA, Inc.
    その他海外派遣グループ会社
    Indeed,Inc.
    Glassdoor,Inc.
    リクルートテクノロジーズ
    リクルートコミュニケーションズ
    事業
    会社
    機能
    会社
    マッチング &
    ソリューション事業
    (株)リクルート

    View Slide

  6. リクルートの事業内容について(主なサービス)
    6
    選択・意思決定を支援する情報サービスを提供し、
    「まだ、ここにない、出会い。より速く、シンプルに、もっと近くに」を実現する
    メディア&ソリューションSBU HRテクノロジーSBU 人材派遣SBU
    国内派遣 海外派遣

    View Slide

  7. リクルートのビジネスモデルについて
    7
    リクルートには、ユーザーとクライアントという2つのお客様が存在します。
    企業と人(B to C)、企業と企業(B to B)、人と人(C to C)、すべての間に立ち双方にとって最適な
    マッチングを図る「場」を提供しています。
    ユーザーとクライアントを新しい接点で結び、
    「まだ、ここにない、出会い。より速く、シンプルに、もっと近くに」の場を創造する

    View Slide

  8. 本題

    View Slide

  9. • マスター テキストの書式設定
    • 第 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

    View Slide

  10. • マスター テキストの書式設定
    • 第 2 レベル
    • 第 3 レベル
    • 第 4 レベル
    • 第 5 レベル
    マスタ タイトルの書式設定
    10 10
    • 有効化された後、管理者権限で明示的にオフにすることも可能ではある
    (が、このご時世に多要素オフ=セキュリティ意識が怪しいと見られる可能性あり)
    補足)Azure AD も多要素がデフォルトの時代へ
    10
    ■日本語
    2022 年 6 月末から「セ
    キュリティの既定値群」の有
    効化が促されます (対象 : 一
    部のテナント)
    ■英語
    Raising the Baseline
    Security for all
    Organizations in the World
    条件付きアクセスで多要素条件を細かく設定することも可能
    多要素認証は、企業として必要最低限のセキュリティ施策の1つ
    (海外では当たり前)

    View Slide

  11. • マスター テキストの書式設定
    • 第 2 レベル
    • 第 3 レベル
    • 第 4 レベル
    • 第 5 レベル
    マスタ タイトルの書式設定
    11 11
    • 2020 年に PJ 発足、2021/5 から段階的に多要素を適用開始
    • 多要素適用によって発生する業務影響についての相談窓口を設置
    サービスプリンシパルや OAuth への切替対応を支援
    • 2022/10 以降は、すべての Microsoft 組織アカウントは多要素必須
    リクルートはどのように多要素対応をしたか

    View Slide

  12. • マスター テキストの書式設定
    • 第 2 レベル
    • 第 3 レベル
    • 第 4 レベル
    • 第 5 レベル
    マスタ タイトルの書式設定
    12 12
    • わかったこと=日本はまだまだセキュリティへの意識が弱い
    続々と寄せられる、多要素に対するさまざまな声
    社員
    多要素入れたら業務影響しかないから無効化しろ
    まっぴぃ
    会社のセキュリティ規程で必須だから無理なんです…
    社員
    プログラムで自動化してるけど、コードのメンテが
    できない(工数もない)から適用期限を来年にしてほしい
    まっぴぃ
    MS 側で期限が決まっているのでなんとかそれまでに頑張って...
    (ちなみに参考コードはここ / VBA だったら... etc.)
    セキュリティ = 企業の最優先するべき事項 の意識を!

    View Slide

  13. • マスター テキストの書式設定
    • 第 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 に
    移行が必要になっている

    View Slide

  14. • マスター テキストの書式設定
    • 第 2 レベル
    • 第 3 レベル
    • 第 4 レベル
    • 第 5 レベル
    マスタ タイトルの書式設定
    14 14
    • ローカル表現とグローバル表現
    • サービスプリンシパル = 自テナント内専用の識別子
    • エンタープライズアプリ(アプリケーション)= 全テナントで共通の識別子
    • サービスプリンシパルとエンタープライズアプリは 1 vs 1 の関係
    • 実際に Microsoft Graph の権限許可はサービスプリンシパル側で指定
    補足)サービスプリンシパル と エンタープライズアプリ
    ■詳細は Microsoft Docs を参照
    Azure Active Directory のアプリケーション
    オブジェクトとサービス プリンシパル オブ
    ジェクト

    View Slide

  15. • マスター テキストの書式設定
    • 第 2 レベル
    • 第 3 レベル
    • 第 4 レベル
    • 第 5 レベル
    マスタ タイトルの書式設定
    15 15
    • 「バッチ処理 = とりあえずアプリケーションの許可を付与」は非常に危険!
    「アクセス許可の種類 - アプリケーションの許可」 の罠
    ちゃんと見て付与をしていますか?
    意味を理解して付与をしていますか?
    例)Mail.Send の場合

    View Slide

  16. • マスター テキストの書式設定
    • 第 2 レベル
    • 第 3 レベル
    • 第 4 レベル
    • 第 5 レベル
    マスタ タイトルの書式設定
    16 16
    • 委任されたアクセス許可
    • 原則、承諾されたアカウント分だけしか実行できないようになっている
    • 委任されたアクセス許可であっても、「管理者の同意」ボタンには注意
    • アプリケーションの許可
    • Microsoft Graph API のアクセス許可だけ設定している状態は危険
    • メールが有効なセキュリティグループ & アプリケーションのアクセス許可ポリシーを
    使用して、利用できる対象に制限を付与
    Mail.Send や Mail.Read は限られた ID だけ OK に縛る

    View Slide

  17. • マスター テキストの書式設定
    • 第 2 レベル
    • 第 3 レベル
    • 第 4 レベル
    • 第 5 レベル
    マスタ タイトルの書式設定
    17 17
    • Exchange Online PowerShell v3 などを使用し作成
    • サービスプリンシパルでメールの送受信を行うことを許可するユーザーアカウントを
    グループメンバーとして追加
    • 実際のコマンドについては、公開済みのブログ記事を参照
    • Exchange Online 管理センターなどでも作成可能
    • なぜメールが有効なセキュリティグループを使うのか
    • 後の運用が楽だから(対象の追加/除外は、グループメンバーの操作だけで完結)
    メールが有効なセキュリティグループの作成

    View Slide

  18. • マスター テキストの書式設定
    • 第 2 レベル
    • 第 3 レベル
    • 第 4 レベル
    • 第 5 レベル
    マスタ タイトルの書式設定
    18 18
    • サービスプリンシパルとメールが有効なセキュリティグループを紐づける
    • アプリケーションのアクセス許可ポリシーで紐づけることで、許可したユーザー以外の
    Graph API 利用を拒否
    • 実際のコマンドについては、公開済みのブログ記事を参照
    アプリケーションのアクセス許可ポリシー

    View Slide

  19. • マスター テキストの書式設定
    • 第 2 レベル
    • 第 3 レベル
    • 第 4 レベル
    • 第 5 レベル
    マスタ タイトルの書式設定
    19 19
    • 可能な限り、証明書利用が好ましい(個人的意見です)
    • クライアントシークレットは、値が流出しただけで危険
    • 証明書の場合、公開鍵 + 秘密鍵 の組み合わせで流出しないと意味がない
    • 証明書は利用者側で発行したもののうち、公開鍵だけを AAD に登録するのみ
    • SaaS 製品などによっては証明書に対応していない例もあり
    • できる限り、他社に流出しないような取り扱いを心がける
    (裏側の仕様を完全に把握することは難しいが)
    • 数年間にわたって同じ値を使わせるような Docs には要注意(流出した際のリスクが大きい)
    余談)証明書 と クライアントシークレット どっちを利用?

    View Slide

  20. DEMO

    View Slide

  21. • マスター テキストの書式設定
    • 第 2 レベル
    • 第 3 レベル
    • 第 4 レベル
    • 第 5 レベル
    マスタ タイトルの書式設定
    21 21
    • メール同様、アプリケーションの許可には注意
    • Sites.Selected 以外は基本使わないこと
    余談)SPO / OneDrive でのアクセス制限
    21

    View Slide

  22. • マスター テキストの書式設定
    • 第 2 レベル
    • 第 3 レベル
    • 第 4 レベル
    • 第 5 レベル
    マスタ タイトルの書式設定
    22 22
    • Exchange Online の基本認証はもう利用できない(廃止)
    • SMTP Auth は影響の大きさから適用が見送られているが、いずれ実施
    • Azure AD もデフォルトで多要素認証が必須になっている
    • 海外では多要素認証は当たり前
    • 条件付きアクセスで条件を細かく設定したい、などの目的以外で、機能をオフにしない
    • これまで ID/PASS でやっていた処理はサービスプリンシパルへ移行
    • サービスプリンシパル = アプリ用の ID のようなもの
    • サービスプリンシパルに Graph API のアクセス許可を付与
    • プログラムからは MSAL を通してリソースにアクセス
    まとめ1:多要素認証は導入が当たり前の時代

    View Slide

  23. • マスター テキストの書式設定
    • 第 2 レベル
    • 第 3 レベル
    • 第 4 レベル
    • 第 5 レベル
    マスタ タイトルの書式設定
    23 23
    • 利用単位に制限を設けられるかをしっかり確認して付与をしましょう
    • メール系 (Mail) の場合は、アカウント制限をかける
    • SharePoint や OneDrive の場合は、サイト制限をかける
    • 制限ができない Graph API の利用には、制限を設ける(一般ユーザーは NG など)
    • わからない時は Microsoft サポートをうまく活用する
    • サービスプリンシパルは、必要最小限の権限で定期的な棚卸を行うこと
    • システムや利用目的が別であるなら、サービスプリンシパルもそれぞれ分ける
    • 証明書やシークレットは年単位での切り替えを推奨(切り替え時に棚卸ができる)
    • 証明書やシークレットの流出に気をつけること
    • 部外者への流出 = 不正アクセスのリスク
    • シークレットや証明書は適切な場所で管理(証明書ストア / Azure Key Vault など)
    • シークレットをソースコードにベタ書きするのは絶対に NG
    まとめ2:アプリケーションの許可を使用する際の注意

    View Slide

  24. • マスター テキストの書式設定
    • 第 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
    参考情報

    View Slide