マイクロサービスアーキテクチャにおける認証は、重要なセキュリティコンポーネントの一つだ。マイクロサービスの認証プロセスを展開、管理するに当たって従うべき5つのベストプラクティスを紹介する。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
マイクロサービスアーキテクチャは分散型の特性を持つため、認証が特に複雑な課題となる。
IT部門は、ユーザーがどのサービスにアクセスできるかを決めるだけでなく、アクセスする際の細かい権限を大規模かつサービス全体で一貫性を持って管理しなければならない。マイクロサービスアプリケーションにおける認証部分を設計、開発する際に考慮すべき5つのプラクティスを紹介する。
認証は効果的なセキュリティの核となるものだ。しかし、認証が自社内の進展を妨げる障害になることを避けなければならない。適切な認証を通じて、必要なビジネスロジックを全て実行可能にしてコラボレーションとイノベーションを促進しながら、不審なアクティビティーを阻止する。
セキュリティを優先し、ビジネスの継続性を促進するには、ゼロトラストと最小特権の原則に従い、あるIDがシステム内で実行できる範囲を減らす。これには、継続的な検証、特権の範囲を必須のものに絞り込むこと、アクセス期間を特定期間に制限することが含まれる。
認証の基本要素の一つがアクセストークンだ。アクセストークンとは、システム内の特定のリソースにアクセスする際にユーザーのアクセス許可を検証する情報を保持する文字列データだ。トークンの有効期限は、ワークロードとセキュリティのニーズに応じて数時間から数週間の範囲で設定される。トークンの有効期限が切れると、ユーザーはそのリソースにアクセスできなくなる。
セキュリティを高めるには、トークンを定期的にローテーションする必要がある。アクセストークンは、認証サービスによって作成、管理される。
認証ポリシーを策定する際に重要なのは方針だ。ポリシーとは、個別のトークンまたはトークンのグループに適用するルールを指す。ポリシーにはユーザーのロールや階層を含めることができる。
従来型のモデルはロールベースのアクセス制御(RBAC)だが、属性ベースのアクセス制御(ABAC)などの新しいモデルも普及しつつある。ABACでは、ID、リソース、操作、環境といった属性を幾つか組み合わせてポリシーを定義できる。そのため、柔軟性と多様性が高まる。
A地域の開発者にリソースへのアクセスを許可し、B地域の開発者には許可しないことも可能だ。時間帯、役職、年齢、ユーザー名などの属性を使用してポリシーを決めることもできる。
IDがリソースにアクセスする際や特定のタスクを実行する際には、データセンター、エッジロケーション、クラウドなどさまざまな場所や複数のシステムで認証が行われる可能性がある。認証をする場所をイベントが発生する場所に可能な限り近づけることが重要だ。主に2つのメリットがある。
自社とアプリケーションの全ての認証アクティビティーを1箇所で管理すると、運用が簡素化され、監査が容易になる。アクセス制御の一貫性が欠如する問題を解決できる上、不正アクセスに関連するリスクが軽減され、データ侵害が防止され、ユーザー管理とアクセス許可の効率が高まる。
一元化によりスケーラビリティと柔軟性が向上することで、システムの整合性を維持しながら各マイクロサービスをセキュアに運用できる。堅牢(けんろう)なセキュリティを確保しながら、マイクロサービスアプリケーションの開発が可能になる。
Copyright © ITmedia, Inc. All Rights Reserved.