【Teamsアプリ開発】ユーザ毎に利用できるアプリを制限する方法

こんにちは。今回もTeamsアプリ開発に関するお話です。開発していて気になったことについて調べてみたので、分かったことを残しておきたいと思います。

Contents

実現したいこと

特定のアプリを利用できるユーザを絞りたい。例えば、自分の組織で開発したカスタムアプリがあって、これを組織の一部のユーザでだけ利用できるようにしたい(他のユーザは利用できないようにする)、といったシナリオを考えます。

実現方法

このあたりの管理方法については、以下の公式ドキュメントにまとめられていますので、こちらを見ながら進めていきます。

https://docs.microsoft.com/ja-jp/microsoftteams/teams-app-permission-policies?WT.mc_id=TeamsAdminCenterCSH

なお、上のDocにも書いているのですが、今回の要件を実現するための設定変更には、グローバル管理者またはTeams管理者権限が必要な点にご注意ください。

今回やりたいことを実現するためには、以下の2つのポリシーを適用する必要があります。

  • 組織のポリシーで対象アプリの使用を許可する
  • 対象アプリの使用を許可しないPermissionのカスタムポリシーを作成し、利用させたくないユーザに割り当てる

1点目の組織のポリシーの構成も必要な理由は、上記Docに以下のような記述があるためです。

Org-wide app settings override the global policy and any custom policies that you create and assign to users.

公式Docより

つまり、組織のポリシーはPermissionのユーザポリシー(グローバルポリシーまたはカスタムポリシー)の設定を上書くと。

なので、そもそも組織のポリシーでアプリの使用が許可されていなければ、グローバルポリシーやカスタムポリシーでいくら許可しても組織のポリシーが勝つから利用できないまま、ということになります。

以下で、一応実験もしてみました。

組織レベルで許可 + カスタムポリシーで拒否

こちらは期待通りの動作になりました。

まず組織のポリシーでカスタムアプリの利用を許可します。

続けて、「Permission Policy」でユーザポリシーであるカスタムポリシーを追加して、以下のように拒否したいアプリを指定します。(以下の例では、カスタムアプリはすべてダメ、としましたが、アプリ単位での指定も可能です)

次にこのポリシーをユーザに付与します。カスタムアプリを利用させたくないユーザのApp Permission Policyを、規定の「Global」から先ほど追加した「Custom App Not Allowed」に変更します。

しばらく時間を空けると・・(自分が試したときは設定変更から数分して再サインインをしたら反映されてました)

アプリをインストールしようとしてもできなくなりました!

ちなみに、アプリが許可されなくなったユーザの動作については以下にも説明があります。

https://docs.microsoft.com/ja-jp/microsoftteams/teams-app-permission-policies?WT.mc_id=TeamsAdminCenterCSH#what-does-a-user-experience-when-an-app-is-blocked

ユーザーは、ブロックされたアプリや、ボット、タブ、メッセージング拡張機能といった機能を操作できません。 チーム チャットやグループ チャットなどの共有コンテキストでは、ボットはそのコンテキストのすべての参加者に引き続きメッセージを送信できます。 Teams は、アプリがブロックされたことをユーザーに知らせます。

公式ドキュメントより

組織レベルで拒否 + カスタムポリシーで許可

次に、上の逆パターンで、組織レベルで拒否 + カスタムポリシーで許可、です。Docsの通り、組織のポリシーが勝ち、アプリの利用ができなくなりました。

組織レベルで拒否

カスタムポリシーで許可(さきほどのカスタムポリシーを使いまわしているので名前と設定があっていませんが笑)

結果。そもそもアプリ自体がストアから見つけられなくなりました。(反映には、Docの通り数時間ほどかかった記憶)

Setup Policyとの力関係

最後に、Setup Policyとの競合も含めてみてみました。結論、Permission PolicyはSetup Policyに勝つようです。

今回、Setup Policyのほうでは、組織の全ユーザに、カスタムアプリ「TestBot」がプリインストール & ピン留めされる状態にしようと制御していました。

こんな状態で、特定ユーザにカスタムアプリの使用を禁止するポリシーを構成してみました。(組織のポリシーでは許可している前提です)すると・・

もともとはこんな感じでアプリがインストール済 & ピン留めされていたのですが・・

ピン留め一覧から消えてます。

また、アプリもインストールされていない状態になっています。

また、インストールしようとすると、アプリ使用が許可されていない可能性がある旨のメッセージが出てインストールできなくなっていました。期待通りの動作ですね・・!

以上、ユーザ毎に利用できるアプリを制限する方法の解説でした。今回の記事が少しでもお役に立ちましたら、下のいいねボタンをポチっていただけると励みになります!

おしまい

この記事を気に入っていただけたらシェアをお願いします!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

ABOUT US
Yuu113
初めまして。ゆうたろうと申します。 兵庫県出身、東京でシステムエンジニアをしております。現在は主にデータ分析、機械学習を活用してビジネスモデリングに取り組んでいます。 日々学んだことや経験したことを整理していきたいと思い、ブログを始めました。旅行、カメラ、IT技術、江戸文化が大好きですので、これらについても記事にしていきたいと思っています。