GraphAPI PowerShell SDKを使う

Office 365 Advent Calendar 2019 – Adventarの11日目です。

「GraphAPIを勉強したいけどC#分からないし、Azure ADアプリ登録も分からない。PowerShellで気軽に使えればいいのに…」という方にぴったりな、GraphAPI SDK PowerShellがリリースされました。これ使えば、AzureADアプリ登録不要、たった3行のコードでGraphAPIを使いだせます。

準備物

  • Office 365 の管理者アカウント
  • 時間(SDKのインストールに20分ほどかかるため。その間は待ち)

手順

1. SDKのダウンロードとインストール

Register-PSRepository -Name GraphPowerShell -SourceLocation https://graphpowershellrepository.azurewebsites.net/nuget 
Install-module Microsoft.Graph.Beta -Repository GraphPowerShell

2. 接続

Connect-Graph -Scopes "User.Read","User.ReadWrite.All","Mail.ReadWrite","Directory.ReadWrite.All","Chat.ReadWrite", "People.Read","Group.Read.All", "Directory.AccessAsUser.All", "Tasks.ReadWrite","Sites.Manage.All"

表示されたコードを記録し、ブラウザで https://microsoft.com/devicelogin にアクセス。コードを入力。

3. APIの利用

例:受信メールを一覧で表示

Get-User  # ユーザーIDを表示
$UserId = "xxx"
Get-UserMessage -UserId $UserId -Filter "contains(subject,'Marketing')" | select sentDateTime, subject 

例:Teamsチャットメッセージを一覧表示

Get-Chat # chatidを特定
$chatId = "xxx"
Get-ChatMessage -chatId $chatId  

「3. APIの利用」で必要な権限を「2. 接続」で指定しないといけないが、それ以外は使い慣れたPowerShellで操作できるので、GraphExplorerから一歩進んだGraphAPIの勉強にはぴったりだと思いました。

参考情報

Ignite 2019 Exchange Online編

11月に開催されたIgniteの動画をせこせこ見ています。全部見終わった後に感想を書こうかと思いましたが、見たい動画が50本くらいあっていつ終わるか分からないので、切りのいいところで感想をリリースしていきます。

てことでExchange Online編。

BRK3312 Office 365 email enhancements that makes your organization smart, safe, and secure

これはプレゼンが面白かったのでお勧めです!特に17:11~ 観客煽って歌わせてるのが良かったですw 内容はExchange Onlineの新機能。

"+"アドレスによる、受信アドレス追加

Gmailでは10年以上前に実装されている機能で、myaddress+[任意の文字列]@gmail.comとかで受信アドレスを無限に作成できる機能。当時のテクとしては、myaddress+rakuten@gmail.comで楽天からのメールを全部フィルタする、って技がありました。

Gmailエイリアスの活用 – 受信トレイから楽天等の業者メルマガを自動で移動させる方法 | 風標 (new!)

セカンダリアドレスでのメール送信

その名の通りですが、メールシステム構築時の設計要素が増える。例えば、3rdパーティー製のMTAにメールを投げていてMTAがメールアドレス課金の場合、セカンダリアドレスがでユーザーがメールを送信する事で、課金が発生してしまう。Exchange Onlineは既定でonmicrosoft.comのアドレスをセカンダリに持つため、onmicrosoft.comのアドレスを使ってユーザーが外部にメールを送信できてしまう。メールでの監査検索などでひっかける時の条件が増えそうで心配です。つーか、3rdパーティー製MTGでメールアーカイブしてたら、1人のユーザーのメールを抽出するのにプロキシアドレス分検索しないといけないから辛い。

この仕様が防げないなら、プライマリアドレス以外では外部にメールが送信できないようなトランスポートルールを作成するしかないのかな。

Outlook メッセージの取り消し

OutlookにRecall機能というのがありますが、相手がRecallメッセージをクリックしないと取り消せなかった(なので、相手はメッセージを必ず読むことができた)のが、相手がO365を利用している場合、サーバー内部で取り消し動作が入るので、取り消し処理の強制力が強力になった。また、実際に取り消しできたかレポートも出る。

相手がO365外の場合に機能しないとはいえ、これはうれしい変更。

Replay-All Stormの抑制

1時間以内に5000以上のアドレスに対するReply-Allのメッセージが30以上発生した時に、一時的にメール送信が禁止される機能。ほぼ発生しなさそうですが。

新しいExchange Online 管理センターでメールフローの確認がよりやりやすくなる

GUIが変わっただけっぽいが、HistoricalSearchやGet-MessageTraceなど、複数のコマンドを使い分けで取得していたのがGUIから指定できるぽいのはいいかも。

よくわかる Exchange Online のメッセージ追跡 ~ Part 1 取得編 ~ – Exchange ブログ JAPAN

現状、あて先の最大数は500だが、1~1000アドレスとなる

1000になってうれしい!と思いきや、実際の案件だと「3rdパーティーのアーカイブの処理能力を超えるから、少ない宛先にしか送れないようにしたい」「外部向けのメールの宛先数は絞りたい」とか言われるので、小さくできるのがうれしい機能。

SMTP AUTH Client Submittionが既定で無効になる

サブミッションポート(587番ポート)の事。OutlookからはMAPIで接続しているからいいとして、Exchange Onlineにメールボックスを作って、通常のSMTPクライアントでメール送信している場合はNGになる。現状のオブジェクトはそのままの設定で、新規のオブジェクトも設定をONにすれば使えるようになる。

BRK2001 What’s amazing and new in calendaring in Outlook

Outlookカレンダーチームによるセッション。去年は2人ペアだったが今年は1人が妊娠→出産中なので1人でやるぜいぇーい!と元気にスタート。(このチームは楽しい雰囲気で好きです)

モバイルをデスクトップと同等にって事で、Outlook for iOSで以下が出来るようになる。中にはデスクトップ版でも使わないようなマニアック機能がありますが。

  • 会議辞退時の新会議時間提案
  • 会議辞退時にコメント記載
  • 予定表の分類定義時の色追加
  • 週view
  • グループカレンダーの表示
  • 予定の検索

その他、既にリリース済みですが、大きなアップデートとしては共有メールボックスの追加が可能になった事。

予定調整がさらにしやすく。Web限定ですが、部屋名をインクリメンタルっぽく入力するだけで、空いている部屋を提示してくれる。単一予定だと既に実装済みだが、これを繰り返しの予定もサポート。

会議室にメタデータを設定する事で、会議室を探すときにより詳細な情報を閲覧できる。

カレンダー共有の新ロジックがベータテスト中。同期が早くなるのとMAPIやRESTでいじりやすくなるのがメリットだが現時点ではバグあり。

会議送付時に参加者自身が"場所"やTeamsMTGを追加できるようにしたこと。参加者が予定を変更する権限は今までなかったので大きな変化。

SIer的には大きく話その1。個人アカウントの予定表データをOffice 365にSyncすることができる。便利な一方、嫌がるお客さんから禁止してくれとか言われそう。

SIer的に大きい話その2。Office 365 同士なら、管理画面で設定しなくても予定表の共有ができる。これも便利な一方、防ぐ方法は聞かれそう。空き時間の共有だけだからいいと思うんですけどね。

去年予告されて期待された2つの機能「MTGを辞退しつつ、自分の予定表に残す」「MTGの主催者を別の人に交代する」はリリース予定未定に。

あとはバグフィックス。タイムゾーン跨ぎの終日予定が、ちゃんと終日で表示されるようになります。

BRK2002 There is a new Outlook on the web See what’s new, fresh, and exciting

BRK2001に比べれば大したことないセッション。まず、全般的にGmailで先行している機能が付きます。返信文章をサジェストしてくれるとか。

もらったメールの表を編集する事で相手にも反映される機能や…

Teamsからのメッセージに対して、OWA画面から返信できる機能。

それくらいかな。

BRK3013 Modern Exchange IT admin experiences

新しいExchange Onlineコマンドレット。バックエンドの構成を見直したおかげで、従来のコマンドレットに比べて動作が4倍~8倍速くなり、安定する。大量の夜間バッチ処理などで5,000件問題に悩まされていたのも解消される可能性があると思いました。

新しい管理センターの話。基本的には"使いやすくなるよ"なのですが、G Suiteからの移行時にメールだけじゃなく予定表や連絡先も取り込めるようになったのはポイント。

移行ソリューションが死んじゃいますな。

BRK3144 The MVP guide to Office 365 security, Exchange Online edition

全部知ってる内容で大したことなかったです。前半のEOPの設定でマニアックな話をしていますが、実際には効果が未知数なことが多いし静的に定義してもスパムには効果がないので、EOPにお任せが一番いいと僕は思ってます。

中盤のATPあたりは、E3で使える機能とE5で使える機能が混ざってますが、知らないなら見ると勉強になる。特に新しくATPに追加されたSpoofing Intelligenceはメールの専門家ならお客さんに説明可能であるべし。

後半のSPF,DKIM,DMARCは知らない人は見ると勉強になるけど…メールの専門家じゃなきゃ不要です。

全体的にdocs以上の情報がないセッションでした。

BRK3248 Securing Exchange Online from modern threats

サイバーキルチェーンの紹介と、各リスクに対する対策を説明したセッション。

まずは見慣れたキルチェーンの図。

残念ながら、社内のインサイダー(悪者)を見抜くのは難しい。

防ぐには、技術的な観点よりは、インサイダーの振る舞いを予測し、エミュレートし、脆弱でない事・不正なログがない事などを確認。ビジネスプロセスの見直しなどが有効。そもそも、インサイダーが発生する土壌となるような社内の透明性や評価制度などが問題である。

その他、クラウド事業者自身やさまざまな攻撃者に対する対応を検討するようなセッションでした。最後にAzure Sentinelの紹介はあったものの、メールというよりはセキュリティ系のセッションで、セキュリティを語る上でのベースとなる知識をインプットできるセッションです。

BRK3311 Outlook mobile The gold standard for secure communications in the enterprise

Outlook mobileのセッションと見せかけて、実質EM+Sのセッション。条件付きアクセスでApp protection policyってのが登場。こいつですね。

Azure Active Directory の条件付きアクセスを使用してクラウド アプリへのアクセスにアプリ保護ポリシーを要求する | Microsoft Docs

しかし、既存のApp based policyとの違いが良くわからん…。

Azure Active Directory の条件付きアクセスを使用してクラウド アプリへのアクセスに承認されたクライアント アプリを要求する方法 | Microsoft Docs

ここらへん、ミスって設定するとTeamsからのアクセスがブロックされたりするから設計難しく、端末が準拠済みだったらOKとする案件が多かった気がするけど最近は違うのかな。そろそろ差分の知識だけで生きてくのがつらくなってきました。

その他トピックは

  • ロックスクリーンに通知する内容を制限できるポリシーが作成できる
    • Outlook カレンダーの通知で予定の内容がバレてしまうのを防げる
  • Outlook for MobileでAIPラベルが付与できるようになる
  • Outlook for MobileでS/MIMEメッセージが付与できるようになる
  • Outlook for Mobileから、スパム、マルウェア報告が出来るようになる

Intuneチームが頑張ってるのは分かるけど、ロックスクリーン通知を防ぎたい顧客はいるのか?まぁどちらかというと防ぎたいだろうけど…。SIer的には顧客からカネが出づらい機能が増えるのは複雑な心境ですな。「ロックスクリーン経由で情報が漏洩した」って事例がめちゃくちゃ出てくれると助かりますw AIPとかS/MIMEは会場の反応も微妙でした。

プロダクトマネージャーカンファレンス2019で経た学びと思考の整理 #pmconfjp

表題のイベントに行ってきました。

プロダクトマネージャーカンファレンス 2019

「プロダクトマネージャー」とは、サービス型プロダクトの責任を一手に引き受けるロールです。サービスの持続的な成長・顧客への価値提供・売上向上…などを考え続ける、昨今のSaaS型ビジネスの台頭により注目され始めてきたロールかな、と思います。私がこのイベントを知ったのはfukabori.fmの及川さんゲスト会です。ちょうど自身がサービス開発を行っているため、何かヒントが得られればと思い参加しました。

私はとあるSIerでサービス開発の部署に所属する一社員。SI主体のビジネスからサービス開発に舵を切る事になり専門の部署が立ち上がるも、手探り状態で四苦八苦。そんな状態なので、全てのセッションで学びがありました。

ここではその学びを

  1. ロール
  2. スキル・テクニック
  3. マインド
  4. 組織

の4つに分けてまとめていきます。

ロール

「プロダクトマネージャーって何する人?」という問いが、カンファレンス全体のテーマでした。それに対する登壇者のアンサーはさまざまでしたが、会社の規模・プロダクトのフェーズによってPdMに求められる役割は変わるが結論かと思います。これはプレイド 棚橋さんのスライドがよくまとまっており、自社/プロダクトの状態にマッチしたPdMのロールを考えるのが、pmconf参加者の宿題だと思いました。

ヒントとなるのは「企業が求めるプロダクトマネージャーとその人材戦略」でパネラーの皆さんが話されていたこと。

  • 転職者をそのまま採用してもうまくいかない
  • オンボーディングが何より重要

という話があった通り、後述するプロダクト開発のスキル・テクニックを持った前提で、社内文化の理解・社内ステークホルダーとの調整できる能力が重要なのかな、と思いました。確かに、自社内の人材にPdMとしてのスキル・テクニックを身につけさせる方が、社内リソースの理解、競合他社と自社の差別化ポイントの理解、社内の顔の広さなどでPdMの仕事はやりやすいと思います。

もう1つはLINE 三木さんのセッション。

プロダクトのフェーズでPdMは人格を変えないといけない、という話に深く納得。私自身、営業にロードマップをコミットしつつ、技術メンバーに品質アップを求め、二枚舌を使い分けています。うまくバランスとりつつフェーズ毎で重視するポイントを変えるのがPdMのロールだと思いました。

あと、PdMはなんでもやって当然、ということ。私自身、いろんな所から呼び出し食らって「この職業何なの!?!?」と思っていたところに全部やる職業だよ~と言われたので、覚悟を決めて呼ばれる前に自分で動くことにします(白目

スキル・テクニック

PdMに必ず必要な顧客ニーズ理解スキル。これは小城さんのセッションが素晴らしかったです。

顧客ニーズ理解の原理原則はジョブ理論やデザイン思考だと思いますが、これを実際の現場でどう実践すればええねん?というアンサーに応える、体系化されたプロダクト開発の手法と実践がまとめられていました。

類似の話で、freeeの岡田さんによるストーリーテリングの重要性も面白かったです。

出席できませんでしたが、en-japanの岡田さんのセッションも面白そうでした。

#pmconfjp Day 1 登壇資料シェア&フォローアップ|岡田康豊(OkaP) | HR Tech プロダクトマネージャー|note

「ひとまず出来る人をアサインして何とかしてもらう」するだけのPdMは終わり、ウォーターフォールでいうPjM、PL、Memberのようなステージを定義し、PdMを目指してもらうようなキャリアパス定義するのは、大きい組織を動かすには大事だな思いました。先進企業によってPdMに必要なスキルが定義されつつあるのが、ありがたい事です。

少し変わったところだと、会議のテクニックの話を頂いたCOPILOTの定金さん。

初日のTransferWiseさんのセッションで「自律的なチームは、会議などせずとも、プロダクトの計画、ロードマップを策定できる」と言われてましたが、現実的にはそんなチームばかりではない。チームをそこまで引き上げるための手段として会議というツールは有効なのかな、と思いました。

また、PdMにはデータ分析スキルは必須!というセッションに響いている方が多かったです。関連セッションはこちら。

弊社の主な販路が既存顧客と紹介顧客、販売単位も会社なので、集められるデータが少なく私はピンと来ませんでしたが、マーケティング部門はAdobe社のMarketoを利用していろいろやり始めたようなので、必要なスキルとして意識はしようと思いました。

マインド

  • 上層部はチームをチームを信頼し、権限と責任を移譲する。チームは結果でそれに応える。
  • メンバーを信頼し、自律的に動いてもらう
  • 機能を実装するのではなく、顧客に価値を提供するとプロダクトに関わる全員が理解する

最初のキーノートをはじめ、いろいろな場所で同じようなことが語られていました。小手先のテクニックより一番大事な話だと思いますが、文章で伝えるのは難しいのでこのブログでは軽めに紹介して終わり。こういうのを肌で体感出来るのはカンファレンスに参加した人の特権ですね。そして参加しなかったメンバーにどう伝播させるかが難しい。

このために利用されるのにOKRという概念があり、セッションでもたびたび登場していました。こちらはプロノイア・グループ株式会社のピョートルさんの発表より。

こういった記事もあります。

Googleの「最高の上司」がチームの生産性を高めるためにしていること

ただ、旧来型の組織にOKRをいきなり導入するのはハードルが高いので、OKRに飛びつくのではなく、自身/メンバーのマインドセットを育てたり、チームの心理的安全性を高める、といった改善から進めるのがよいかと思います。

組織

サービス開発という概念の薄いSIerで、どうやってサービス開発をやっていくのか?共感したのがKDDI 山田さんのセッション。

権限もリソースも与えられないのにサービス開発しろとか無理だよね、けどPdMの努力で徐々に会社を変えていける…という内容でした。こちら、自分が今会社でやろうとしている事と非常に似ている & 上司がやってくれている事と似ていて勇気づけられました。

弊社の事情

サービス開発をすると勢いづいてはいるが、サブスクリプション型ビジネスに対応した組織体系・評価体系にはなっていない。サービス開発はリリースしてからが本番とも言えるが、SIの考えが強く、リリース後のフェーズを”保守・運用”と位置づけられています

この考えを変えるため、

  • 受託SIとは全く違うロールが必要である
  • そのロールやタスクは○○である

という可視化をし、認知するところから始めてます。今作ってるのはこんな感じの図。

幸い、上層部の協力者とのつながりはあるので、ある程度まとまったら話に行こうと思っています。

また予算策定・人員配置についても、予算と必要なメンバーを計画する権限はあります。人事権はありませんが、上司がメンバーを引っ張ってこれなかったら予算は達成できなくても仕方ない、となっているので、よいかな…と思います。もちろん、アサインついたら実行責任もついてきますが、PdMのあるべき形っぽくていいかな、と思います。

予算もメンバーに可視化され、プロダクト別の採算になっているので、KDDIさんの目指している形と近いのかなと思いました(上司ありがとう)。とにかく、自分の方向性が間違っていない事を確認できたので、非常に良いセッションでした。

宣伝:弊社のプロダクト

これだけだと弊社の欠点だけあげつらった形になるので、プロダクトも少しだけ紹介しておきます。

この2つに私は関わってないので、これらのプロダクトチームは上にあげた課題を解決した上でプロダクト開発しているのかもしれません。

まとめ

登壇している方はサービス開発先駆者の皆様ばかりで、非常に学びになりました。一方、初日のネットワーキングで会話した方々は、私と同じでサービス開発初心者だったり、会社にサービス開発を理解してもらうよう奮闘していたりと、仲間がたくさんいる事が分かり勇気づけられました。

非常に素晴らしいイベントでした。また来年も参加したいです。

関連リンク

第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暗号化をやめさせたい場合は、これを意識して論じる必要があるな、と思いました。