マルテクテクBETA Security+
OAuth
OAuth 2.0

OAuth(認可の委譲フレームワーク)とは

ひとことで

パスワードを渡さずに、第三者アプリへ限定的なアクセス権(トークン)を委譲するための仕組み。認証ではなく認可のプロトコル。

たとえると

ホテルの「カードキー」です。フロントで発行されたカードキーは、決められた部屋に決められた期間だけ入れます。マスターキー(パスワード)を渡さずに必要な権限だけを渡せますが、カードキーを見ても、持っている人が誰なのかはわかりません。

現場ではこう使う

利用者が、写真印刷サービスに自分のクラウドストレージの写真を読み込ませたいと考えました。OAuthでは、利用者はストレージ側の画面で「写真の読み取りのみ」を許可し、印刷サービスにはパスワードではなく、その範囲だけ使えるアクセストークンが渡されます。許可は後からいつでも取り消せます。

試験のポイント

EXAM POINT「パスワードを渡さずにアクセス権を委譲」「アクセストークン」「認可(Authorization)」ならOAuth。「OAuthは認証(本人確認)の仕組みではない」が最大の引っかけです。本人確認まで必要ならOAuthの上に認証を追加したOIDC、企業向けのSSOでXML形式の認証情報を受け渡すならSAMLです。

混同しやすい用語との違い

  • OIDCOAuthの上に認証(本人確認)を追加した規格。IDトークンで利用者情報を渡す
  • SAMLXMLで認証情報を受け渡すSSOの規格。企業向けのWeb SSOで多く使われる

関連用語

OAuth が出てくる Security+ の問題に挑戦してみましょう。

無料で演習を始める