しっかりとした認証機能を実装したいがメイン機能以外にリソースを割けない
昨今、流出したログイン情報で不正ログインし、そこからなりすましや不正侵入するなどのインシデントが増えてきている。もはやIDとパスワードだけの基本認証では安全性を確保できず、多要素認証を設定することがマナーやリテラシーとして浸透しつつある。多要素認証は多少面倒ではあるものの、不正ログインを防止するには有効な手段となる。
しかしWebサイトやサービス側で多要素認証が設定できない、あるいは認証の仕組みが甘いとしたら、ユーザーはどう思うだろう。サービスそのものはよくても、セキュリティ意識が高いユーザーは敬遠してしまうかもしれない。逆に多要素認証ができてもデザインが分かりにくかったり、操作が面倒だったりすると離脱するユーザーが出てしまう。サイトの安全性を高める上でも、利便性を高める上でも、トレンドを踏まえてモダンな認証機能を実装しておきたいところだ。
とはいえ、モダンな認証の仕組みを充実させるとなると、開発や運用に負担が重くのしかかる。認証そのものは不可欠な機能でありつつも、主要な機能ではないため十分なリソースを回しにくい。限られたリソースは主要な機能開発に注力したいところではないだろうか。
田所光貴氏によると、アプリやサービス開発における認証やそれに伴うID管理の仕組みは「一見すると簡単に見えるかもしれませんが、ふたを開けると多くの実施項目があります」と指摘する。
ログインに関する機能は、表面的には入力フォームの設計や開発と、ID/パスワード情報の管理程度に見えるかもしれない。だがモダンな認証機能を備えようとしたら、多要素認証の実装、GoogleやFacebookなどのアカウントを使うソーシャルログイン実装、PC/モバイル両対応、機能のメンテナンスやバージョンアップ、OpenID ConnectやSAMLなどの仕組み、外部IDプロバイダーとの連携などを検討していく必要がある。会員登録が必要なサイトなら、ユーザーが離脱しないような簡便さに配慮したフォームを設計する必要もあるだろう。
上で挙げたような認証の仕組みはすべて実装する必要はなく、すべて自前で開発する必要もない。CIAM(顧客ID&アクセス管理)ソリューションやIDaaSなどの外部サービスを頼るという選択もありだ。市場には認証に関するサービスが多種多様に提供されている。いずれかのサービスを利用するのであれば、その部分の機能を開発する手間を省くことができる。
認証まわりはOkta CICにまるっと任せて開発をスピーディーに
認証に関するクラウドサービスやソリューションは多種多様にある。しかし外部サービスとなるとサービス障害、場合によってはサービス提供終了というリスクも考えられる。ログインはサービスの入口だ。万が一、ログインで使うサービスで障害が起きると、顧客は店の玄関先で立ち往生してしまうようなものだ。サービスを選択する際には可用性や信頼性の高さも重要になる。
また、先述したような認証やID管理に該当するサービスはいろいろとある。ソーシャルログイン実装のためのサービス、モバイルのログイン向けのサービス、IDaaSのサービスなど、機能ごとにサービスを使い分けるとなると、管理や運用が煩雑になってしまうかもしれない。
これらの課題解決のいい選択肢となるのがOkta CIC(顧客アイデンティティ管理だ)。アプリやサービスに必要な認証やID管理の機能を幅広く備えているクラウドサービスである。いわば認証まわりを「まるっと」任せることができるので、開発者はコア機能の開発に注力することができる。
主要なメリットは何よりも開発スピードの向上だ。Okta CICは認証に関する機能を豊富に備えており(詳しくは後述)、ノーコードまたはローコードで簡単に設定できるため、認証部分の開発の省力化を図ることができる。また、Okta CICとの連携にあたり必要となるアプリ側の改修には、Okta CICが提供するSDKを活用できる。SDKは、Webアプリやモバイルアプリ等、数十種類の開発言語やフレームワークに対応している。それだけではなく、ID専業グローバルメーカーが提供するサービスなので最新機能を備えており、品質も信頼できて、サービスのセキュリティ強化に寄与する。
他にも複数サービスのログインを統合する機能もあるため、ビジネス部門にはユーザー行動可視化、顧客には利便性向上といった恩恵をもたらすこともできる。認証機能を豊富に備えているため、Okta CICだけで必要な機能がそろう。複数のサービスを併用する必要がなくなるため、運用部門にとっては煩雑さを減らすことができて、運用コスト削減の可能性も大きい。
可用性について、同社 ネットワークス カンパニーの今川侑氏は「SLAとして、月間99.99%のサービス可用性が定義されています」と証言する。Okta CICの顧客企業は9,000社を越える。十分な導入実績があり、安心して任せられると考えていいだろう。
もう少し詳しく機能を見ていこう。認証に関する機能が豊富にそろっているため「オールインワンで提供されている」ところがメリットとして大きい。各種認証方式に対応した認証画面機能があり、SSO(シングルサインオン)も実現できる。
対応している認証方式はID/パスワードの基本認証のほか、ソーシャルログイン(対応しているソーシャルプロバイダはX/Twitter、Facebook、Google、Microsoft、GitHub、LINE、dアカウントなど)、外部IdP認証(Azure AD、ADFS、Google Workspace、Okta Workforce Identityなど)、多要素認証(PUSH通知、 SMS/Voice通知によるOTP、Google Authenticatorなどを利用したTOTPなど)、パスワードレス認証(SMS/Email認証、WebAuthn)など、実に幅広い。
パスワードレス認証は、現状では大きく分けて2種類ある。1つはSMS/Email認証で、ユーザーの電話番号またはメールアドレスにコードを送付し、ユーザーは送付されたコードを入力することでログインできるというもの。もう1つはWebAuthnベースの認証で、ユーザーの登録デバイスでの指紋認証や顔認証(生体認証)でログインできるというもの。
加えて現時点ではアーリーアクセスではあるものの、パスキー認証も利用可能だ。近々正式に利用可能となる。パスキー認証はまだ日常ではメジャーなログイン方式ではないものの、Google、Yahoo! JAPAN、dアカウントなどで使われている。直近では9月21日からGitHubが正式にパスキー認証に対応することになった。これから確実に普及が見込まれる認証方式に対応していることを念頭に置きたい。
必要な機能がオールインワン 継続的なアップデートで最新機能をいち早く入手
Okta CICを導入すると、Okta CICをコアとした認証認可機能と各種認証サービスとの連携を実現できる。ユーザーはさまざまな認証方式でログインできて、UI/UXが向上する。それだけではなく、認証ログをSplunkなどのSIEMと連携して監視を強化したり、あるいはSalesforceと連携したりすることで、サービス利用状況の分析やマーケティング施策に役立てることも可能だ。また認証機能だけではなく、ロールベースのアクセス制御管理、既存ユーザーデータベースから認証情報を移行するための機能も備えている。
Okta CICは認証認可にフォーカスしたクラウドサービスなので、最新の技術トレンドやニーズに合わせていち早く機能が実装されるのも強みの1つ。認証機能は基本的な機能ではあるものの近年では認証方式が広がっているため、独自開発でトレンドに追随するとなると情報収集から開発までかなりの労力を割く必要がある。一方、Okta CICなら最新機能をタイムリーに享受できる。
実際、Okta CICでは継続的に機能アップデートが行われている。近年の新機能で代表的なものと件数を見ると、2021年には、WebAuthnを用いたパスワードレス認証への対応やBtoB向けのOrganizations機能追加など約40件、2022年には既存機能の各種機能強化など約30件、2023年にはパスワードレス認証機能の拡張やイベント可視化機能などが次々とリリースされている。
認証に特化したサービスなだけあって不正ログイン対策機能も充実していて、セキュリティ強化に有効だ。ボット検知、不審IPアドレスからのトラフィック制限、ブルートフォース攻撃防御、流出したパスワード検知などの機能が備わっており、これらの機能はオンオフとしきい値で容易かつ柔軟に設定できる。
他にも独自のロジックを組み込むことができる「Actions機能」を活用すれば、よりきめ細かな不正ログイン対策を施すこともできる。「SaaSやクラウドサービスだと(スクラッチ開発に比べて)機能が固定で、カスタマイズできないのではないか」という懸念があるかもしれないが、Actions機能を使えばその心配には及ばない。組み込むロジックは、管理画面上でJavaScript記述により定義できる。
例えば、メールのドメインや登録情報に応じてユーザー登録の許可や拒否を制御する、あるいはアクセス元情報(IPアドレスなど)に応じて追加で多要素認証を要求することもできる。他にもActions機能はユーザー登録時の利便性を高めるのにも有効だ。
近年ではプログレッシブプロファイリングとも呼ばれているが、ユーザープロファイルを段階的に収集するアプローチがある。ユーザー登録時に入力項目が多いとユーザーは離脱してしまうので、初回では最小限にとどめておき、次回以降少しずつユーザーの負担にならないように収集していくという方法だ。ユーザーのログイン回数に合わせた入力画面への遷移も、Actions機能で実現できる。
なおOkta CICではトライアルを提供している。トライアル期間は22日間で、Enterpriseサブスクリプション機能を利用可能だ。またOkta CICやマクニカからはサンプルアプリや、機能説明や基本設定ガイドなどのドキュメントも豊富に提供されている。
最後に田所氏はOkta CICのメリットについて「アプリやサービス開発では、認証やID管理部分を切り取りクラウドサービスに任せることがトレンドになっています。自社開発・運用ですとリソースが限られて、新機能開発が後手に回ることもあります。その点、Okta CICは可能性の幅が広く、機能アップデートも頻繁にされていますので、最新機能をスピーディーに取り込めます。Okta CICにお任せいただければお客様のセキュリティ向上やランニングコスト削減が実現できて、開発のメインにリソースを注力できます」と強調した。
本記事の参考情報として5つの資料が用意されています。
是非ダウンロードして活用ください。