マイクロサービスでは、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製品で、認証、承認、およびユーザー管理の一元化を実現します。OktaのCIAMソリューションを導入することで、開発チームはセキュリティ機能の実装にかかるコストを削減するとともに、最も重要なミッションである、革新的な製品とアプリケーションの開発に専念できるようになります。

マイクロサービスアーキテクチャを採用することは、俊敏性と拡張性に優れたテクノロジーを追求する企業・組織にとって、パズルを完成させるための貴重なピースとなりつつあります。ただし、アプリケーションやサービスの開発に新たなテクノロジーを導入する際には、セキュリティへの影響を評価するとともに、潜在的な脅威を抑制するための取り組みも推進していくことが非常に重要です。貴社のデータや顧客のデータを保護する強力な認証、および承認レイヤーを追加することで、カスタマーエクスペリエンスを損なうことなく、セキュアで優れたマイクロサービスアーキテクチャを開発できるようになります。

最新のCIAMを活用した、セキュアかつスムーズなカスタマーエクスペリエンスを実現する方法についてもっと詳しく知りたい方は、ぜひ、こちらもご参照ください。