マイクロサービスにおけるID認証・管理方法とそのメリット
近年、Netflix、Amazon、Uber、eBay、Grouponといった大手テクノロジー企業を筆頭に、テクノロジーとビジネス戦略の一環として、複数の小さなサービスを組み合わせて1つのアプリケーションを実現する「マイクロサービス」を採用しています。システム開発、ひいてはビジネスに優れた俊敏性や拡張性をもたらすことから、今やあらゆる規模の企業が、自社のビジネスの成長にマイクロサービスが不可欠であることを認識しています。
すべてのサービスとコードが大規模かつ複雑に組み合わされ、1つのアプリケーションとして提供される従来型の「モノリシックアーキテクチャー」とは異なり、マイクロサービスは、アプリケーションにおける様々なコンポーネントを提供する「自律型ユニット」です。つまり、より大きなアプリケーションを構成するために、小さく緩く結合されたサービスと言えるでしょう。このように、マイクロサービスは、開発チームとビジネスに多大なメリットをもたらします。
しかし、他のアプリケーションアーキテクチャと同様に、マイクロサービスの採用を検討している企業は、その利用にあたって、セキュリティへの影響を考慮しなければなりません。ここでは、マイクロサービスがもたらすメリットと、導入にあたって事前に知っておくべきベストプラクティスをご紹介します。
マイクロサービスがもたらす主なメリット
独立したユニットであるマイクロサービスは、モノリシックアーキテクチャに比べ、作成やアップデート、スケーリング、サポートがより簡単に行えるため、コスト効率に優れています。例えば、モノリシックなアプリケーションでは、アップデートを展開する際にアプリケーション全体を再起動させなければならない場合がありますが、マイクロサービスであれば、開発チームはアプリケーションの特定のコンポーネントのみを選択してアップデートを行い、それを展開できるため、システムを停止せずに済みます。つまり、利用者への影響を最小限に留めることが可能となるのです。
また、マイクロサービスアーキテクチャを実装すれば、複数の開発チームが異なるコンポーネントの開発作業に同時に取り組めようになるので、アプリケーション開発における企業・組織の生産性とスピードを向上できます。他のサービスの開発に支障をきたすことなく、各サービスを個別にテストすることも可能です。これは、異なるタイムゾーンや異なる権限の下で作業を行っているような、グローバルに分散する開発チームを持つ企業・組織に大きなメリットをもたらします。
また、各種マイクロサービスは、その自律的な特性から、技術的に異なるプログラミング言語やテクノロジーを利用した設計が可能です。つまり開発チームは、マイクロサービスを効果的に開発したり拡張したりするための適切なツールを選択できると同時に、自分達にとっても最適なプロセスを選べるようになるのです。
マイクロサービスにおけるID管理をどう実現する?
このようにマイクロサービスは、俊敏性と生産性の両面で開発チームに多くのメリットをもたらしますが、セキュリティの面では独自の課題を抱えています。顧客、サードパーティ製のアプリケーション、その他のマイクロサービスへのセキュアなアクセスを許可するために、それぞれのマイクロサービスに認証と承認のサポートが必要となるからです。これに対して、マイクロサービスアーキテクチャの導入を検討する企業・組織には、強力でスムーズな顧客IDおよびアクセス管理(CIAM)を確実に実装するための様々な手立てが用意されています。
セキュアなアクセスポイントの確立
マイクロサービスへのアクセスを一元化するため、API ゲートウェイはすべてのエンドユーザーからのリクエストに対する共通の入口と、ファイアウォールの背後にある各マイクロサービスへのセキュアなインターフェイスを提供します。認証プロセスの一環として、ユーザーIDの評価と検証に有効なOAuth 2.0を使用すれば、さらにセキュアなものとなります。
マイクロサービスのセキュリティは、ユーザー認証におけるトークンベースのアプローチからも恩恵を受けられます。その1つが、ユーザーを検証するための安全かつオープンスタンダードな方法である「JSON Web Token」(JWT)です。これらのトークンは、ユーザーセッションに関連する情報を保存し、発行者や更新トークン、そしてアクセスレベルに関する詳細情報を提供します。つまり、ユーザーが「どのマイクロサービスにアクセスできるのか」「どの程度のレベルまでアクセスできるのか」を判断するのに有効な手段となります。
適切な認証インターフェイスの選択
各マイクロサービスにアクセスを必要とする多数のユーザーやアプリケーションが存在する中で、シンプルでセキュアなIDおよびアクセス管理のプロセスを実現することは重要です。また、シングルサインオン(SSO)などの最新の認証ツールを実装すれば、ユーザーは一度ログインすることで、サービスごとに異なるパスワードを入力することなく、すべてのサービスにアクセスできるようになります。さらに、場所、時間、顧客行動における異常をはじめ、デバイス、IPアドレスといったアクセス要求のコンテキストとリスクを評価する多要素認証(MFA)を使用すれば、企業・組織はサービスにセキュリティの追加レイヤーを組み込めるようになります。
アクセスと制御の一元化
マイクロサービスでは、すべてのアクセス要求に適用される、一元化されたアクセスポリシーが必要となります。ポリシーの変更を個々のマイクロサービスに展開した場合、時間や作業負荷が増加し、マイクロサービスアーキテクチャがもたらす“効率性”という最大のメリットが失われてしまいます。また、すべてのアップデートが適切に展開されたことを保証する方法がなければ、企業は、潜在的なセキュリティ上の脅威や、大きな損失をもたらすセキュリティ違反のリスクにさらされる恐れがあります。したがって、マイクロサービスにおけるセキュリティの確保を考えた場合、一元化されたポリシーに加えて、ユーザー、アプリケーション、グループ、デバイス、およびAPIを一元的に管理することができるインターフェイスを持つことが重要です。これにより、現状のサービスやアプリケーションで何が起きているのかをリアルタイムで可視化できるようになるからです。
信頼性の高いID管理ツールの採用が不可欠
マイクロサービスに対する顧客アクセスの保護において有効なソリューションがOktaのCIAM製品で、認証、承認、およびユーザー管理の一元化を実現します。開発チームはセキュリティ機能の実装にかかるコストを削減するとともに、最も重要なミッションである、革新的な製品とアプリケーションの開発に専念できるようになります。
マイクロサービスアーキテクチャの採用は、俊敏性と拡張性に優れたテクノロジーを追求する企業にとって、パズルを完成させるための貴重なピースとなりつつあります。ただし、アプリケーションやサービスの開発に新たなテクノロジーを導入する際には、セキュリティへの影響を評価するとともに、潜在的な脅威を抑制するための取り組みも推進していくことが非常に重要です。貴社のデータや顧客のデータを保護する強力な認証、および承認レイヤーを追加することで、カスタマーエクスペリエンスを損なうことなく、セキュアで優れたマイクロサービスアーキテクチャを開発できるようになります。
最新のCIAMを活用した、セキュアかつスムーズなカスタマーエクスペリエンスを実現する方法についてもっと詳しく知りたい方は、ぜひ、Oktaの顧客ID管理(カスタマーアイデンティティマネージメント)もご参照ください。