SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Developers Summit 2024 セッションレポート(AD)

顧客体験を左右する顧客IDの統合管理、Okta CICを使う開発者が語る魅力とメリットとは?

【15-C-6】顧客IDの統合管理を目指す、サービス開発の事例から学ぶポイントとは?

  • このエントリーをはてなブックマークに追加

 セキュリティやマーケティングの観点から、顧客体験を大きく左右する「顧客IDの統合管理」。重要な役割を担っているとはいえ、開発に時間がかかったり、ユーザ情報の一元化ができなかったりと、何かと頭を悩ませるものでもある。そんな顧客IDの統合管理をテーマに、株式会社ラック セキュリティエンジニアリング統括部 ソリューションサービス第二部 IMサービスグループ 丸山健斗氏と、株式会社マクニカ ネットワークス カンパニー セキュリティ第3事業部第3営業部第1課 田所光貴氏が登壇。「Okta Customer Identity Cloud(旧Auth0)(以下、Okta CIC)」を用いたサービス開発の魅力と実例について語った。

  • このエントリーをはてなブックマークに追加

アプリ・サービス開発で認証認可/ID管理の重要性が非常に大きい訳とは

 Oktaは2009年に米国で創業したIDの専業メーカーである。いち早くIDaaS領域に取り組み始め、今では「2022年Gartnerアクセス管理のマジック・クアドラント」において、6年連続でリーダーポジションに位置するまでになっている。2020年9月には日本法人も創業し、セールス部門のみならずサポートやカスタマーサクセスにも力を入れながら、積極的に拡充を図っている企業だ。

 世界では1万8400社以上の導入実績があり、マクニカ調べによると日本国内でも数百社の導入実績を誇ると言う。導入企業の業種は問わず、製造業、金融業、小売業、インフラ、情報通信業、公共・団体など、幅広く採用されている。

 今回紹介されたOkta CICはエンドユーザー向けのプラットフォームだが、この他にも「Okta Workforce Identity Cloud(WIC)」という従業員や契約社員、取引先社員向けのID管理ソリューションもある。

ユーザによって異なるOktaの2つのプラットフォーム
異なるOktaの2つのプラットフォーム

 アプリやサービス開発における認証認可/ID管理は、サービス企画・UIデザイン・インフラ設計構築・セキュリティ対策など、あまたあるタスクの1つに過ぎない。だが、「その重要性は非常に大きい」と語る田所氏は、理由を次の3つにまとめた。

  • 顧客獲得/維持:ID/認証はサービスを利用するとき、最初にユーザが触れる部分であり、使いやすさが顧客獲得率に直結する。
  • 企業の信頼性:IDとして顧客の個人情報を取り扱うため、万一セキュリティインシデントが起これば、企業の信頼性の損失に直結する。
  • ビジネスの拡大:IDの動向を把握・分析することで、顧客の特性や興味に対する理解を深めることができ、次のビジネスへの拡大に直結する。
マクニカ ネットワークスカンパニーセキュリティ第3事業部第3営業部 第1課 田所 光貴氏
マクニカ ネットワークス カンパニー セキュリティ第3事業部第3営業部 第1課 田所 光貴氏

ChatGPTの認証基盤としても採用されているOkta CICの9つの機能

 このような特性を持つ認証認可/ID管理のために必要な検討事項としては、具体的にどのようなものが挙げられるだろうか。「ID/認証情報の保管」や「入力フォームの設計・開発」はすぐに思い浮かぶが、「これらは氷山の一角に過ぎず、蓋を開けるとまだまだ多くの実施項目があることに気づくはずだ」と指摘する田所氏。他の検討事項として、以下を挙げた。

  • 会員登録設計(ユーザ離脱防止)
  • 多要素認証の実装
  • ソーシャルログイン実装
  • インフラ設計/構築
  • 高可用性の実現
  • 各種メンテナンス
  • OpenID Connect/SAML準拠
  • 外部IdP連携
  • PC/モバイル両対応

 サービス提供者側としては、アプリやサービスが増えるたびに、再びこれらを検討して開発する手間がかかるし、ユーザ側としても、複数のID/パスワードを管理して、都度、ログインしなおす手間を強いられることになる。IDが統合管理されていないことは、両者に不幸をもたらすのだ。

 「認証認可/ID管理をOkta CICに任せることで、開発リソースやスキルをメインの機能開発に集中させることができるだけでなく、開発スピードの向上・セキュリティ強化・ユーザ行動の可視化や利便性向上・コスト削減など、数えきれないほどのメリットがもたらされる」(田所氏)

アプリ・サービス開発における認証/ID管理のこれから
アプリ・サービス開発における認証/ID管理のこれから

 身近なところでは、ChatGPTの認証基盤としても採用されているというOkta CIC。主な機能としては以下の9つが挙げられる。

  • 認証画面機能/SSOの実現:一度の認証により、さまざまなアプリへのシームレスなアクセス体験を実現。
  • 不正ログイン対策機能:ボットからのアクセスや漏洩パスワードの利用など、不正なログイン試行を検出。
  • SDK/API/サンプルアプリ提供:各種プラットフォームおよびフレームワークに対応したSDK、外部連携を可能とするAPI、容易に動作確認可能なサンプルアプリ提供。
  • 各種IdP連携:LINEやFacebookなどのソーシャルログインや外部IdPを用いたログインを実現し、ID情報登録の手間を簡略化。
  • 各種カスタマイズ機能:JavaScript記述によるサーバレスな処理実行により、任意のカスタムロジックを実現(例:Actions機能)。
  • ユーザ移行:既存のユーザデータベースからシームレスな認証情報移行を実現。
  • MFA/パスワードレス認証:多要素認証(さまざまな認証要素への対応、認証要求条件に応じた動的なMFA適用)、パスワードレス認証(SMS/Email/生体認証)。
  • ユーザロール管理:ロールベースアクセス制御(RBAC)を実現。
  • APIアクセス制御:アプリケーションを構成するBackend APIのアクセス制御を実現。

 このように、Okta CICは開発者フレンドリーな機能を多数兼ね備えている。次からは実際にOkta CICを用いた実例を見ていこう。

クライアント目線と開発者目線の両方からOkta CICのメリットを解説

 丸山氏が携わったのは、従業員規模約6000名の国内製造業企業で、新しく提供するサービス群にOkta CICを導入して「アカウントの一元管理」と「シングルサインオン」を実現するプロジェクトだった。モバイルアプリケーションとWebアプリケーションでOkta CICを導入するためにOAuth2.0ベースのOpenID Connectと各種Authorization Code Flowを使い、APIにはクライアントクレデンシャルフローを用いたという。

丸山氏がアサインされたOkta CIC導入プロジェクトの概要図
丸山氏がアサインされたOkta CIC導入プロジェクトの概要図

 このプロジェクトにおいて、課題は大きく3つあった。1つ目は「サインアップフロー中にさまざまな処理を入れたい」というもの。国外からのアクセス拒否・利用規約への同意・ユーザ情報の追加入力・メールの確認が済んでいないユーザのアクセス拒否・仮パスワードが設定されているユーザのパスワードリセット・使用権限がないアプリケーションへのアクセス拒否・使用したアプリケーションの記録。「これだけのアクションをサインアップ中に実施するには、Okta CICなしでは難しかっただろう」と丸山氏は振り返る。

ラック セキュリティエンジニアリング統括部 ソリューションサービス第二部 IMサービスグループ 丸山 健斗氏
ラック セキュリティエンジニアリング統括部 ソリューションサービス第二部 IMサービスグループ 丸山 健斗氏

 2つ目の課題は、「後からソーシャルログインを追加し、サインアップフローを変える」ことだ。通常、フローを途中から変えてしまうとユーザデータの形が変わってしまうが、要件定義の段階で想定しておくことはなかなか難しい。しかし、これもOkta CICでどこから来てもユーザデータの形が同じになるよう処理を完結させることで、他のアプリケーションにはまったく影響が出ないように変更することができたという。

 3つ目の課題は、クライアントに向けて「認証認可の構成やその目的・意図を説明すること」だ。丸山氏が所属するラックのようなSI企業に共通する課題として、OpenID Connectの構成や導入メリットをクライアントに説明するのが難しいという課題がある。Backlogなどを使って何度もやり取りをしながら説明を重ねたそうだ。

 こうした課題に挑みながらもOkta CICを導入してよかった点について、丸山氏はクライアント目線と開発者目線の両方から、次のように語った。

クライアント目線で見たOkta CICの導入メリット

  • 変化への対応力の高さ…途中でフローを変更したり、ログイン中の処理を増やしたりしたくなったときに、比較的すぐに対応できる。
  • シングルサインオンと顧客アカウントの一元管理ができる…新しいサービスが増えたときでも、ユーザビリティを損なうことがない。
  • 要件定義の積み残しや要望の変化に柔軟に対応できる…Okta CICは自分たちでコーディングできるので、導入後のミスマッチが起きにくい。
  • ドキュメントがきれいにまとまっているので、クライアント自身で一次情報を確認しやすい。
  • Okta CIC Actions機能により、要件変更に素早く対応できる。

開発者目線で見たOkta CICの導入メリット

  • ドキュメントやコミュニティが充実しており、構築作業や不具合の解消がとても早くてうれしい。
  • Okta CIC Actions機能でコーディングできるため、直感的に機能を実装できる。
  • ログイン機能を自分で実装しなくて良いため、リソースを本来の機能開発に投入できる。

 「Next.jsやRustなど、エンジニアとして新しい言語やフレームワークの勉強が必要ななか、認証認可/ID管理まで追い続けるのは難しいと感じる。Okta CICのようなIDaaS製品を導入してから、お手本にして学んでから自分でつくるのは、良い選択肢ではないか」と語り、丸山氏はセッションを締め括った。

認証やID管理は「Okta CIC」に任せてみては?

開発者が主要機能開発にフォーカスできる CIAM の魅力に迫る!

  • しっかりとした認証機能を実装したいが メイン機能以外にリソースを割けない
  • 認証まわりはOkta CICにまるっと任せて開発をスピーディーに
  • 必要な機能がオールインワン 継続的なアップデートで最新機能をいち早く入手

 本記事で興味を持たれた方は、資料請求フォームからお問い合わせください。

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加

提供:株式会社マクニカ

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/19162 2024/04/02 12:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング