ID とアクセス
OAuth 2.0
別称: OAuth2
定義
リソース所有者が資格情報を共有せずに、サードパーティ製アプリへ API に対する制限付き・スコープ付きのアクセスを委譲できる、オープンな認可フレームワーク。
OAuth 2.0 では、リソース所有者(利用者)、クライアント(アプリ)、認可サーバー(トークンを発行)、リソースサーバー(API を提供)という役割が分離されます。クライアントは定められたグラントフローでアクセストークンを取得し――対話型アプリでは PKCE 付き Authorization Code、サーバー間呼び出しでは Client Credentials、入力が困難な端末では Device Code を用いる――以後はそのトークンを通常 Bearer として付けて API を呼び出します。スコープと Audience によって、トークンで実行できる操作を制限します。OAuth 2.0 は OpenID Connect、クラウド API、各種「○○ でサインイン」ボタンの基盤です。Implicit グラントの利用、PKCE の欠落、リダイレクト URI の検証不備、クライアント側でのトークンの不適切な保管などが典型的な落とし穴です。
例
- モバイルアプリが Authorization Code + PKCE で取得したトークンで銀行 API を呼び出す。
- バックエンドサービスが Client Credentials で外部 API にイベントを送信する。
関連用語
OpenID Connect (OIDC)
OAuth 2.0 上に構築された ID レイヤーで、クライアントが署名付き ID トークンを通じて利用者の身元を検証し、基本プロフィールを取得できるようにする。
認可
認証済みの ID が、どのリソースに対してどの操作を、どの条件下で実行できるかを判断するプロセス。
認証
アクセス権を与える前に、利用者・端末・サービスが本当に名乗っているとおりの実体であることを確認するプロセス。
シングルサインオン (SSO)
信頼できる ID プロバイダで一度だけログインすれば、再度資格情報を入力せずに複数のアプリにアクセスできる認証方式。
フェデレーテッド ID
別々の組織やドメインが共通の ID プロバイダを信頼し合うことで、利用者が同じ ID をどこでも使えるようにする仕組み。
API Security
API Security — definition coming soon.