OAuth(オーオース)とは?意味と概要
OAuth(オーオース)とは、あるWebアプリケーションが、ユーザーの認証情報を直接取り扱うことなく、別のWebアプリケーションに対して安全にアクセス権限を付与するための標準的な認可プロトコルである。最新の標準仕様としては「OAuth 2.0」が広く利用されている。本技術の最大の特徴は、「認証(ユーザーが誰であるかを特定する処理)」と「認可(特定の資源に対するアクセス権限を与える処理)」を分離する点にある。従来のシステムでは、別サービスと連携する際にIDやパスワードを直接渡す必要があり、セキュリティ上の重大なリスクが存在した。OAuthの導入により、アクセスキーに相当するトークンを用いることで、パスワードを第三者に開示することなく安全なリソース連携が可能となる。
OAuth(オーオース)の仕組み・具体例
OAuthの基本的な仕組みは、リソース所有者(ユーザー)、クライアント(連携元アプリ)、認可サーバー、リソースサーバーの4つの構成要素によって成り立つ。ユーザーがクライアントに対して連携を許可すると、クライアントは認可サーバーから「アクセストークン」を発行される。このアクセストークンには、許可された操作の範囲(スコープ)と有効期限が設定されており、クライアントはトークンを提示することでリソースサーバーから必要なデータを取得する。具現化された具体例として、サードパーティ製のスケジュール管理アプリが、ユーザーのGoogleアカウント内のカレンダー情報にアクセスするケースが挙げられる。ユーザーはGoogleのログイン画面でアクセス権限の付与を承認するだけであり、スケジュール管理アプリ側にGoogleのパスワードが保存されることはない。また、SNSの投稿機能を外部サービスから利用する際にも、OAuthによる制御が標準的に活用されている。
OAuth(オーオース)のメリットとデメリット(注意点)
OAuth導入の主なメリットは、機密情報であるパスワードの漏洩リスクを大幅に低減できる点である。サービス開発者はユーザーの資格情報を管理する負担を回避でき、ユーザーも個別サービスごとにパスワードを入力・共有する手間が省ける。さらに、発行したトークンはユーザー側からいつでも失効させることができるため、万が一連携アプリ側で不正が発生した場合でも、元のアカウントのパスワードを変更することなくアクセス権限のみを迅速に無効化できる。一方、注意点およびデメリットとして、OAuthは「認可」のプロトコルであり、単体では「認証(本人確認)」を完璧に担保しない点が挙げられる。認証目的で不適切に利用した場合、アカウント乗っ取りなどの脆弱性を誘発するリスクがある。そのため、本人確認の機能も同時に実現する際は、OAuth 2.0をベースに拡張されたアイデンティティレイヤーである「OpenID Connect」を採用することが推奨される。
コメントを残す