未分類

第27回 Office 365 勉強会 & Ignite 2019 セッション一覧の集め方

行ってきました。

第27回 Office 365 勉強会 – connpass

今回はIgnite 2019の動画を見よう!という趣旨で、いつもよりは緩くまったりとした雰囲気でした。方法は、sli.doに見たい動画を投稿して票が多かったものからピックアップです。

見た動画と感想は以下

  • Microsoft Ignite
    • キーノート。これはリアルタイムで全部見てたので、特に今更な感想です…。投票数が多かったから選ばれたけど、確かに私も昔はキーノートを動画で見たことはなかったから、みんなで見たのは(未視聴の人がハマるきっかけとしては)よかったのかな。
  • MyIgnite – From a top-down to flat SharePoint in twenty minutes
    • SPOサイトの構成。私はSPOよくわからないですが、サブサイトというのが諸悪の根源(なのか?)であり、もっとフラットにつながり合おうぜ、というセッションでした。既にあるサブサイトはどうするの→弊社、ShareGateのツールで整理できるぜ、とのセッション付き。
  • MyIgnite – Five steps to driving sustainable SharePoint and Office 365 adoption
    • Teams普及させるにはどうしたらええねん!というセッション。日本でよく言われているチャンピオン制度やアワード制度の他に、本当に解決すべき問題に注力する(WIIFM = 私に何のメリットがあるの?を明確にする)、コンテンツより文脈、流れを重要視しろ、というのが書かれていました。チャンピオン制度については私はそれの成功例を体験していないのですが、これだけみんながいいと言っているならいいんでしょうね…。
  • MyIgnite – The master class on building performance apps with Power Apps
    • 吉田氏のセッション。この間、別件で対応していたのであまりヒアリングできず、でした…。

キーノートの所で特に思ったのが、結局黙って2時間見る形になったので、チャットルームとか、動画の上にコメント投稿できるオーバーレイ的なシステムで参加者同士がコミュニケーションできればいいと思いました。あと、参加者が分散するかもしれませんが、2レーンに分けてそれぞれ見たい動画を見れるといいのかな?と思いました。

Ignite 2019 セッション一覧の集め方

Igniteのセッション1600つくらいの情報を全部ダウンロードしてExcelにまとめたよ、という話をtwitterしたら、主催のもくだいさんから話してくれと言われたので話しました。…が、当日は若干社内の取り組みの話を重視してしまい、集めた技術にはタッチできなかったのでここで説明します。

まずコードはこちら。

teraco/Ignite2019SessionListDownload

「スクレイピング」という、Webブラウザを自動操作して情報を取得する技術を使ってます。岡崎市立中央図書館事件 – Wikipediaやコンサートチケットの転売屋も同じ技術を使っていますが、要は検索エンジンのクローラーを自作するようなイメージです。

スクレイピングを行う言語でメジャーなのがpythonですが、私はnodejs(javascript)でやってます。pythonはツールが乱立しているが、nodejsはGoogle謹製のpuppetter一択であり、初心者的には迷いが少なかったこと、本も出ているのが理由です。

Puppeteer入門 スクレイピング+Web操作自動処理プログラミング

私はpowershellで運用スクリプトを書ける程度のレベルですが、この本を読むことで今回の処理が実装できました。

pythonでもnodejsでも、本物のWebブラウザのRPAみたいにポチポチするのではなく、ブラウザドライバー(Webドライバー)というブラウザのプロセスにアタッチして自動的に操作するモジュールに対して命令を実行します。pythonではselenium、nodejsではchrominiumです。ここらへんの定義はややこしいですが、ひとまずブラウザをAPIで操作してるんだな、くらいの理解でいいです。

SeleniumやらWebDriverやら – Qiita

RPAと違った利点は、RPAが「画面」を操作するのに対して、ブラウザドライバーが「ブラウザをAPIで操作」するので、後者の方がWebサイトのデザイン変更に強い。CSSが更新されてデザインが大幅に変わった場合、RPAだと一環の終わりだが、ブラウザドライバーはHTML要素を見るので問題なく操作可能。

なお、新しく発表されたPower AutomationのUI Flowも後者のブラウザドライバータイプなので、普通のRPAより優位性高いです。もちろん、一番変更弾力性が高いのは、WebシステムそのもののAPIを利用することです。

Microsoft Teamsでプライベートチャネルが使えるようになったので気になるところをリストアップした

リファレンスはこちら。

Microsoft Teams のプライベートチャネル | Microsoft Docs

これ読めばだいたいわかる。以下、気になったところ。

  • 「現在、プライベートチャネルでは、コネクタとタブがサポートされています (ストリーム、プランナー、およびフォームは除きます)。」
    • 既存のPlanner、Streamなどをタブに追加するのは問題ない。裏でO365Gが出来ないから、プライベートチャネルのメンバーに紐づいた秘密のPlannerやStreamが出来ないだけ。
    • これの関連と思われるが、チャネルを指定した会議も出来ないようになっている。
  • 「既定では、すべてのチーム所有者またはチームメンバーはプライベートチャネルを作成できます。」
    • 所有者とメンバーを厳密に分けているチームで、メンバーがプライベートチャネル作って所有者を仲間外れに出来るのはまずいので、メンバーはプライベートチャネルを作れないようにするのがよさそうです。
  • 「プライベートチャネルの所有者は、1つ以上のプライベートチャネルの最後の所有者である場合は、Teams クライアントから削除することはできません。」「プライベートチャネルのメンバーは、プライベートチャネルの所有者になるように自動的に昇格されます。」
    • 所有者なしプライベートチャネルは発生しない仕組みとなる
  • 「 (削除されたプライベートチャネルは、削除されてから30日以内に復元できます)。 ~」
    • 通常のチャネルは21日以内なら復元可能だが、プライベートチャネルは裏でSPOサイトコレクションが出来るので30日となっている。ただ、プライベートチャネルを含むチームを削除して復元する場合にちゃんと復元できるのかなど、復元周りの検証はかなり慎重に調べる必要がありそう(バグありそう?)
  • 「 プライベートチャネルで新しい OneNote ノートブックを作成する場合、動作は、プライベートチャネル SharePoint サイト内の他のアイテムへの共有アクセスと同じユーザーと同じであるため、他のユーザーがノートブックにアクセスすることができます。 」
    • こういう事があるのでTeamsを良く分かってないユーザーに使わせない方がいいのでは

裏で出来るSPOサイトコレクション

今までのチャネル = パブリックチャネルのURLは以下。

https://[テナント名].sharepoint.com/sites/[チーム名]/Shared Documents/[チャネル名]

プライベートチャネルは

https://[テナント名].sharepoint.com/sites/[チーム名]-[チャネル名]/Shared Documents/

と新しいサイトコレクションが出来る。しかしこのサイトコレクションはSPO管理者センターに表示されない。以下記事のSharePoint administrationの項目を参照。また自分のテナントでも検証して確認済み。

Everything you need to know about Private Channels in Microsoft Teams

プライベートチャネルを日本語で作成した場合、URLの元となるチャネル名に半角英数字が含まれないため、空になる。技術部forTeamsというチームに「秘密のチャネル」というプライベートチャネルを追加すると、URLは以下。

https://[テナント名].sharepoint.com/sites/forTeams-/

「秘密のチャネルその二」を追加すると以下

https://[テナント名].sharepoint.com/sites/forTeams-2/

プライベートチャネルでまずいと思われる点

O365グループのメリットを享受できない

プライベートチャネルメンバーでグループが作成できないので、プライベートチャネルメンバーだけのPlannerなどが作成できない。

OneNoteなどモノによっては情報漏洩する

注意するしかないが、ついつい忘れそう。

プライベートチャネルのサイト使用量が確認できない

前述の通り、SharePoint Onlineの管理サイトに表示されないので、プライベートチャネルにたくさんファイルが置かれても管理者が検知できない。…これは何らかワークアラウンドがありそうなので、知ってる人教えてください。

結論

会話とファイルアップロードが主体でプライベートチャネルを使うのならよいが、それ以上の事をやりたいならチームを作るべき。また、会話主体ならチャットチャットの方が昔の履歴を見せる見せないがコントロールできる分よい。例えばマネージャーのチャネルで過去に話したメンバーについての評価を、新しくメンバーからマネージャーに昇格した人が見れてしまったりする(これはチームでも同じだが)

そんなわけで、待望の新機能ですがいざ使えるようになってみるといまいちかも。

MSIgnite2019で楽しみなセッション

11月4日(月)

11月5日(火)

11月6日(水)

11月7日(木)

11月8日(金)

CEATEC 2019 感想

行ってきました。家電総合展示会な時に行った依頼だから15年ぶりくらい?かな。

展示ブース

テーマがSociety 5.0、IoTとかAI、5G、モビリティとかそこらへんのバズワードは全部入り。あ、ブロックチェーンの展示は少なかったです。物理・センサー・電力・工場・材料など、正直、普段なじみのない分野は「すごいなぁ~」と小学生並みの感想で見るしかなかったです。MR・AR系とAI系は多少理解があったので面白く聞けました。消費者として注目なのは5Gですが、正直まだ活用のイメージがみえづらいです。テレビがフルハイビジョン→4Kとなっても面白さはコンテンツで決まるように、ただ回線が早くなってレイテンシが短くなっても、それ相応のアイディアがビジネスにならないとインパクトはない…かな?う~ん俺のアンテナが低いのか…。

その他ブース展示はCEATEC ニュース | CEATEC 2019 ( シーテック 公式サイト )を見れば雰囲気が分かります。

個人的に気になったブース…は別エントリで書きます(このエントリが長くなったので)

カンファレンス

折角なのでカンファレンスも参加しました。どうでもいいけど、エンジニア系のイベントに比べてスーツ・ネクタイ率が異常なほど多かったです。CEATEC 2019 開催概要 | CEATEC 2019 公式サイトの主催企業を見ると国の機関と国に近い産業界 = 昔ながらのメーカーさんが多く、カンファレンスのテーマもそういう人たちを想定したものが多かったです。

「攻めのIT活用」に向けた提言~DX時代のITサービス提供のあり方、テレワーク・デイズにみる働き方改革の実践~

資料はこちら。

CEATEC2019 コンファレンス(ソリューションサービス事業委員会) 資料の公開|JEITA

JEITA – 情報・産業システム部会 – ソリューションサービス事業委員会が主催のセッションで、その配下の委員会(ワーキンググループ相当)の3人の方がそれぞれのテーマに沿って講演されました。

テーマ1.「 攻めの IT 活用」に向けた 提言

ITサービス調達政策専門委員会の方のお話し。この委員会の役割は

  • デジタル・ガバメント実行計画における情報システム調達に関し、制度・ガイドライン等への業界意見の反映
  • ソフトウェア開発モデル契約及び解説(2020年版)の周知

2020年の民法改正にあたってソフトウェア開発モデル契約及び解説の2020年版を出した事が大きな話。民法で担保期間が「引き渡しから1年」→「契約不適合を知った時から1年」に変更されることが大きな話題となっていますが、JEITAの契約書テンプレは「引き渡しから1年」を維持する方針としたようです。

理由はベンダー側の見積もりにリスク費を積むしかなく、ユーザー企業とITベンダー双方が不幸になる契約だから、とのこと。私はよくわかっていませんが、民法が改正されても個別の契約はそれに従わなくてもいいのか?ただ、国と近い機関がこういった指針を出してくれるのは助かります。

あとは、IoTのおかげで製造系のソリューション売り上げが伸びている、との事でした。

テーマ2.「俊敏性を要求されるIT サービス開発・運用」の進め方と日・米先進企業の取り組み事例

ITサービスビジネス環境整備専門委員会の方のお話。

結論としてはデジタルフィードバックループの整備やテスト駆動型開発などでスピードアップ&品質アップ、というエンジニア視点では「知ってた」話ではありますが、これを日米の企業にインタビューしてこういった場で発表している事が価値だな、と思いました。

テーマ3.「 働き方改革の実践と今後の 課題 」

働き方改革専門委員会より、テレワークデイズ2019の報告。テレワークは進んでいるも、ITベンダーのSE職はバックオフィスよりもテレワーク率が低い。なぜならそれは、客先常駐で縛られているSEが多いからだ!!!!という提言。いやぁこういう事を言ってくれると、大変心強いですねw

最後のまとめとして、ユーザー企業とIT企業が相互理解して働きやすい環境を作っていきましょう、で締めてました。

“働き方改革”は”生き方改革”~IT活用による幸せな働き方の実現に向けて~

資料はこちら。

CEATEC2019 コンファレンス(ソフトウェア事業戦略専門委員会) 資料の公開|JEITA

下町ロケットのアイスブレイクから始まり、ブラック企業という指摘もあるけど、夢にあふれてみんな楽しそうなのはいいよね、ホワイト企業でそれを実現すれば一番いいじゃん!と。時短だけの働き方改革は終わった。これからは幸せに働く事をゴールに設定すべき、との提言です。まぁ勤務時間長くても、その人が楽しければいいですからね。他の人にそれを強要したり、長時間労働しないと評価されなかったりするのは問題ですが。

実際、楽しく働けている環境の方が労働生産性は高いらしい。当然、離職率も少ない。

これを実現するために委員会が注目しているのがHRTech。けどツールを入れるだけじゃだめでツール + 社内の制度改革や意識改革が必要とのこと。

このセッションは非常に示唆に富むというか、働き方改革の次が見えたので考えさせられました。ITベンダーとしてはツール導入してなんぼ、というスタンスでしたが、ツールを導入した会社が変わる事を強く意識しないといけないと思いました。

全体的に「国のくせにちゃんと考えてるじゃん」って感じでした(上から目線ですまん)。さすがに先進的なIT企業からは遅れますが、1年~2年以内にしっかりキャッチアップしてるのな。日本のレガシーな大企業に広がるのはその後としても、国から近い企業はしっかり指針を守るし。となると、ちょっと前に出ていた「日本がダメなのは中小企業が多すぎるから」みたいな主張に現実味を感じてしまう…。

超スマート社会で活躍できる人材になるために-情報処理学会が提供するセミナーと高度IT人材資格CITP-

資格制度の紹介セッションでした。

認定情報技術者制度

まぁ…そんなに面白くなかったです。IPAの高度資格というのがありまして、そのレベル4を持っている人はCITPを受験できる。PMPとかと同じで更新制度があるので、世界的に認められる資格ですよ、とのこと。

面白かったのは、更新制度の内容が「引き続きプロとして活動してますか?」を問う内容なのですが、業務継続はもちろん、こういった委員会に参加したり、自分が講演者になって後進を指導したりが評価されるようです。草の根でやってるOffice 365 勉強会なんかで登壇してもカウントされるのかな、というのは非常に気になりましたが…。眼中にあるのかなぁ…。

こんな感じでCITPの人達が情報交換しているので、こういった所に参加すればよいようです↓

CITP Community | 情報処理学会 CITPホルダが運営するコミュニティサイトです

NECさんとか日立さんにいれば自然と情報は行ってきそうですが、弊社なんて国とはかけ離れた商売しているので全く肌感ないですしこの資格取っても会社で評価されないですな。渋谷や六本木のITベンチャーやGoogle、Amazonも同じ感じかも。この辺両立しているのは、サイボウズさんやマイクロソフトさんのイメージが強いですね~

デザイン思考とアジャイル開発による超高速な新製品開発事例

Star株式会社さんのセッション。セッションタイトルとは裏腹に45分くらいが自社事例のアピールで残り15分がTipsでした。Star株式会社は2008年に欧州で発祥した企業で、2019年3月から日本拠点でビジネスをスタートしたので情報が少ない。

戦略・デザイン・開発・マーケティングまでワンストップに企業・組織の課題を解決“デザイン思考”主導型テクノロジーファーム「Star」がサービスを開始。|Star株式会社のプレスリリース

一言でまとめると、デザイン寄りのコンサルティングファームって感じでしょうか。ユーザー体験とかマーケティングとかのプロで、お客様のプロトタイプ開発を正しい方向に高速にドリブンする、みたいな。募集要項見てもそんな感じかな…。

[JP in Eng] Solutions Architect – Star

プロダクトはWebだけではなく車のダッシュボードやフィットネスのスマホアプリまでなんでもやる。エンドユーザー体験を強化するフレームワークを強みとして持っているので業界・ツールは問わない、という感じでしょうか。

高速開発のTips集は以下の資料の最後に書いてあります。

CEATEC 2019 におけるStar株式会社のご紹介資料ダウンロードサイト

ただ、内容に目新しさはなかったです。思うに、有名テック企業だと普通に出来ているような事を、非テック系企業に持ち込んで会社の仕組みを変えつつドライブすることが価値なのかな?まぁそれをレガシーな会社で実現する事が難しいんだろうけど…。

成功事例を見ても、他の会社ではできなくて、Star株式会社だと出きる、ってポイントが分かりづらかったです。Star株式会社は有能な人しか採用しない、とかなら納得だけどw

第26回 Office 365 勉強会

行ってきました。私が参加するのが1年ぶりぽいので久しぶり感はあります。

第26回 Office 365 勉強会 – connpass

Microsoft Teams マナー講座

某社でトレーナーをされているもくだいさんのセッション。自社のTeamsに多少物申したいこともあるみたいですが、弊社よりは上手く運用できているような…。セッション自体はTeamsの使い方というより、ビジネスチャットを使う時の全般的な心掛けのような話だったと思います。チャットっていうのはメールよりも依存性が高いと思うんですよね。メールするのが面倒だから話しかけるのはあるけど、話すの面倒だからチャット送っておく、とか。

製品の機能というより、人間的なコミュニケーションをいかにチャットで上手くやるのかが大事、というのをみんなが気付き始めてるのかな、とは思います。私個人はそんなに議論が発生するようなTeamsに入ってないんだけど、意見がぶつかり合うような集団をTeamsで上手くやるってのはかなり難しいんじゃないかな、と。twitterなどのネットツールは今ある感情を増幅する装置だと思っているので、意見が違う集団の折り合いをつけるってのは大変ですね。

前に投稿したけど、Teamsで5往復以上同じ人がやり取りしてたら、チャットやめて話に行く/電話する、というのはいいと思ってます。

SharePoint モダンサイト ライブビルディング!

ラグビーワールドカップのサイトをSPOモダンで作る。ちなみにこのブログも日本×サモア見ながら書いてます。短期間で鮮やかに…準備しておいたJSONを使って美しいサイトを作り上げておりました。えーっと、まず思ったのはそもそもSPOでこんな事が出来るとは全く想像もしなかったわけです(私は)。近年マイクロソフトも「ライセンスを売るより使用率向上を」と言っておりますが、こういう憧れるサイトとか、あるいは地に足の着いたサイトとかが簡単に作れるぜ!ってのを知れたらうれしいです。Power Platform勢はそこらへんの発信が多い気がするんだけどなぁ…。まぁMS的にはTeams使ってくれてたらSPOもONだから関係ねぇ、という感じなのかな?

JSONについては形式を勉強するのは必要ですが、望むべきはJSONなんて書かずにGUIでそのままデザインしたいですね。マウスを動かして終わりとか…。んで、裏側でJSONが自動生成されて、手でちょちょっと修正できるようであれば素晴らしい。

Exchangeエンジニアとしてこの先生きのこるには

Exchangeエンジニアとしてこの先生。自分のExchange Server 2003時代から生粋のExchangeエンジニアだったので身につまされます。想像できること今後のキャリアプランはその通りだし、オンプレExchangeおじさん化するのも1つの道だと思いました。実際、弊社にも謎オンプレExchange案件とかたまに来ますし、いまだにオンプレExchange使いたい顧客は金持ってる(けど要求うるさい)ので、ある程度合理的かなと思います。

ちなみに私もこの件について考えたことがありましたが、安易な気持ちでオンプレExchangeエンジニアを突き詰めるのはやめた方がいいと思いました。オンプレExchangeの需要が減っていくペースと、オンプレExchangeエンジニアの母数の事を考えたのですが、仮定として昔オンプレExchangeでならしたけど、今のクラウド技術についていけないエンジニアがいる。その人たちはオンプレに固執して安い工数でオンプレExchange案件を受注するとする。となると、案件に対してエンジニアの数が多くなり、しょぼいエンジニアは切られ、普通レベルのエンジニアの単価も下がるんじゃないか、と。

少なくとも、今の新卒にオンプレExchange案件やらせるのは不利かな、と。クラウド勉強する気がないとは言え、オンプレのストレージ/ネットワーク経験は十分にあるおじさんの方が、オンプレExchangeを導入しようとする企業にはウケがいいですから…。新卒がそこに追いつくのは大変。

その他、詳しくは書けませんが、はてな匿名ダイヤリーの退職エントリを読むよりは何倍もためになる話が聞けたので良かったです。

(管理者はあまり想定していない?)OneDrive for Businessのちょっとした落とし穴

OD4B分かってないおじさん問題。しかしながら、OD4Bって機能が高度過ぎて安心して使えない、ってのは分かる。SPOで履歴管理できるよ、って言われてもたまーに復元に失敗するし(これがマジ致命的)、日付名管理する方が安全。たとえ復元できても、3,4バージョンのファイルを同時に表示できるようにしてほしいはわ…。それかgithubみたいに差分表示。この手の話題が出てくるたびに、ラピュタの「地に足をつけて生きよう」ってフレーズが思い出されます(ナウシカだっけ?)

ちないに最近Office Onlineの真価が激しいので、近い将来、マジでPPTとかExcelの差分を表示できるようになってくれれば、と期待しています。

感想まとめ

そんな感じっす。今回はコミュ障して現場でほぼ誰とも話さず帰ってきましたが、来月ナイスなイベントがあるので、そこではちゃんとコミュニケーション取りたいと思います。

Global Microsoft 365 Developer Bootcamp 2019 Tokyo – connpass

パスワード付きZIP暗号化を擁護してみる

「パスワード付きZIP暗号化」とは、ZIPファイル作成時にパスワードを設定し、解凍時にそのパスワードを入力する事で解凍するものである。日本企業では主にメールで添付ファイルを送信する時に利用されているが、セキュリティ的には事実上無意味とされている。

Lhaplusでzipファイルのパスワードを解除しよう | 地デジコピーはじめました。

パスワード付きZIP暗号化のメリット

仕組みが分かりやすく、Windows標準で解凍できる

キャッシュカードなどで慣れている暗証番号の延長線上であり「大事な情報にパスワードをかける」という分かりやすさ。またWindows標準で解凍できるので、相手が読めない、ということがほぼない。

情報がたくさんある

「MacOSではどうかな?」と思って調べたところ、標準のFinder(Windowsのエクスプローラーみたいなもの)では解凍できず、コマンドを使う必要がある。しかしそういう情報もすぐに見つかったので、方法が分からず悩む事はない。

まるでセキュアに見えるユーザー体験

セキュリティ業界は「セキュリティと利便性の両立を目指す」事を目標にいろんな製品を開発しているが、皮肉なことに簡単に開けすぎると「本当に守られてるのかな?」と思ってしまうのも人間。パスワードを知っている人しかアクセスできない、パスワードは十分に複雑な文字とし、苦労しないと解凍できない、というのは「これだけ面倒なんだからセキュアだろう」と安心することができる。

すぐにパスワードが割れるわけではない

総当たりでパスワードが割れるとはいえ、桁数を多くしてパスワードを複雑にすれば解析にはそれなりに時間がかかる。試しに手元のCore(TM) i7-6600U 2.6GHzのマシンでLhaplusを動作させたところ、秒間280,000パターンの解析が可能であった。一方、ZIP暗号化パスワードに記号を含む文字列を使用している場合、文字数は255パターンであるため、パスワード長が1だと255パターン、パスワード長が2だと、65535パターン…となり、パスワード長と解析時間の関係は以下の通りとなる。

文字列長 パターン数 解析時間
1 256 0.0009秒
2 65536 0.23秒
3 16777216 1分
4 4294967296 4.2時間
5 1099511627776 45日
6 281474976710656 31年
7 72057594037927900 8160年
8 18446744073709600000 2089080年
9 4722366482869650000000 534804496年
10 1208925819614630000000000 136909950942年

もちろん、スーパーコンピューターが自由に使える立場の人ならこの表は無意味だが、一般社員がファイルを受け取って、自分のPCですぐにZIP解凍パスワードを当てる、というのは難しい。よって以下のようなシナリオなら十分に対応可能である。

  • 取引先Aに送信すべき添付ファイル付きメールを、誤って取引先Bに送信。
  • 取引先Aには、ZIP暗号化の解凍パスワードだけを送信
  • 取引先Aから、添付ファイルの実体が送信されてない事の連絡を受ける
  • メール送信履歴を確認し、メール宛先間違いに気づく
  • 取引先Bに連絡し、宛先間違いなのでメールを破棄してほしい、と連絡
  • 取引先Aに事故報告書を提出

この際、取引先Aには誤って取引先Bに添付ファイル付きメールを送信したものの、ZIP暗号化されており短時間で閲覧できる可能性は少ないため、事実上情報漏えいはないと報告できるだろう(もちろん、取引先Bの協力を経て、メールが転送されてないなどの監査ログを取得する必要はあるが)

パスワード付きZIP暗号化のメリットまとめ

  • 分かりやすい
  • 一般的
  • まるでセキュア
  • すぐには情報漏えいしない

パスワード付きZIP暗号化への対抗ソリューション

一番重要なのは分かりやすくて一般的であること。”一般的”の目安は「マスメディアで話題にできるほど」だと考えていて、パスワードの他には生体認証も市民権を得ているし、最近だと二要素認証も認知され始めた。

これらは認証技術だが、ファイル共有の仕組みとしてはビジネスチャット利用による、限定されたグループメンバー内でのファイル共有、オンラインストレージを利用したファイルリンク共有も広まってほしい。前者は、意識せずともメンバー以外にファイルが漏れない仕組みであり、後者はZIP暗号化と違ってファイルリンクの誤送信 = 即情報漏えいになるものの、アクセス履歴が取得でき、アクセス権をすぐに削除できるメリットはある。

また”一般的”の定義も時代によって変わってくると思っている。仕事のメールをスマホで閲覧する時代「ZIP暗号化メールはスマホで見れないから送信しないで or オンラインストレージで共有して」という流れができるかも、と思っている。

ということで、パスワード付きZIP暗号化ソリューションはそこそこ浸透しているが、世の中の潮目が変わる時が覇権の代わり時なのかな、と思っています。会社にパスワード付きZIP暗号化をやめさせたい場合は、これを意識して論じる必要があるな、と思いました。

OWAで受信した添付ファイルを3rdパーティー製クラウドストレージに保管できてしまう

件名のような驚きの機能がリリースされました。以下、マイクロソフト社のリリース全文です。

Microsoft 365 ロードマップ | Microsoft 365

We’re updating how 3rd party storage providers work in Outlook on the web. To offer an enhanced experience and easier management we are retiring the ThirdPartyFileProvidedrsEnabled and OneDriveAttachmentsEnabled parameters and replacing them with the new AdditionalStorageProvidersAvailable parameter.

This message is associated with Office 365 Roadmap ID 52597.

This feature is not available for Office 365 subscriptions in GCC.

How does this affect me?
This update includes the following changes:

The parameter ThirdPartyFileProvidrsEnabled will no longer control 3rd party storage providers
The parameter OneDriveAttachmentsEnabled will no longer control OneDrive for personal accounts
The new parameter AdditionalStorageProvidersAvailable adds additional 3rd party storage providers to the ones you had before in Outlook on the web, new providers include OneDrive for personal accounts, Google Drive, and Facebook.
This new paramater will be set to $True (“on-by-default”) starting on August 15 for Targeted Release customers and 8/30 for Standard Release customers.
The parameter will be available for you to change it in late July, and the change in the availability of 3rd party storage providers will be gradually rolling out to Targeted Release customers on August 15, and to Standard Release customers on August 30.

Note: OneDrive for Business is not affected by this change or included in this new parameter.

What do I need to do to prepare for this change?
If you want your users to have access to 3rd party storage providers in Outlook on the web, there is nothing you need to do. They will see the providers when we make the update.

If you don’t want your users to have access to 3rd party storage providers in Outlook on the web that are not part of your Office 365 commercial subscription, then:

1. If you are in Targeted Release – Before August 15 you will need to make a change in the set-OwaMailboxPolicy cmdlet using PowerShell.

2. If you are in Standard Release – Before August 30, you will need to make a change in the set-OwaMailboxPolicy cmdlet using PowerShell.

Please, read the additional information link to learn what parameters you need to change from $true to $false in set-OwaMailboxPolicy.

この機能、実は以前よりOWAに実装されていましたが、規定値がOFFなのであまり気にされてこなかったもの。今回は、パラメーターが一新され、規定値がONの状態でリリースされるとの事で、問題と感じます。

実際の動作(想定)

現状、まだ機能がリリースされていないため想定ですが、現状でも3rdパーティー製クラウドストレージへの認証情報入力はできますので、以下のようにOWAの設定画面より認証してみます。認証に成功すると、添付ファイルの保存先として3rdパーティー製クラウドストレージを選択できます。以下の図はとあるテナントで機能を有効にし、Dropboxの認証を設定した状態。

Dropbox側にもばっちり連携出来てます。

現状、添付ファイルをそのまま保管する事はできませんが、3rdパーティー製ストレージのファイルを添付ファイルとして送信することができます。

制御方法

先行リリース有効なテナントは8/15まで、通常テナントは8/30までに

Set-OwaMailboxPolicy -id [ポリシー名] -AdditionalStorageProvidersAvailable $false

を実行すれば機能をOFFにできます。手元のテナントでコマンドを発行しましたが、見た目は何も変わってません。先行リリーステナントでも8/15に機能がリリースされるので、それ以降に検証することになりそうです。

おそらくですが、OWAで3rdパーティー製ストレージの認証情報を入力できなくなるのかな…。

問題点

そこそこの規模の企業だと、情報流出対策として許可されていないクラウドストレージにデータが保管できないような対策を行っています。今回のアップデートはその対策に穴をあけるような機能であり、セキュリティインシデントの原因となる可能性があります。しかも、アナウンスからリリースまでが1か月弱と短く、短期間で対応する必要があります。

最近のマイクロソフト社はこの手の機能をリリースする際は規定値OFFかつアナウンス期間も長めに取っていたのに、今回の変更は規定値ONかつ急なリリースで驚いています。どういう力学でそうなってしまうのか…。

Teamsのライブイベントの3大メリット

Microsoft Teamsには、Web会議の一種として”ライブイベント”というものがあります。

Microsoft Teams のライブ イベントについて | Microsoft Docs

従来のWeb会議と比べて大規模なミーティングに最適…という売り文句ですが、いまいち使い道が分かりませんでした。しかし、一度使ってみて場面によっては非常に使える事が分かったので、実際に使ってみたメリットを書きます。

想定利用シーン

会社の人事制度が変更されることになり、人事部門がセミナールームでプレゼンテーションを行うことになった。セットでTeams会議(今回は、ライブイベント)が設定され、リモートで視聴する事が出来る。

ライブイベントの三大メリット

匿名QAが使える

一番のメリットがこれだと思います。この手の会議で「最後の質問ある人~?」と言っても誰も手を上げず、会議が終わった後にコソコソ聞きに来る。それ、やめーや。とはいえ、人事制度の改定ともなると「私、2年以内に昇進しようと思ってるんですけど、今回の改定って影響します?」なんて聞き辛い。

そこでライブイベントの匿名QA機能。ライブイベントで使えるQAは、参加者が匿名で質問を投稿することが出来ます。これ、本当に匿名で、ライブイベントが終わった後に主催者がQA一覧をcsv形式でダウンロードできるんだけど、そこにも名前は入りません。もちろん、監査ログレベルで追っていけば調査する事は出来るかもしれないですが、コンプライアンス管理者権限が必要なので、通常は好き勝手見れるものではない。

匿名QA、技術イベントでも使えると思います。「こんなつまらない事、みんなの前で質問するのは恥ずかしい」という場合は匿名で質問する。実名でも気にすんな!と思いますが、後で聞きに来られるよりはマシでしょう。

なお、発生した質問は主催者が匿名のまま公開して「よくある質問」にピン留めすることが出来ますし、特に公開するほどの質問でもなければ回答だけして終わる事も出来ます。この場合、QAが見えるのは質問した人と主催者だけで、他の参加者は見ることが出来ません。

不要な参加者を黙らせることができる

20人くらいTeams会議参加すると一人くらいはマイクがONになってて「誰か~マイクOFFにして下さい~」「わっはっは俺だった」みたいなやり取りが発生しがちです。ライブイベントだと参加者に発言権がないので、必然的にこういう事は防げます。機能としてはみなさん知っていると思いますが、体感するとストレス低減されて意外と便利。

画質向上

実際にうちの会社でライブイベントを利用したところ、ほぼ全ての参加者より「普通のTeams会議より明らかに画質が上だった」と感想をもらいました。普通のTeams会議もCDNは利用しているはずだし、何がそんなに差が出るのだろう…と思って考えてみたのが以下。

  • Teams会議は双方向通信、ライブイベントは一方向通信。
    • 双方向の場合、全ての参加者がメディアを発信する可能性を考慮する必要があるが、一方向なら主催者からのデータ発信に最適化したトポロジを利用できる
  • Teams会議はリアルタイム、ライブイベントは10秒~20秒遅れている。
    • リアルタイムだと発生したメディアを即伝達する必要があるが、遅延が許されるのなら、エンコードして最適なサイズになったメディアを配信すればよい

ということで、ロジック的にライブイベントの方が有利だから、画質も良くなるんだなと思いました。

ライブイベント利用の注意点

利用シーンによっては非常に強力なライブイベントですが、注意点もあります。

死んでもライブイベントを途中終了させない

終了したライブイベントは二度と再開することが出来ません。Teams会議の時のクセで「なんか画質悪いって意見あるから、いったんイベント終了させますね~」とやると終わり。ちなみにPCの調子が悪い場合は、ライブイベントを終了させずPCだけ再起動すれば、ライブイベントは継続したままとなります。

QAが動作しない場合を想定して対策を取る

ライブイベントには現状「参加者からQAが見れない」というバグが存在します。こうなってしまうと、参加者から主催者に意思を伝える手段がなくなってしまうので、QA以外のバックアップを用意するのがよいです。例えばイベントに対する問い合わせ窓口のメールとか、匿名投稿が可能なFormsとか。

お勧めとしては、SharePoint Onlineのサイトページ、またはYammerの投稿を作成し、そこにライブイベントのURLを投稿する。全社にライブイベントのお知らせをする際に、ライブイベントのURLではなくSharePoint OnlineのページまたはYammerのページを案内し、ライブイベントで何か不具合があればそこに書き込んでもらう。これなら、万が一間違ってライブイベントを終了させてもページを通じて参加者にアナウンスできるので安心です。

まとめ

Teams会議より前準備が必要で気軽ではないように見えるライブイベントですが、シーンを選べば非常に強力なので、みなさん使ってみてください。

Teamsのチャネルメッセージを完璧にエクスポートしたい

Teamsのチームは用途が終わったら削除する前提で設定されていますが、削除前に会話のエクスポートが出来ません。なのでこんな感じで困ります。

  • 情報システム部「もうそのチーム使い終わったでしょ!成果物のファイルを整理して、チーム削除して」
  • チームオーナー「削除してもいいけど、会話は後で参照したいから残しといて」
  • 情報システム部「ぐぬぬ」

よっていつまで経ってもゴミチームが残ったままです。

Teamsのチャネルメッセージをエクスポートする方法

1. セキュリティ/コンプライアンスからエクスポート

セキュリティ/コンプライアンスを使えば、Teamsのチャネルメッセージをエクスポートできます。しかしながら

  • チャネル毎にエクスポートできない
  • 親投稿や返信の関係性をうまくエクスポートできない

という問題があります。あくまで監査用であり、ユーザーが見やすい形でエクスポートはできないようです。

2. GraphAPIを使ってエクスポート

APIを使えばチャネル毎に親投稿や返信の関係性も含めてエクスポートできます。

ということで、2でやります。

技術的な話

APIはこちら。

こんな感じで取得します。

  • チーム特定(ID取得)
    • GET /groups/
  • チーム/チャネル特定(ID取得)
    • GET /teams/{id}/channels/
  • 指定したチャネルの親投稿一覧取得
    • GET /teams/{id}/channels/{id}/messages/
  • 指定した親投稿への返信取得
    • GET /teams/{id}/channels/{id}/messages/{id}/replies

他の事例はこちら。

てことで、取るだけなら割と簡単です。

完璧なエクスポート

ここからが本題です。Teamsのチャネルメッセージにはさまざまな形式で投稿できるため、完全な再現を目指すとそれらを全て取得する必要があります。考慮すべきメッセージ種別を一覧にしてみました。

  • ユーザーの投稿
    • メッセージ属性
      • 投稿者
      • 投稿日時
      • 編集日時
    • メッセージヘッド
      • 投稿/アナウンス
      • アナウンスヘッド
      • アナウンス背景画像
      • サブヘッド(件名)
    • メッセージ重要度(重要/普通)
    • メッセージ本文欄
      • メンション
        • 個人メンション
        • チャネルメンション
        • チームメンション
      • メッセージ本文
        • 日本語
        • 日本語以外
        • 絵文字
        • Giphy
        • ステッカー
      • HTML装飾
        • 太字/斜体/下線/取り消し線
        • ハイライト/フォントの色/フォントサイズ
        • 段落(見出し1/見出し2/見出し3/段落/等幅
        • インデント/箇条書き/段落番号
        • 引用/リンク/コードスニペット
        • 段落罫線/表
      • 画像挿入
        • 画像
        • gif画像(そもそも挿入可能?)
      • 添付ファイル
      • リアクション(いいね)
        • いいね/ハート/笑い/びっくり/悲しい/怒っている
        • リアクション者
  • ユーザー以外の投稿
    • botの投稿
    • コネクタ
    • IncomingWebhook
    • メール投稿

うーん、めんどくさい。

単純な取得

ひとまず少しやってみましょう。

こいつをエクスポートしたのがこちらです。ちなみに以下のAPIをGETで叩いてます。

https://graph.microsoft.com/beta/teams/738f192b-de2d-4cb2-bda8-0273cc7299ba/channels/19:51b38c312f234daa9bb8e9d05aafd796@thread.skype/messages/1565397760720/replies

{
“@odata.context”: “https://graph.microsoft.com/beta/$metadata#teams(‘738f192b-de2d-4cb2-bda8-0273cc7299ba’)/channels(‘19%3A51b38c312f234daa9bb8e9d05aafd796%40thread.skype’)/messages(‘1565397760720’)/replies”,
“@odata.count”: 5,
“value”: [
{
“id”: “1565398720134”,
“replyToId”: “1565397760720”,
“etag”: “1565436221717”,
“messageType”: “message”,
“createdDateTime”: “2019-08-10T00:58:40.134Z”,
“lastModifiedDateTime”: “2019-08-10T11:23:41.717Z”,
“deletedDateTime”: null,
“subject”: “”,
“summary”: null,
“importance”: “normal”,
“locale”: “en-us”,
“webUrl”: “https://teams.microsoft.com/l/message/19%3A51b38c312f234daa9bb8e9d05aafd796%40thread.skype/1565398720134?groupId=738f192b-de2d-4cb2-bda8-0273cc7299ba&tenantId=1ae8725b-e1ff-45f3-b4ff-fb21ab4dc17f&createdTime=1565398720134&parentMessageId=1565397760720”,
“policyViolation”: null,
“from”: {
“application”: null,
“device”: null,
“conversation”: null,
“user”: {
“id”: “72c2cf01-fc7b-4b30-8020-798e87831dcc”,
“displayName”: “Administrator MOD”,
“userIdentityType”: “aadUser”
}
},
“body”: {
“contentType”: “html”,
“content”: “<div><div>\n<div>\n\n<div itemprop=\”copy-paste-block\”>\n\n<div style=\”font-size:14px\”>\n\n<div style=\”font-size:14px\”>10_convでの返信です。いいねなどを付与します<span class=\”animated-emoticon-20-smile\” title=\”スマイル\” type=\”(smile)\”><img itemid=\”smile\” itemscope=\”\” itemtype=\”http://schema.skype.com/Emoji\” src=\”https://statics.teams.microsoft.com/evergreen-assets/skype/v2/smile/20.png\” alt=\”😄\” style=\”width:20px; height:20px\”></span></div>\n</div>\n</div>\n</div>\n</div>\n</div>”
},
“attachments”: [],
“mentions”: [],
“reactions”: [
{
“reactionType”: “heart”,
“createdDateTime”: “2019-08-10T00:58:44.29Z”,
“user”: {
“application”: null,
“device”: null,
“conversation”: null,
“user”: {
“id”: “72c2cf01-fc7b-4b30-8020-798e87831dcc”,
“displayName”: null,
“userIdentityType”: “aadUser”
}
}
}
]
},
{
“id”: “1565398694352”,
“replyToId”: “1565397760720”,
“etag”: “1565398707790”,
“messageType”: “message”,
“createdDateTime”: “2019-08-10T00:58:14.352Z”,
“lastModifiedDateTime”: “2019-08-10T00:58:27.79Z”,
“deletedDateTime”: null,
“subject”: null,
“summary”: null,
“importance”: “normal”,
“locale”: “en-us”,
“webUrl”: “https://teams.microsoft.com/l/message/19%3A51b38c312f234daa9bb8e9d05aafd796%40thread.skype/1565398694352?groupId=738f192b-de2d-4cb2-bda8-0273cc7299ba&tenantId=1ae8725b-e1ff-45f3-b4ff-fb21ab4dc17f&createdTime=1565398694352&parentMessageId=1565397760720”,
“policyViolation”: null,
“from”: {
“application”: null,
“device”: null,
“conversation”: null,
“user”: {
“id”: “72c2cf01-fc7b-4b30-8020-798e87831dcc”,
“displayName”: “Administrator MOD”,
“userIdentityType”: “aadUser”
}
},
“body”: {
“contentType”: “html”,
“content”: “<div><div>\n<div>\n\n<div itemprop=\”copy-paste-block\”>\n\n<div style=\”font-size:14px\”>10_convでの返信です。</div>\n\n\n<div style=\”font-size:14px\”>改行付き。HTML形式(拡張ボックスを開かない)</div>\n</div>\n</div>\n</div>\n</div>”
},
“attachments”: [],
“mentions”: [],
“reactions”: []
},
{
“id”: “1565398692352”,
“replyToId”: “1565397760720”,
“etag”: “1565398692352”,
“messageType”: “message”,
“createdDateTime”: “2019-08-10T00:58:12.352Z”,
“lastModifiedDateTime”: null,
“deletedDateTime”: null,
“subject”: null,
“summary”: null,
“importance”: “normal”,
“locale”: “en-us”,
“webUrl”: “https://teams.microsoft.com/l/message/19%3A51b38c312f234daa9bb8e9d05aafd796%40thread.skype/1565398692352?groupId=738f192b-de2d-4cb2-bda8-0273cc7299ba&tenantId=1ae8725b-e1ff-45f3-b4ff-fb21ab4dc17f&createdTime=1565398692352&parentMessageId=1565397760720”,
“policyViolation”: null,
“from”: {
“application”: null,
“device”: null,
“conversation”: null,
“user”: {
“id”: “72c2cf01-fc7b-4b30-8020-798e87831dcc”,
“displayName”: “Administrator MOD”,
“userIdentityType”: “aadUser”
}
},
“body”: {
“contentType”: “html”,
“content”: “<div>\n<div itemprop=\”copy-paste-block\”>\n\n<div style=\”font-size:14px\”>10_convでの返信です。</div>\n\n\n<div style=\”font-size:14px\”>改行付き。テキスト形式(拡張ボックスを開かない)</div>\n</div>\n</div>”
},
“attachments”: [],
“mentions”: [],
“reactions”: []
},
{
“id”: “1565398674509”,
“replyToId”: “1565397760720”,
“etag”: “1565398674509”,
“messageType”: “message”,
“createdDateTime”: “2019-08-10T00:57:54.509Z”,
“lastModifiedDateTime”: null,
“deletedDateTime”: null,
“subject”: null,
“summary”: null,
“importance”: “normal”,
“locale”: “en-us”,
“webUrl”: “https://teams.microsoft.com/l/message/19%3A51b38c312f234daa9bb8e9d05aafd796%40thread.skype/1565398674509?groupId=738f192b-de2d-4cb2-bda8-0273cc7299ba&tenantId=1ae8725b-e1ff-45f3-b4ff-fb21ab4dc17f&createdTime=1565398674509&parentMessageId=1565397760720”,
“policyViolation”: null,
“from”: {
“application”: null,
“device”: null,
“conversation”: null,
“user”: {
“id”: “72c2cf01-fc7b-4b30-8020-798e87831dcc”,
“displayName”: “Administrator MOD”,
“userIdentityType”: “aadUser”
}
},
“body”: {
“contentType”: “text”,
“content”: “10_convでの返信。HTML形式です。ただ、投稿はただのテキストでやります。”
},
“attachments”: [],
“mentions”: [],
“reactions”: []
},
{
“id”: “1565397786658”,
“replyToId”: “1565397760720”,
“etag”: “1565397786658”,
“messageType”: “message”,
“createdDateTime”: “2019-08-10T00:43:06.658Z”,
“lastModifiedDateTime”: null,
“deletedDateTime”: null,
“subject”: null,
“summary”: null,
“importance”: “normal”,
“locale”: “en-us”,
“webUrl”: “https://teams.microsoft.com/l/message/19%3A51b38c312f234daa9bb8e9d05aafd796%40thread.skype/1565397786658?groupId=738f192b-de2d-4cb2-bda8-0273cc7299ba&tenantId=1ae8725b-e1ff-45f3-b4ff-fb21ab4dc17f&createdTime=1565397786658&parentMessageId=1565397760720”,
“policyViolation”: null,
“from”: {
“application”: null,
“device”: null,
“conversation”: null,
“user”: {
“id”: “72c2cf01-fc7b-4b30-8020-798e87831dcc”,
“displayName”: “Administrator MOD”,
“userIdentityType”: “aadUser”
}
},
“body”: {
“contentType”: “text”,
“content”: “10_convでの返信です。”
},
“attachments”: [],
“mentions”: [],
“reactions”: []
}
]
}

返信が降順に並んでるなぁとかいろいろ思う所はありますが、本文欄に注目してみましょう。

拡張メッセージボックスを展開せず、一行だけで記載したメッセージはHTML形式ではなくテキスト形式で保管されるようです。

“body”: {
“contentType”: “text”,
“content”: “10_convでの返信です。”
},

一方、改行を含めたメッセージを投稿すると、HTML形式になるようです。まぁ一行だけで記載したメッセージ以外はのきなみHTML形式になるのでしょうか。つーか文字の大きさはfontで定義されてるのですね。

“body”: {
“contentType”: “html”,
“content”: “<div><div>\n<div>\n\n<div itemprop=\”copy-paste-block\”>\n\n<div style=\”font-size:14px\”>10_convでの返信です。</div>\n\n\n<div style=\”font-size:14px\”>改行付き。HTML形式(拡張ボックスを開かない)</div>\n</div>\n</div>\n</div>\n</div>”
},

絵文字なんかも再現されるようです。Unicodeで定義されてるやつなんでしょうか?

“body”: {
“contentType”: “html”,
“content”: “<div><div>\n<div>\n\n<div itemprop=\”copy-paste-block\”>\n\n<div style=\”font-size:14px\”>\n\n<div style=\”font-size:14px\”>10_convでの返信です。いいねなどを付与します<span class=\”animated-emoticon-20-smile\” title=\”スマイル\” type=\”(smile)\”><img itemid=\”smile\” itemscope=\”\” itemtype=\”http://schema.skype.com/Emoji\” src=\”https://statics.teams.microsoft.com/evergreen-assets/skype/v2/smile/20.png\” alt=\”😄\” style=\”width:20px; height:20px\”></span></div>\n</div>\n</div>\n</div>\n</div>\n</div>”
},

いいねも取得できますが、いいねをしたユーザーはIDでしか表現されないので、名前まで表示するなら別途ユーザー情報とマッチングしなければいけないですね。

{
“reactionType”: “heart”,
“createdDateTime”: “2019-08-10T00:58:44.29Z”,
“user”: {
“application”: null,
“device”: null,
“conversation”: null,
“user”: {
“id”: “72c2cf01-fc7b-4b30-8020-798e87831dcc”,
“displayName”: null,
“userIdentityType”: “aadUser”
}

…ということで、完璧なエクスポートをしようとすると

  • Teamsのメッセージ種別に対してAPIでどのようにエクスポートされるかを確認
  • それをどのように再現するかを設計

する必要があります。

さて、個人でこれを全てフォローするのはかなり面倒なことが分かったので、後は弊社開発部門のメンバーに丸投げしようと思います(がんばって…) 気分が向いてくれればサクっとツール作って外販できるようになってるかもしれません。あるいはBitTitan社のような3rdパーティー製ソリューションを利用するのもアリですね。

まぁこの手のツールは目的から考えたクオリティにすればいいので、ひとまずメッセージが見れればいい、いいね!なんかは要らない、など要件を定義して、エクスポートする要素を限定するとツールが作りやすいと思いました。

【改悪】Office 365 Baseline Policyで、除外アカウントが設定できなくなる

Office 365 Baseline Policyの概要はこちら。

ベースライン ポリシー: 管理者に MFA を要求する – Azure Active Directory | Microsoft Docs

2018年6月にプレビューが開始された機能です。

Office 365 管理者アカウント 強制MFA機能(Baseline security policy)と対処法

この昨日は、Office 365 で特定レベルの管理者権限を持つアカウントに強制的にMFAをかけつつ、除外するアカウントも指定できるものでした。これが、ここ1週間くらいで

  • 全ての管理者アカウントに対してMFAを有効にする
  • 全ての管理者アカウントに対してMFAを有効にしない

の2択となり、除外アカウントの設定が出来なくなってます。

問題点

現実的には、全ての管理者アカウントに対してMFAを有効にするのはリスクがあるため、MFA除外アカウントを作成するのがセオリーでした。マイクロソフト社も推奨しています。

緊急アクセス用管理者アカウントの管理 – Azure Active Directory | Microsoft Docs

これを実現するためには、素のOffice 365アカウントではなく、Azure AD Premium 1以上のライセンスが必要でした。貧乏人はOffice 365を守ることが出来ません…。

回避法

twitterで裏側のAPIを叩いて設定変更できるぜ!と言っている人がいるけど…。

ライセンスに違反する可能性もあるし、やめた方がいいでしょう。おとなしくAzure AD Premium 1のライセンスを買うか、マイクロソフト社の推奨通り、1要素認証のアカウントのパスワードを複雑にして対処するしかなさそうです。