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 回 J...
Search
Recruit
PRO
August 16, 2022
Technology
0
750
最近、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
『ホットペッパービューティー』のiOSアプリをUIKitからSwiftUIへ段階的に移行するためにやったこと
recruitengineers
PRO
1
54
経営の意思決定を加速する 「事業KPIダッシュボード」構築の全貌
recruitengineers
PRO
1
41
Browser
recruitengineers
PRO
9
2.9k
JavaScript 研修
recruitengineers
PRO
8
1.7k
TypeScript入門
recruitengineers
PRO
36
12k
モダンフロントエンド 開発研修
recruitengineers
PRO
12
6.9k
Webアクセシビリティ入門
recruitengineers
PRO
4
1.8k
攻撃と防御で実践するプロダクトセキュリティ演習~導入パート~
recruitengineers
PRO
4
2.3k
モバイルアプリ研修
recruitengineers
PRO
6
1.9k
Other Decks in Technology
See All in Technology
AWSで始める実践Dagster入門
kitagawaz
1
750
Generative AI Japan 第一回生成AI実践研究会「AI駆動開発の現在地──ブレイクスルーの鍵を握るのはデータ領域」
shisyu_gaku
0
340
COVESA VSSによる車両データモデルの標準化とAWS IoT FleetWiseの活用
osawa
1
410
AIエージェント開発用SDKとローカルLLMをLINE Botと組み合わせてみた / LINEを使ったLT大会 #14
you
PRO
0
130
20250913_JAWS_sysad_kobe
takuyay0ne
2
260
AI時代を生き抜くエンジニアキャリアの築き方 (AI-Native 時代、エンジニアという道は 「最大の挑戦の場」となる) / Building an Engineering Career to Thrive in the Age of AI (In the AI-Native Era, the Path of Engineering Becomes the Ultimate Arena of Challenge)
jeongjaesoon
0
270
Snowflake×dbtを用いたテレシーのデータ基盤のこれまでとこれから
sagara
0
140
S3アクセス制御の設計ポイント
tommy0124
3
210
なぜテストマネージャの視点が 必要なのか? 〜 一歩先へ進むために 〜
moritamasami
0
240
Apache Spark もくもく会
taka_aki
0
150
使いやすいプラットフォームの作り方 ー LINEヤフーのKubernetes基盤に学ぶ理論と実践
lycorptech_jp
PRO
1
180
Terraformで構築する セルフサービス型データプラットフォーム / terraform-self-service-data-platform
pei0804
1
200
Featured
See All Featured
Bash Introduction
62gerente
615
210k
The Invisible Side of Design
smashingmag
301
51k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
Designing for humans not robots
tammielis
253
25k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
The Pragmatic Product Professional
lauravandoore
36
6.9k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
850
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 アプリの制御はアプリ側の認可で対応したほうが良さそう まとめ