Power Apps と Power Automate の大規模な管理とサポートシリーズ、第2回は「テナントをセキュアに使う」方法についてです。

  1. Power AppsとPower Automateの理念
  2. テナントをセキュアに使う(今回)
  3. テナントの活動状況を監視する
  4. 活動内容に対して通知・行動する

Power Appsを利用して作成している人たちの人物像

実際に作成する人物像は2種類に分かれます。

市民開発者

アプリ作成に対するハードルを下げることで、「市民開発者」という人たちが誕生します。これは、課題に近しい業務部門のパワーユーザーたちが、自ら手を動かして、チーム内でソリューションを作成します。この場合、IT部門は後方支援を行うか、承認された試験環境で、アプリ作成が行える場を提供することで、ガバナンスを維持しつつ、市民開発者はアプリ作成ができるようになります。

プロの開発者 / IT部門の生産性向上

Power AppsやPower Automate を利用する層は、市民開発者のような、非ITな人たちだけではありません。プロの開発者やIT部門でももちろん利用されます。すでにスクラッチでも開発できるスキルセットを持ち合わせているのに、なぜ、わざわざ新たにPower Appsでアプリ作成を試みようとするのか?と疑問に思われる方もいると思います。現在、Power Appsのようなローコード・ノーコードサービスが必要されている背景として、業務部門から求められるアプリの数が爆発的に増えていることに起因します。調査会社のIDCによると、2023年までに5億個以上ものアプリケーションがこの世の中に必要とされると予測しています。

2020年度にはUSでは、過半数が利用部門自身が作成するようになるとも言われています。従来のようにITがすべてを作成し、納品するというスピードでは追い付かず、市民開発者が作れるところは作り、コアなシステムや複雑なものだけにITは注力するという方向性に代わっているのです。

実際にPower Appsを利用されているアメリカのエネルギー会社Chevron社では従業員数が17万人在籍する大企業ですが、まだ初めて数か月経過した、2019年5月の時点で月間利用者数5,000名が200以上ものPower Appsアプリを利用しています。(その後4か月で月間利用者は1万人を超えたとの報告が入ってます)

この状況を踏まえて、ChevronのIT担当は以下のように述べています:

「今までITでは1つのアプリケーションに対し、何をするべきか考えてきたが、Power AppsでITそのものの考えが変わった。今では次の1000個のアプリをどうするべきかを考えている」

このように、IT部門では生産性の高いアプリ開発環境が出来上がるため、開発と展開までの時間が削減できる

のです。そして、IT部門では各アプリが統括されて管理・展開されるようになります。

上記の理由から、一部企業においては、IT主幹のアプリから始め、その後各自作成していく流れではあるものの、ほとんどの組織では各部門で作成し、最終的に統括されたIT主導の「Center of Excellence」(COE)が確立されるようになるのです。

環境を管理する

通常Office 365などの管理者の方々ですと、テスト環境と本番環境を分けるということは、テナントそのものを分けてしまうことを意味しますが、Power AppsとPower Automate ではテナントを分けることなく、テナントの中で開発・テスト・本番などと、用途別に環境を分けることが可能となっています。

この環境の中には、Power Appsのアプリ、Power Automateのフローやカスタムコネクタ、Common Data Serviceが含まれています。図の用に、各地域に分けて設定することもできます。

環境は環境作成時の物理的地域に紐づきます。何も設定を変更しなければ、Office 365 のテナント地域が設定されるため、日本のユーザーは基本的に日本リージョンがデフォルトになっているかと思います。

Office 365のみの利用範囲で使われている場合は、既定の環境のみの構成となっており、Power AppsやPower Automateは誰でも作成できるようになっていますが、非既定環境では、さらに多くの権限設定が可能で、特定のセキュリティグループのみが作成できるようにしたり可能なため、開発チームがアプリを作り、実行権限のみ付与するということなども可能です。

環境の作成は従来、だれでも作れていましたが、2019年秋のアップデートで、「Power Platform 管理センター」の環境タブへアクセスし、画面右上の歯車ボタンを押すと、以下の設定画面が表示され、Office 365テナント管理者、またはこの冬にリリース予定の「Power Platform サービス管理者」ロールがアサインされている人のみに限定することも可能です。

補足:環境に関するインフラ周りのお話

環境を日本に設定した場合、データセンターとしては東日本と西日本リージョンのペアリングで構成されます。冗長構成・ロードバランシング(負荷分散)はもちろんのこと、片方のデータセンターが仮にダウンした場合に自動で切り替わります。バックアップは通常のAzure同様、トリプルバックアップが取得されており、さらにそのバックアップのバックアップが裏では作成されています。Power AppsのCommon Data Serviceはその観点からも、マイクロソフト社内としてもAzure SQLの最大の利用者であり、そのデータ量は2019年11月時点で1.5ペタバイト(1,500TB)を超えました。

環境構成の戦略

おすすめの構成として、既定環境は「個人的生産性」を上げる環境のみとし、Office 365の範囲内でできることのみの利用用途にすることをおすすめします。ここでは本番運用のアプリは作成せず、あくまでも一部部門や一個人として利用するアプリやフローの作成のみに留めます。初期設定では「会社名(既定)」と設定されているので、環境名を変更することを推奨します。

環境作成時の運用に関しては、環境へのアクセスや作成に関しての申請プロセスを設立することをおすすめします。特定の部門やアプリが含まれた開発・テスト・運用環境を作成したり、PoCやトレーニング用途向けの個別の環境の払い出しを行ったりする際のPower Appsを作成することで、IT側で状況を常に把握できます。

上記で述べたChevron社に関しては、17万人の全従業員がPower Appsの有償プランが割り当てられており、以下のPower AppsアプリからIT部門へ依頼することで、Common Data Serviceが含まれた環境が全自動で作成されるようになっています。そのため、エンドユーザーは毎回IT部門へお伺いを立てることなく、自由にPower Appsが試せるようになっています。ここで重要なのが「データ損失ポリシー」が正しく設定されていることです。

データ損失ポリシーでデータを保護する

データ損失ポリシー (DLP) はどのコネクタが利用可能かを制御することが可能な機能でして、Power Platform 管理センターから制御が可能です。コネクタは「ビジネスデータ」と「ビジネスデータ以外」に分類することができ、「ビジネスデータ」に属しているグループは、 同じグループに属しているグループとのみ組み合わせることが可能です。逆にビジネスデータとビジネスデータ以外のコネクタを組み合わせようとすると、DLPポリシー違反となり、そのPower AppsやPower Automate は動作しません。テナント管理者はすべての環境に適用されるポリシーを設定することが可能となっています。

2019年内のアップデートとしては、DLPポリシーにより、非マイクロソフト系コネクタを完全にブロックすることが可能となる予定でして、12月末までにはリリースされる予定です。

データ損失ポリシーのベストプラクティス

データ損失ポリシーは複数のポリシーが可能で、組み合わせることも可能です。そのため、設定時は以下の構成をおすすめします。

IT部門としてサポートしたくない(問い合わせ対応したくない)対象外のコネクタを「ビジネスデータ以外」として分類しブロックし、すべての環境に適用されるポリシーとして設定します。そうすることで、新たに環境が作成された場合でも、即座にサポート対象外のコネクタは使えないようになります。

次に既定環境(とトレーニング用環境)では、さらに利用可能なコネクタの種類を制限し、許可したもののみを「ビジネスデータ」として分類します。これら環境では業務システムのコアなデータへ直接できないよう、主にOffice 365関連のコネクタのみを許可するようにします。OutlookやSharePoint、Teamsなどが良いかと思います。

業務システムとして利用するアプリケーションに関しては、1と2に加え、特定のコネクタの組み合わせに対しての追加のポリシーを設定し、特定の環境のみで利用可能(もしくは制限)するポリシーを作成します。

ここではCommon Data ServiceやSQL Serverなどを追加します。

補足:コネクションの概念を正しく理解する

よく質問されるのが、個々のコネクタの権限も制御してほしいということなのですが、DLPはデータ元の方で権限設定が正しく行われていることを前提としています。もし仮にデータ元で制御していないのであれば、そのデータ元の運用が適切ではありません。Power AppsやPower Automate には「コネクション」という概念があり、ユーザーがアプリやフローを実行する際は、そのユーザーの権限でアクセスするように構成されています。そのため、他のユーザー(例えばIT部門)が作成したアプリやフローを共有したとしても、そのアプリやフローがアクセスするデータはIT部門の権限ではなく、ユーザーの権限の範囲でのみ実行可能です。

以上で、テナントがセキュアになりました!

次回の第3回では、テナントの活動状況監視についてご紹介します。