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
最近、M365やAzure ADまわりで私が遭遇した(ニッチ?)なトラブル3選/第 4 回 Japan M365 Dev User Group 勉強会
Search
Recruit
PRO
August 16, 2022
Technology
0
520
最近、M365やAzure ADまわりで私が遭遇した(ニッチ?)なトラブル3選/第 4 回 Japan M365 Dev User Group 勉強会
2022/08/06 Japan M365 Dev User Group主催「第 4 回 Japan M365 Dev User Group 勉強会」での、政岡の講演資料になります。
Recruit
PRO
August 16, 2022
Tweet
Share
More Decks by Recruit
See All by Recruit
AOAI をきっかけに 社内の Azure 管理を見直した話
recruitengineers
PRO
1
230
プロデザ! BY リクルート vol.18_リクルートのリサーチ実践組織「リサーチブーストコミュニティ」
recruitengineers
PRO
3
270
Datadog による 自己完結的アプリケーションモニタリング
recruitengineers
PRO
4
260
プロデザ! BY リクルートvol.17_『じゃらんnet』公式アプリの高速リニューアル事例を大公開
recruitengineers
PRO
6
190
自己完結な開発者組織を支える プラットフォーム作り
recruitengineers
PRO
3
300
検索エンジニアが考える、 生成AI時代の人間の付加価値とは
recruitengineers
PRO
3
120
エンジニア思考で解決! 家事育児を劇的に進化させる開発プロセス応用術
recruitengineers
PRO
3
110
GraphQL「良さ」・「難しさ」再探訪 〜スタディサプリにおける実例〜 / StudySapuri with GraphQL
recruitengineers
PRO
22
4.7k
プロデザ番外編_リクルートのデザイン組織のご紹介
recruitengineers
PRO
3
200
Other Decks in Technology
See All in Technology
オーナーシップを持つ領域を明確にする
konifar
13
3k
LLM とプロンプトエンジニアリング/チューターをビルドする / LLM and Prompt Engineering and Building Tutors
ks91
PRO
0
250
どうするコスト最適化のトレードオフ
tetsuyaooooo
1
470
現代CSSフレームワークの内部実装とその仕組み
poteboy
8
3.5k
Hands-on Gemini, the Google DeepMind LLM
meteatamel
1
110
自動生成を活用した、運用保守コストを抑える Error/Alert/Runbook の一元集約管理 / Centralized management of Error/Alert/Runbook to minimize operational costs using automated code generation
biwashi
13
2.3k
最近たまに見かけるTiDBってなんだ? - Findy
pingcap0315
2
750
GraphQL 成熟度モデルの紹介と、プロダクトに当てはめた事例 / GraphQL maturity model
mh4gf
7
1.3k
エンジニアのキャリアをちょっと楽しくする3本の軸/Three Pillars to Make an Engineer's Career More Enjoyable
kwappa
0
2.6k
ChatGPT for IT Service Management (IT Pro)
dahatake
7
1.4k
Databricks:『生成AI World Cup』のご案内
databricksjapan
2
170
Reducing Cross-Zone Egress at Spotify with Custom gRPC Load Balancing Recap
koh_naga
0
190
Featured
See All Featured
Designing Experiences People Love
moore
136
23k
Product Roadmaps are Hard
iamctodd
43
9.7k
Visualization
eitanlees
135
14k
Typedesign – Prime Four
hannesfritz
36
2.1k
Music & Morning Musume
bryan
41
5.6k
The Pragmatic Product Professional
lauravandoore
24
5.8k
Creatively Recalculating Your Daily Design Routine
revolveconf
209
11k
Unsuck your backbone
ammeep
663
57k
Documentation Writing (for coders)
carmenintech
59
3.9k
Imperfection Machines: The Place of Print at Facebook
scottboms
259
12k
Automating Front-end Workflow
addyosmani
1355
200k
Producing Creativity
orderedlist
PRO
336
39k
Transcript
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 1 最近、M365やAzure ADまわりで私が遭遇した (ニッチ?)なトラブル3選 株式会社リクルート 政岡 裕士 2022年8月6日 © 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(復活)/ 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 今日のセッション内容 最近、Microsoft 365 / Azure AD 関連で 私の頭を非常に悩ませた (ニッチな?)トラブル3選 エンプラ領域などで Microsoft 365 を触っていたら もしかすると皆さんも遭遇するかもしれない…? ので、事例共有です
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 10 10 • AADC 経由での ExO メールエイリアス付与について • HAADJ パスワードハッシュ同期下でのパスワードリセットについて • Microsoft Teams アプリの管理/制御について 今日のセッション内容
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 11 11 • AADC 経由での ExO メールエイリアス付与について • HAADJ パスワードハッシュ同期下でのパスワードリセットについて • Microsoft Teams アプリの管理/制御について 今日のセッション内容
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 12 12 • 突如、2000 アカウントのメアド発行申請が行われる とある日のユーザー対応(1) クライアント向けシステムで メアドが 2000 個必要になったので M365 で申請しますわ 社員 まっぴぃ うん、メアド必要なのはわかったけど ちょっと待て、な?
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 13 13 • 素直に 2000 メアド分のアカウント払い出しを認めるべきか • 共有メールボックスで単純に 2000 アカウント発行すれば済む話 • ただし、ライセンスは無限にあるわけじゃないぞ? • そもそも本当に最初から 2000 個もメアドがいるのか? 申請を受けてまず確認してみた 本当に最初から 2000 個もいるんですか? いくついるかわからないけど、とりあえず 2000 それと、納期もあるし、このやりとりが不毛なので さっさとメアドを払い出してくれないか 社員 まっぴぃ
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 14 14 • 素直に 2000 メアド分のアカウント払い出しを認めるべきか • 共有メールボックスで単純に 2000 アカウント発行すれば済む話 • ただし、ライセンスは無限にあるわけじゃないぞ? • そもそも本当に最初から 2000 個もメアドがいるのか? 申請を受けてまず確認してみた 本当に最初から 2000 個もいるんですか? いくついるかわからないけど、とりあえず 2000 それと、納期もあるし、このやりとりが不毛なので さっさとメアドを払い出してくれないか 社員 まっぴぃ
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 15 15 • Exchange Online メールエイリアス付与でのメアド用意を決断 • 1 アカウントあたり、プライマリ/セカンダリ合わせて最大 400 のエイリアスが付与可能 • リクルート環境は既定で 2 エイリアスは使用済みだったので、残り 398 使えるはず • 複数ユーザーによる同一アカウント利用の形態ではないため、ライセンス的にも問題なし • エイリアス毎にメールを受信できれば後は問題なし、とのこと ライセンスを無駄に消費したくはない…
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 16 16 • リクルートの環境 → オンプレ AD と Azure AD を AADC 同期 • ExO PowerShell 実行ではなく、AD 側からセカンダリ SMTP アドレスを付与が必要 • メールエイリアス付与の詳細は Zenn の記事を参照 メールエイリアス付与の検証をしてみた # 実行コマンド(例) $User = Get-ADUser -Filter "UserPrincipalName -eq '
[email protected]
'" -Properties * | select Name,proxyAddresses Set-ADUser -Identity $User.Name -add @{ProxyAddresses="smtp:
[email protected]
"} 1 アカウントあたり 398 個追加して、2000 メアド用意すれば OK なはず…
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 17 17 • リクルートの環境 → オンプレ AD と Azure AD を AADC 同期 • ExO PowerShell 実行ではなく、AD 側からセカンダリ SMTP アドレスを付与が必要 • メールエイリアス付与の詳細は Zenn の記事を参照 メールエイリアス付与の検証をしてみた # 実行コマンド(例) $User = Get-ADUser -Filter "UserPrincipalName -eq '
[email protected]
'" -Properties * | select Name,proxyAddresses Set-ADUser -Identity $User.Name -add @{ProxyAddresses="smtp:
[email protected]
"} 1 アカウントあたり 398 個追加して、2000 メアド用意すれば OK なはず…
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 18 18 • 398 件のメールエイリアス追加後に AADC で同期(Delta)をするとエラー • LargeObject でエイリアスを追加したユーザーオブジェクトの同期が失敗 • どうも、AADC 経由でのエイリアス付与については 400 件は無理の模様 ※参考:Azure AD Connect: 同期中のエラーのトラブルシューティング - Microsoft Entra | Microsoft Docs 何が起こったのか(1) AADC 経由の同期では、ユーザーオブ ジェクト全体のサイズ制限などがある ・userCertificate ・userSMIMECertificate ・thumbnailPhoto ・proxyAddresses これらの属性を増やす場合は、各種の 制限を考慮する必要あり
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 19 19 ① 1 アカウントあたり 300 のメールエイリアス付与の社内制限を設定 • リクルートの環境(当時)だと 319 が限界だったため、キリのいい 300 に設定 • MS も推奨として「proxyAddresses は約 300 個」と書いている ② 2000 個のメアドが本当に必要なのかを再度確認 • 結果、1500 個までに落とすことが可能 結果、この事例をどう解決したか(1) アカウント数 1500 → 50 まで削減 (参考:ExO P1 定価でのライセンス費用計算) 430 円/月 × 1500 = 645,000 円/月 ↓ 430 円/月 × 50 = 21,500 円/月 ライセンス費を抑えつつ、ユーザー要望に対応できた 参考リンク:Microsoft Exchange Online プランの比較
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 20 20 • Exchange Online では、最大 400 個のメールエイリアスが設定可能 • 用途によっては、エイリアスを活用して無駄なアカウント払い出しをおさえる • AADC 経由での Exchange Online 利用時は、エイリアスは 300 におさえる • ユーザーオブジェクトのサイズに注意し、LargeObject エラーにならないようにする ナレッジ共有(1)
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 21 21 • AADC 経由での ExO メールエイリアス付与について • HAADJ パスワードハッシュ同期下でのパスワードリセットについて • Microsoft Teams アプリの管理/制御について 今日のセッション内容
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 22 22 • ユーザー対応で、M365 のパスワードリセットが出来ないという相談が発生 とある日のユーザー対応(2) ユーザーからの問い合わせ対応で M365 アカウントのパスワードリセットをしているが パスワード変更ができません… ん?どゆこと? 社員 まっぴぃ
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 23 23 • 環境では、パスワードハッシュ同期+パスワードライトバックが有効 • ユーザー対応者には、認証管理者の Azure AD ロールを適用済 状況説明 社員 まっぴぃ 認証管理者権限でパスワードリセットし 一時パスワードの発行はできるのですが その後のパスワード変更がうまくいかないです ん?どゆこと?(2回目)
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 24 24 • M365 管理センター経由でパスワードリセットを実施 • 「パスワードを自動作成する」を有効化 • 「初回サインイン時にこのユーザーにパスワードの変更を要求する」を有効化 ユーザー対応内容を再現 初回サインイン時 リセットしたパスワードで認証 パスワード変更時 「現在のパスワード」はリセット 前のパスワードが正常値
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 25 25 • Azure AD と オンプレ AD 側のパスワードの整合性が取れていない • M365 管理センター経由のパスワードリセットは、オンプレ AD 側にライトバックしない ※参考: Microsoft 365 管理センターでの管理者パスワードのリセットのトラブルシューティング • パスワードハッシュ同期時のパスワード変更は、オンプレ AD 側の値を評価 何が起こったのか(2) M365 管理センター経由のパスワード リセットではオンプレ AD へのライト バックが効かない ・サインイン自体は可能 ・オンプレ AD とパスワードの不整合 が起こる
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 26 26 ① Azure AD ポータルからパスワードリセットするように手順指示 • M365 管理センターは使わない ② オンプレ AD 側でパスワードリセットを実施 • オンプレ AD 側からのパスワードハッシュ同期でもパスワードリセットは可能 結果、この事例をどう解決したか(2)
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 27 27 • パスワードハッシュ同期 + ライドバック環境のパスワードリセットは注意 • M365 管理センターは使用しない • パスワードリセットは Azure AD ポータルから実施する • オンプレ AD でもパスワードリセットできる形は維持しておく • パスワードハッシュ同期 + ライトバック だからと言って、パスワードリセット方式を M365 だけにしないようにしておく • 何かあった際のリカバリ方法として、AD 側のパスワード変更手段もしっかり整えておく ナレッジ共有(2)
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 28 28 • AADC 経由での ExO メールエイリアス付与について • HAADJ パスワードハッシュ同期下でのパスワードリセットについて • Microsoft Teams アプリの管理/制御について 今日のセッション内容
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 29 29 • Teams カスタムアプリに関する相談が発生 とある日のユーザー対応(3) まっぴぃ うん、いいよー ※Teams カスタムアプリ登録、アプリのアクセス制御 はすでに勉強済みだった 社内業務の効率化のために Teams カスタムアプリを登録して 指定した人しか使えないようにしたいです 社員
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 30 30 • ユーザーに Teams で組織のアプリストアへ申請するよう依頼 (新規申請時+アプリ更新時) Teams カスタムアプリの登録対応に関する当時の意識 まっぴぃ Teams管理者で管理センターから 申請されたアプリを承認するだけ + アプリ関連のポリシーを操作する だけだし、特に問題ないでしょ… 一見簡単そうに見えるこの内容が、後で沼にハマる原因に…
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 31 31 • 特定のアプリの更新が Teams 管理者以外できないようになった • アプリを登録した後、アプリ更新時に Teams 管理センターを使用してしまい、アプリの所 有者情報がクリアされてしまった • アプリ ID など、manifest.json などの値は問題なし 何が起こったのか(3) Teams 管理センターで新しい アプリバージョンをアップロード →所有者情報がかき消される
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 32 32 ① 当該アプリは Teams 管理センター経由での更新で対応するようにした • Teams アプリの所有者設定は、所有者0のアプリに対しては操作できる方法がないらしい ② 組織のアプリカタログにアプリを送信した後、所有者設定は忘れず実施 • アプリを送信した人が退職などで ID 削除になっても同じことが起こる • 複数の ID に対してアプリの所有者設定を付与しておき、対処できるようにしてもらう 結果、この事例をどう解決したか(3)
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 33 33 • Teams カスタムアプリのアクセス制御をかけたい旨の相談 とある日のユーザー対応(4) Teams カスタムアプリを登録したのですが 可能なら全社員にはアプリを公開したくないので アプリの表示制限(利用制限)かけるのって出来ますか? アプリのアクセス制限は機能があるから 設定してもいいよー 社員 まっぴぃ
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 34 34 • Teams には、アクセス許可ポリシーというアプリのアクセス管理が可能 • 既定の global 以外で専用のポリシーを作って割り当てれば OK Teams カスタムアプリのアクセス制御に関する当時の意識 まっぴぃ Teams の各種ポリシーは PowerShell で操作可能だから 問題ないっしょ OK そうに見えたこの内容のせいで、後で頭を悩ますことが起こる…
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 35 35 • Teams アプリのアクセス許可ポリシーは実用性がまだ低い • PowerShell などでの設定は不可(セットアップポリシーとかはあるけど、これだけない) • 設定は GUI でユーザー単位でしか設定不可(ぽちぽち頑張るしかない) • 誰に何のアクセス許可ポリシーが適用されているかは、ユーザー情報見ないとわからない 何が起こったのか(4) PowerShell もなければ、 GUI 設定もユーザー単位でしか できない…
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 36 36 ① Teams アプリは全社公開を基本とし、アプリ側の認可で利用を制御 • アクセス許可ポリシーの管理、ユーザーへの適用状況管理は実質不可 • アプリを入れても、認可で使えなくすれば実害はなし ② アプリの説明欄にアプリ詳細をちゃんと書いてもらう • 誰が利用可能なのか、利用するためには何の対応が必要なのか、を明記 • アプリの情報欄に作成者情報があるので、質問があれば連絡先が見えることを確認 結果、この事例をどう解決したか(4)
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 37 37 • Teams カスタムアプリ機能はまだまだ発展途上の代物か • アプリの所有者設定はしっかり管理しておく • Teams 管理センターはアプリの承認だけで、アップロードなどは基本はしないようにする • 所有者設定が消えたら、もう Teams 管理センターしか残された道はなし • Teams カスタムアプリのアクセス制御はアプリ側の認可をまず検討 • Teams のアクセス許可ポリシーは利用できるが、大規模利用には向いていない • Teams アプリの発行時には、利用対象や目的などをちゃんと説明を書いておく • MS さん、早く PowerShell や グループへのポリシー適用アプデお願いします ナレッジ共有(3・4)
• マスター テキストの書式設定 • 第 2 レベル • 第 3
レベル • 第 4 レベル • 第 5 レベル マスタ タイトルの書式設定 38 38 • AADC 経由での ExO メールエイリアス付与について • AADC 経由でのエイリアス付与時には LargeObject に気を付ける • AADC 経由でのエイリアス付与は約 300 エイリアス/ユーザーに抑えるのがベスト • HAADJ パスワードハッシュ同期下でのパスワードリセットについて • M365 管理センターからパスワードリセットするとライトバックが効かない • Microsoft Teams アプリの管理/制御について • Teams 管理センターでのアプリ更新はアプリの所有者設定が消える • アプリのアクセス許可ポリシーは GUI でユーザー単位でしか今は利用不可 • Teams アプリの制御はアプリ側の認可で対応したほうが良さそう まとめ