2025/02/25その他
『"IDaaS + OAuth + OpenID Connect = 未来の自立型システム"』
CISO事業部 中村 和之
昨今、OktaやMS Azureのように毎年Gartnerアクセス管理部門でLeaderとなるIDaaS製品から、その他Keycloakのようにある一定層に強く支持されるOSS製品まで様々な認証システムが注目集めている中、APIの潮流に乗り注目されてきたOAuthやOpenID Connetといった認可システムが登場、仕組みは今までの認証システムと異なるものの、理解が及ばす混乱される方も多いと思われるので、改めて整理したいです。
まず、アクセス管理という意味だと認証・認可と言われても何やら同じような仕組み・製品なのだろうな?と一括りにしてしまいがちです。認証というと日々様々なシステムに慣れ親しんでおり、IT業界で仕事をしている方であればMSのActive Directoryを思い描くと思います。その中でもパスワード認証が一般的であり、アプリとユーザーが共有しているパスワードを利用するユーザー認証の方式です。
昨今では、IDentity as a Service(IDaaS)という名前でクラウドサービスとして利用することが増えましたが、基本概念は変わっていないかと思います。変わったと言えば、オンプレからクラウドシステムへの移行の要件に伴い、新たな機能が追加されたというところでしょうか。
一方、認可システムというとなんとなく理解できた気になりがちですが、あまり聞き慣れない言葉だなといった感覚を覚えます。ただし、我々は日々配車アプリUberや家計簿管理アプリMoneyForwardといった生活する上でなくてはならないアプリやWebサービスの中で知らずと使っています。認証と違い、認可はどちらかというとバックエンドシステムで使われるものと捉えると多少は分かり易くなるかもしれません。
その中でも最近よく使われるOAuth/OpenID Connectについて少し技術的な点も踏まえてみていきたいと思います。そこで、認証・認可のフローや仕組みについて具体的なアプリを参考にDeep Diveしてみたいと思います。
図1.外部サービスと連携したタクシー配車システムの例
出所:中村 雄一,和田 広之,田村 広平,田畑 義之,青柳 隆,渡辺 竜二,奥 浦航,相田 洋志 著
「認証と認可 Keycloak入門」を基に作成(2022年2月 初版発行)
図1.は皆さんがよく使われる配車アプリの仕組みや認証・認可フローを示しています。
左からユーザーが配車アプリにログインする際、認証システムが使われ、アプリ内でリソースサーバーから必要情報を呼び出すのがAPIの仕組みであり、その中で信頼関係を担保しているのが認可システムとなります。家計簿システムにて、残高照会を行うときも同じように家計簿アプリがX銀行の残高照会APIを呼び出す事でアプリ画面に残高が表示される仕組みとなっています。
図2.OAuthの登場人物と認可の関係
出所:中村 雄一,和田 広之,田村 広平,田畑 義之,青柳 隆,渡辺 竜二,奥 浦航,相田 洋志 著
「認証と認可 Keycloak入門」を基に作成(2022年2月 初版発行)
また。仕組み上の特徴としては、API連携を行うにあたり必要な「アクセストークン」をクライアントに発行し管理する認可サーバーを使う点だと思います。
つまり、一度認可サーバーにて「アクセストークン」を割り当てられたクライアントはバックエンドにてAPIにて必要な情報をリソースサーバーから呼び出すことができるようになります。
テクノロジーの潮流を恐ろしく早く感じてしまう一方、便利さの影に潜むサイバーセキュリティのリスクの高さを改めて感じてしまいます。連載形式で次は、そのセキュリティリスクについて一歩踏み込んだ記事をまとめてみたいと思います。
中村 和之(なかむら かずゆき)
2024年にデジタルアーツコンサルティング株式会社(DAC)
※2024/4よりアイディルートコンサルティング株式会社(IDR-C)へ社名変更
ヒューレットパッカード、パロアルトネットワークスを経て、ITインフラ・サイバーセキュリティの分野においてコンサルタントとして活動。最近では、多岐に渡るセキュリティ製品を顧客要件に応じて適切に組み合わせる知験作りにフォーカスした活動に注力しています。