ゼロトラストネットワークアクセス - AWS Verified Access で VPN なしのセキュアアクセスを実現する
AWS Verified Access を使った VPN レスのゼロトラストアクセスを解説。ID プロバイダー統合、デバイストラスト、ポリシーベースのアクセス制御、従来の VPN との比較を紹介します。
VPN の課題とゼロトラストの必要性
従来の社内アプリケーションへのリモートアクセスは VPN が主流でした。しかし VPN には多くの課題があります。VPN に接続するとネットワーク全体にアクセスできてしまい、最小権限の原則に反します。VPN 集約装置の帯域がボトルネックになり、リモートワーカーの増加に伴いパフォーマンスが低下します。VPN クライアントのインストールと設定がユーザーの負担になります。VPN の認証情報が漏洩すると、ネットワーク全体が危険にさらされます。ゼロトラストモデルは「ネットワークの内外を問わず、すべてのアクセスを検証する」という原則に基づき、これらの課題を解決します。AWS Verified Access は 2023 年にリリースされたゼロトラストネットワークアクセスサービスで、ユーザーの ID とデバイスの信頼性を検証した上で、アプリケーション単位でアクセスを許可します。
この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。
アーキテクチャとポリシー定義
Verified Access は、信頼プロバイダー (Trust Provider)、アクセスグループ (Access Group)、エンドポイント (Endpoint) の 3 つの要素で構成されます。信頼プロバイダーはユーザー ID の検証 (IAM Identity Center、Okta、Azure AD) とデバイスの検証 (CrowdStrike、Jamf、JumpCloud) を担当します。アクセスグループはポリシーを共有するエンドポイントのグループです。エンドポイントは保護対象のアプリケーション (ALB またはネットワークインターフェース) です。アクセスポリシーは Cedar ポリシー言語で定義します。Cedar は AWS が開発したオープンソースのポリシー言語で、宣言的にアクセスルールを記述できます。 ``` // エンジニアリンググループかつデバイスが準拠状態の場合にアクセスを許可 permit(principal, action, resource) when { context.identity.groups.contains("engineering") && context.device.status == "compliant" }; ``` ユーザー属性 (グループ、メールドメイン)、デバイス属性 (OS バージョン、暗号化状態、パッチ適用状況)、リクエスト属性 (IP アドレス、時間帯) を組み合わせたきめ細かな制御が可能です。
導入と既存アプリケーションとの統合
Verified Access の導入は、既存のアプリケーションに変更を加えずに行えます。ALB の前段に Verified Access エンドポイントを配置し、ユーザーは Verified Access のエンドポイント URL にブラウザからアクセスします。Verified Access が ID とデバイスを検証し、ポリシーに合致する場合のみリクエストを ALB に転送します。ユーザーは VPN クライアントのインストールが不要で、ブラウザから直接アプリケーションにアクセスできます。Verified Access はリクエストヘッダーにユーザー情報 (メールアドレス、グループなど) を付加して ALB に転送するため、アプリケーション側でユーザー情報を活用することも可能です。CloudWatch Logs との統合でアクセスログを記録し、誰がいつどのアプリケーションにアクセスしたかの監査が可能です。
VPN との比較と料金
Verified Access と VPN の主な違いは、アクセスの粒度とユーザー体験です。VPN はネットワークレベルのアクセスを提供し、接続後はネットワーク内の全リソースにアクセスできます。Verified Access はアプリケーションレベルのアクセスを提供し、ポリシーで許可されたアプリケーションのみにアクセスできます。VPN はクライアントソフトウェアのインストールが必要ですが、Verified Access はブラウザのみで動作します。VPN は帯域がボトルネックになりますが、Verified Access は AWS のグローバルネットワークを活用して高いパフォーマンスを提供します。ただし、VPN が必要なケースもあります。SSH や RDP による直接的なサーバーアクセス、非 HTTP プロトコルの通信、ネットワークレベルのアクセスが必要な場合は引き続き VPN (Client VPN) が適しています。料金はエンドポイント 1 つあたり 0.27 USD/時 (約 197 USD/月) とデータ処理 0.02 USD/GB です。
さらに詳しく知りたい方は、関連書籍 (Amazon) で理解を深められます。
まとめ - Verified Access の活用指針
AWS Verified Access は、VPN を使わずにゼロトラストモデルで社内アプリケーションへのアクセスを制御するサービスです。ID プロバイダーとデバイス管理ソリューションとの統合、Cedar ポリシーによるきめ細かなアクセス制御、既存アプリケーションへの変更不要な導入が主な強みです。リモートワーカーが Web ベースの社内アプリケーションにアクセスするユースケースで、VPN の代替として検討する価値があります。
AWS の優位点
- VPN を使わずに、ユーザーの ID とデバイスの信頼性に基づいて社内アプリケーションへのアクセスを制御するゼロトラストサービス
- IAM Identity Center、Okta、Azure AD など外部 IdP と統合し、ユーザー認証とグループベースのアクセス制御を実現
- CrowdStrike、Jamf などのデバイス管理ソリューションと統合し、デバイスのセキュリティ状態 (パッチ適用状況、暗号化状態) を検証
- Cedar ポリシー言語でアクセスルールを定義し、ユーザー属性・グループ・デバイス状態の組み合わせできめ細かな制御が可能
- ALB や Network Interface に関連付けて、既存のアプリケーションに変更なしでゼロトラストアクセスを追加
- VPN の帯域制限やスプリットトンネリングの課題を解消し、ユーザーはブラウザから直接アプリケーションにアクセス
- Verified Access エンドポイント 1 つあたり 0.27 USD/時 + データ処理 0.02 USD/GB