こんにちは。CData Software Japanリードエンジニアの杉本です。
これは CData Driver に限らない話なんですが、Microsoft のOffice365(Microsoft 365)やFacebook・TwitterのAPI連携を行う際に、私達は認証・認可のプロセスをたどって、外部のアプリケーションに「私達の環境へのアクセス権」というものを付与します。
Microsoft の Graph APIだと、以下のようなものですね。
これは、CDataが提供する Microsoft Planner Driverが表示する認可プロセスの画面です。
www.cdata.com
この「アクセス権」というのは、各プラットフォームによりますが、現在はできる限りユーザーがコントロールできるように配慮がされています。
上記画像で出ているように、どのリソースや機能に対してアクセスを行うのか? 例えば、Outlookのメールを通知できるようにするのか? というのが英語ですがしっかりと表示されます。この内容をしっかりと確認した上で、承諾をしなければいけません。
また、そのプロセスの中で一つ要素として押さえておきたいのが、「一度許可したアクセス権の取り消し」を行う方法です。
インターネットには、このアクセス権の付与が危ないもの、危険なもの、として取り上げられることが多いですが、前述の通りユーザーの承諾が無い限り、この付与は原則行われません。
しかし、よくわからずアクセス権を付与してしまった、ということも往々にして存在するでしょう。
今回はこの外部アプリに対するAPIへのアクセス権の確認方法・解除の方法をお伝えしたいと思います。
Microsoft 365 におけるアクセス権の確認・解除方法
Microsoft 365のアクセス権の確認は以下のURLの「アプリの権限」から確認することができます。
https://portal.office.com/account/?ref=MeControl
このアプリの権限のページで、以下のようにアクセス権を付与したサードパーティサービスのアプリを一覧できます。
CData Driversもそうですし Graph APIを検証するためのツール、Graph Explorer等もその一つですね。
(こういった形で Microsoft 公式のアプリケーションといえど、この認可のプロセスを必要としているものが存在します。)
developer.microsoft.com
アクセス権を取り消す場合は、そのまま対象のアプリの「取り消し」をクリックするだけです。これで表示されたダイアログで「OK」をクリックすれば、そのアプリが自身のAPIにアクセスすることはできなくなります。
組織設定でのユーザー同意の有効または無効化
なお、このアクセス権の同意プロセスは組織設定で有効化・無効化が構成できます。
docs.microsoft.com
その他にも様々な設定が存在するので、設定するしないは別にして、できることを把握しておくのが良いでしょう。
おわりに
このように、セキュリティの観点からAPIや認証・認可プロセスを一律「怖いもの」として扱うのではなく、自分たち自身がどのようにコントロールできるのか? を理解した上で、接することはとても重要だと思っています。
今回はMicrosoft のプラットフォームで紹介しましたが、これはTwitterやFacebook等のクラウドサービスでも標準的に備えている機能です。
そしてこのコントロールを実施できることこそが、認可というシステム(≒プロトコル)の大きな特徴であり、メリットでもあります。
エンドユーザー自身がすべての技術要素を理解する必要はありませんが、自分たちがコントロールできることを把握した上で、是非APIの利便性を教授してほしいなと思っています。
関連コンテンツ