検索
連載

「OAuth 2.0」の基本動作を知るデジタルID最新動向(1)(2/4 ページ)

SNSなど複数のWebサービスが連携して動くサービスが広く使われている。連携に必要不可欠なのが、アクセス権限をセキュアに受け渡すための仕組みだ。本連載ではこのような仕組みのうち、「OAuth 2.0」や「OpenID Connect」「SCIM」の最新動向と技術の内容を紹介する。

Share
Tweet
LINE
Hatena

ユースケース1:Facebookに自動・定期投稿できるブログサービス(Webアプリ)

 ここからは実際にOAuth 2.0を適用したユースケースを3つ紹介します。仕様の詳細には触れません。その代わり、誰がOAuth 2.0の登場人物となるのか、どのタイミングでOAuth 2.0の処理が行われているのかに注目してください。

 ユースケース1の前提条件はこうです。

  • Facebookアカウントを持っているユーザーが、別のブログサービス(はてなブログ)も利用している
  • そのブログサービスは、記事を予告投稿する機能がある。同時にFacebookでその記事のタイトル、URLなどを投稿する機能がある

 例えば「はてなブログ」における「Facebook連携」の流れはこうなります。冒頭で紹介した4要素は次のようになります。

役割 実体
Resource Owner ユーザー
Client はてなブログのサーバ(Webアプリケーション)
Resource Server Facebookのサーバ
Authorization Server Facebookのサーバ

 OAuth 2.0の処理はどのタイミングで進むのでしょうか。まずは、定義1のClient Registrationです。この処理はユーザーからは見えません。Facebook連携機能を提供するに当たり、はてなブログはFacebookに対して記事共有を求めるための手続きを既に済ませています。

 この後の処理でユーザーをFacebookに遷移させ、再び戻す処理が出てきます。その戻り先のURLなどを登録します(図2)。

図2
図2 はてなブログとFacebookに見るOAuth 2.0の動作

 ユーザーが設定画面で「Facebook連携」を有効にすると、はてなブログは、ユーザーをFacebookに送り「はてなブログ」に対して「記事投稿」を許可してもらうよう要求します。遷移先のFacebookでは4段階の処理が進みます。

  1. はてなブログが記事投稿の許可を求めていることを把握
  2. ユーザーのFacebookアカウントを特定(未ログイン状態であればログインさせる)
  3. ユーザーに「はてなブログに対して記事投稿を許可する」ことについて同意を求める(図3)
  4. はてなブログに対してユーザーの記事投稿を許可する
図3
図3 Facebookがユーザーに記事投稿の確認を求めてきた

 ここまでが、定義2のObtaining Authorizationの処理です。はてなブログは、Resource ServerであるFacebookのサーバ(API)の「記事投稿機能」を利用する許可を得ることができました(図4)。

図4
図4 はてなブログとFacebookに見るOAuth 2.0の動作(全体像)

 次に定義3のAccessing Protected Resourcesの処理に入ります。ユーザーは自らのFacebookアカウントのログイン用パスワードなどを、はてなブログと共有する必要がありません。既にはてなブログは記事の予約投稿時にユーザーの代わりにFacebookに投稿できる状態になっています(図5)。

図5
図5 はてなブログとFacebookに見るOAuth 2.0の動作(連携完了後)

非同期処理で進める

 このユースケースの特徴は何でしょうか。2つあります。

  1. はてなブログがFacebookに「記事投稿」の許可を要求し、許可を得た結果、記事投稿を実行している
  2. 記事投稿の許可を得る定義2のObtaining Authorizationの処理と、実際に記事投稿を行う定義3のAccessing Protected Resourcesの処理のタイミングが別

 1つ目の特徴にある、ClientがAuthorization Serverに対して要求するResource Serverのアクセス対象となる範囲のことを「scope」と呼びます。

 はてなブログはFacebook連携の説明として「予約投稿の公開時にFacebookへシェアできます」と説明しており、Facebookに対して要求するscopeと実際の処理、全てが一致していることでユーザーにとって直感的な仕組みであるとも言えます。

 2つ目に挙げたタイミングが別であることから、ユーザーアクションと非同期なバッチ処理などにもOAuth 2.0が適用できることが分かります。

Copyright © ITmedia, Inc. All Rights Reserved.

Security & Trust 記事ランキング

  1. 「生成AIのサイバー攻撃への悪用」は増加する? 徳丸浩氏が予測する2025年のセキュリティ
  2. AWS、組織のセキュリティインシデント対応を支援する「AWS Security Incident Response」を発表 アラートに圧倒されるセキュリティチームをどう支援?
  3. 商用国家安全保障アルゴリズム(CNSA)の期限となる2030年までに暗号化/キー管理サービス市場が60億ドルに達するとABI Researchが予測 急成長の要因とは?
  4. ChatGPTやClaudeのAPIアクセスをかたってマルウェアを配布するPython用パッケージ確認 Kasperskyが注意喚起
  5. Google、オープンソースのセキュリティパッチ検証ツール「Vanir」を公開 多種多様なAndroidデバイスの脆弱性対応を支援するアプローチとは
  6. 高度なAIでAIをテスト OpenAIが実践するAIモデルのレッドチーム演習とは
  7. 「このままゼロトラストへ進んでいいの?」と迷う企業やこれから入門する企業も必見、ゼロトラストの本質、始め方/進め方が分かる無料の電子書籍
  8. 「SQLite」のゼロデイ脆弱性、GoogleのAIエージェントが見つける AIは脆弱性調査の課題をどう解決したのか?
  9. 従業員は「最新のサイバー脅威との戦い」を強いられている セキュリティ教育に不満を持つ理由の1位は?
  10. 堅調なID管理や認証、脅威インテリジェンスなどを抑え、2024年上半期で最も成長したセキュリティ分野は?
ページトップに戻る