Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWS Verified Access で VPN-less な世界を体験してみた / The...

hayao_k
December 15, 2022

AWS Verified Access で VPN-less な世界を体験してみた / The world of VPN-less with AWS Verified Access

color is クラウド LT 大会vol.2「大型アップデート祭り」の登壇資料です。

hayao_k

December 15, 2022
Tweet

More Decks by hayao_k

Other Decks in Technology

Transcript

  1. Me • Cloud Engineer @ セゾン情報システムズ • AWS Community Builder

    (Fall of 2020) • 2019 - 2022 APN AWS Top Engineers • 11x AWS Certified 2 @hayaok3 @hayao_k
  2. • AWS re:Invent 2022 で発表された新サービス • VPN を使用せずに企業アプリケーションにセキュアなアクセスを提供する • AWS

    Zero Trust security principlesに基づいて設計されている • 10 リージョンで Preview 中だが、東京リージョンは未対応 4 AWS (AVA)
  3. How Works 6 Client AWS Verified Access VPC Private subnet

    Corp Application AVA Instance AVA Group AVA Trust Providers Device Trust Provider Jamf (macOS) CloudStrike (Windows10/11) User Trust Provider AWS IAM Identity Center 3rd Party IdP (OIDC) Policy Endpoint 1. クライアントがリクエストを送信 2. 信頼プロバイダーからデータを取得 ID, デバイスの場所, ステータスなど 3. グループ/エンドポイントに設定された ポリシーを評価 4. セキュリティ要件を満たしている場合に アプリケーションへのアクセスを許可
  4. • アクセスポリシーを AVA で統一管理できる • リクエスト毎 にアクセス許可の判定を行う • ID, デバイスの場所,

    ステータスなどに基づき評価 • すべてのアクセスをログに記録可能 • S3/CloudWatch/Kinesis Firehose • Policy は Cedar で記述 • AWS が開発したポリシー言語 • Amazon Verified Permissions でも Cedar を採用 How Works 7 Client AWS Verified Access VPC Private subnet Corp Application AVA Instance AVA Group AVA Trust Providers Device Trust Provider Jamf (macOS) CloudStrike (Windows10/11) User Trust Provider AWS IAM Identity Center 3rd Party IdP (OIDC) Policy Endpoint
  5. Syntax 8 permit ( principal, action, Resource ) when {

    context.device.location == “JP” && context.authn == “MFA” }; effect scope condition clause • effect • permit (許可) or forbid (拒否) を指定 • scope • effect が適用される範囲を指定 • AVA では使用されないため、常に未定義 • condition clause • effect が適用される条件句を指定 • ID と デバイスのデータをもとにアクセスを絞る // ドメインが example.com かつデバイスリスクが低とレポートされた場合にアクセスを許可 permit(principal, action, resource) when { context.identity.email like “*@example.com” && context.devise.risk == “Low” }; // 管理者以外の POST リクエストを拒否 forbid(principal, action, resource) when { context.http_request.http_method == "POST“ && !(context.identity.roles.contains("Administrator")) };
  6. 10 Client AWS Verified Access VPC Private subnet AVA Instance

    AVA Group AVA Trust Providers Policy Endpoint Auth0 // Policy permit(principal, action, resource) when { context.Auth0.email like “*@example.com” }; 実際には Endpoint に対するACM 証明書の設定や Route 53 への CNAME レコード設定も必要 @example.com @gmail.com
  7. • AWS Verified Access の何が嬉しいのか • VPN を使用せずに企業アプリケーションにセキュアなアクセスを提供 • ID

    やデバイス情報をもとにした柔軟なアクセス制御 • アクセスポリシーの統一管理 • 従来は VPN/Identity/Device の管理がバラバラに行われ煩雑だった • これからに期待するところ • 東京リージョンへの対応 • 料金は1アプリあたり $200/月~ なのでそこそこする印象 11
  8. • Verified Access Instances • Trust Provider と Group を関連付けるためのリソース

    • Verified Access Endpoints • 接続先のアプリケーション (ALB/NLB/ENI) をアタッチ • Verified Access Groups • 同様のセキュリティ要件を持つエンドポイントをグループ化 • Access Policies • アプリケーションへのアクセス可否を決定するためのルール • グループおよびエンドポイントに対し設定可能 • Trust Providers • ユーザー ID またはデバイスのセキュリティ状態を管理するサービス How Works 13 Client AWS Verified Access VPC Private subnet Corp Application AVA Instance AVA Group AVA Trust Providers Device Trust Provider Jamf (macOS) CloudStrike (Windows10/11) User Trust Provider AWS IAM Identity Center 3rd Party IdP (OIDC) Policy Endpoint
  9. • アプリが AVA に関連付けられた時間とデータ処理量に対する課金 • 参考: バージニア北部 • Per-app hours:

    $0.27/hr • Per-GB data processing: $0.02/GB • 1 つのアプリケーションが 100 GB 処理した場合 • 730 * 0.27 + 100 * 0.02 = $199.1/月 14
  10. • AWS のゼロトラスト • https://aws.amazon.com/jp/security/zero-trust/ • Introducing AWS Verified Access:

    Secure connections to your apps (NET214) • https://www.youtube.com/watch?v=Kkxn-bAIlnI • Leaping ahead: The power of cloud network innovation (NET211-L) • https://www.youtube.com/watch?v=aHClvCQfuPs 15