CData Software Blog

クラウド連携のCData Software の技術ブログです。

Microsoft Graph API を使用しているアプリのアクセス権限を確認・解除する方法

こんにちは。CData Software Japanリードエンジニアの杉本です。

これは CData Driver に限らない話なんですが、Microsoft のOffice365(Microsoft 365)やFacebookTwitterAPI連携を行う際に、私達は認証・認可のプロセスをたどって、外部のアプリケーションに「私達の環境へのアクセス権」というものを付与します。

Microsoft の Graph APIだと、以下のようなものですね。

f:id:sugimomoto:20210202113622p:plain

これは、CDataが提供する Microsoft Planner Driverが表示する認可プロセスの画面です。

www.cdata.com

この「アクセス権」というのは、各プラットフォームによりますが、現在はできる限りユーザーがコントロールできるように配慮がされています。

上記画像で出ているように、どのリソースや機能に対してアクセスを行うのか? 例えば、Outlookのメールを通知できるようにするのか? というのが英語ですがしっかりと表示されます。この内容をしっかりと確認した上で、承諾をしなければいけません。

また、そのプロセスの中で一つ要素として押さえておきたいのが、「一度許可したアクセス権の取り消し」を行う方法です。

インターネットには、このアクセス権の付与が危ないもの、危険なもの、として取り上げられることが多いですが、前述の通りユーザーの承諾が無い限り、この付与は原則行われません。

しかし、よくわからずアクセス権を付与してしまった、ということも往々にして存在するでしょう。

今回はこの外部アプリに対するAPIへのアクセス権の確認方法・解除の方法をお伝えしたいと思います。

Microsoft 365 におけるアクセス権の確認・解除方法

Microsoft 365のアクセス権の確認は以下のURLの「アプリの権限」から確認することができます。

https://portal.office.com/account/?ref=MeControl

f:id:sugimomoto:20210202113632p:plain

このアプリの権限のページで、以下のようにアクセス権を付与したサードパーティサービスのアプリを一覧できます。

CData Driversもそうですし Graph APIを検証するためのツール、Graph Explorer等もその一つですね。

(こういった形で Microsoft 公式のアプリケーションといえど、この認可のプロセスを必要としているものが存在します。)

developer.microsoft.com

f:id:sugimomoto:20210202113638p:plain

アクセス権を取り消す場合は、そのまま対象のアプリの「取り消し」をクリックするだけです。これで表示されたダイアログで「OK」をクリックすれば、そのアプリが自身のAPIにアクセスすることはできなくなります。

f:id:sugimomoto:20210202113654p:plain

組織設定でのユーザー同意の有効または無効化

なお、このアクセス権の同意プロセスは組織設定で有効化・無効化が構成できます。

docs.microsoft.com

その他にも様々な設定が存在するので、設定するしないは別にして、できることを把握しておくのが良いでしょう。

おわりに

このように、セキュリティの観点からAPIや認証・認可プロセスを一律「怖いもの」として扱うのではなく、自分たち自身がどのようにコントロールできるのか? を理解した上で、接することはとても重要だと思っています。

今回はMicrosoft のプラットフォームで紹介しましたが、これはTwitterFacebook等のクラウドサービスでも標準的に備えている機能です。

そしてこのコントロールを実施できることこそが、認可というシステム(≒プロトコル)の大きな特徴であり、メリットでもあります。

エンドユーザー自身がすべての技術要素を理解する必要はありませんが、自分たちがコントロールできることを把握した上で、是非APIの利便性を教授してほしいなと思っています。