こんにちは。CData Software Japan リードエンジニアの杉本です。
今回は個人的に待望のアップデート、CData MS Planner の機能強化!? というか、機能縮小!?を紹介したいと思います。
どんなアップデートなの?
端的に申し上げると「アクセス許可で求められる権限レベルが下がった」というものです。
「下げてどうするんだ?」という感じのものですが、順を追って解説していきましょう。
実は以前までCData MS Planner を利用しようとすると、以下のBlog記事で紹介していたように「管理者の承認が必要」だったんですね。
記事でも解説している通り、CData MS Planner で接続しようとすると、以下のアクセス許可が求められるんですが、「Group.Read.All」や「Group.ReadWrite.All」の権限がやっかいで、Office365 の「アプリケーション管理者」レベルのユーザーがアクセスする際に必要となっていました。
- Group.Read.All
- Group.ReadWrite.All
- User.ReadBasic.All
- User.Read.All
- User.ReadWrite.All
これにより権限が不足しているユーザーだと、以下のようなメッセージが表示されてしまいます。
どうしてこうなっていたのかと言うと、MS Planner 関係のリソースが以下(2020年12月時点の画像です)のように「Group.Read.All」「Group.ReadWrite.All」のアクセス許可でしか利用できなかったためです。
こういった要素から、Office365の組織設定・アクセス許可の都合上導入を断念されてしまうお客様も正直少なくなかったのですが、、、さすがにMicrosoft側にも要望が多かったのでしょう、実は去年このアクセス許可範囲が改善されていました!
改めて、MS Planner 関連のAPIを確認してみると、以下のように「Tasks.Read, Tasks.ReadWrite」が追加されていることがわかります。
もちろん、「管理者の同意が必要」はすべて「いいえ」になっているので、一般的なMS Planner を使っているユーザーでもご利用いただけるものと思います。
接続を試してみる
それでは実際に機能を試してみましょう。
今回は Power BI 向けのMS Planner コネクターを利用しています。
インストールが完了したら、以下のような接続設定画面が立ち上がるので「接続のテスト」をクリックしましょう。
以下のように認可の画面が表示されます。ここで以前より求めるアクセス許可が少なくなっているため、管理者レベル以外のユーザーでも承諾できるようになりました。
ちなみに利用されているアクセス許可は「offline_access」を除いて、以下のとおりです。
- User.ReadBasic.All
- Tasks.Read
- Tasks.ReadWrite
- User.Read
アクセス許可後には、Azure ADの「エンタープライズ アプリケーション」→「CData MS Planner Connector」の「アクセス許可」から「ユーザーの同意」タブに移動すると確認できますね。
接続テストが完了したら、せっかくなので実際にPower BI からデータを取得してみましょう。
データを取得の一覧から「CData Microsoft Planner」を選択し
Data Source Nameに先程の接続設定「CData Power BI MicrosoftPlanner」を入力します。
これで、以下のようにPlanner で自分の所属するPlanの一覧やタスクの一覧が取得できます。
アップデートに伴う仕様の変更点
ちなみに、このアップデートに伴って、一部内部仕様が変わっています。
以前までは「Groups」「TaskAssignments」「Plans」のテーブルでは内部で組織全体のGroupの一覧を取得してから、データを表示するようになっていました。
しかしながら、権限の縮小に伴い以下のmemberOf のAPIを利用するように切り替わっており、自分がダイレクトメンバーになっているGroupの情報ないしそのGroupに関連するTaskAssignmentsやPlanのみが取得するようになりました。
ちなみに、以前の「Group.Read.All」や「Group.ReadWrite.All」を使ったアクセスを行いたい場合以下の「Scope」の接続プロパティを「AdminConcent」に切り替えて接続し直すことで、利用できます。
もちろん、求められる権限は以前と同様、管理者レベルになるので要注意です。
おわりに
このように、CData Driver では日々API Updateを注視しながら改善を行っています。
以前まではできなかったこと、今回のようにセキュリティ要求が高かったものなども、API側の機能アップデートに伴い、緩和されたり、使えるようになったりします。
トライアルなどを試していて、「ここなんとかならないかなー?」と思った場合は、ぜひお気軽にテクニカルサポートまでお問い合わせください。最新のAPI仕様なども調査しながら、改善できる場合があります。