インターネット経由でWebブラウザから社内システムにアクセスできる環境をぱぱっとセキュアに作る(Amazon WorkSpaces Web )

どんなサービス?

仮想デスクトップのサービスWorkSpacesにWorkSpaces Webなる新機能が本日発表されました。雑に言えば、VPCとつながっているChromeの画面だけをリモート配信できます。そのVPCがオンプレミスとDirectConnect接続されていれば、オンプレミスの閉域網に閉ざされた社内システムにもリモートで接続できます。

aws.amazon.com

このようなイメージです。Chrome in Chromeで、外のChromeは手元の端末上で実行されており、インターネットに直接つながっています。中のChromeAWS上で実行されており、VPCにつながっています。

f:id:imiky:20211202100048p:plain

クリップボードやファイル転送や印刷は封じることができますので、セキュアに社内システムに接続できます。VPNで社内ネットワークにつないでしまうと、社内の重要データを接続元端末上に保存できてしまい、規制業界では許容されないケースがあります。また、接続元端末を直接、社内ネットワークに接続することになるため、接続元端末の脆弱性によるリスクが社内ネットワークまで波及してしまいます。WorkSpaces Webでは、データやネットワークは分離した状態で利用することができます。仮想デスクトップという手段もありますが、一般に仮想デスクトップの運用負荷とコストは高くなりがちです。

勘の良い方はお気づきかと思います。利用イメージChromeのタブを見ると、AppStream 2.0の趣を感じます。AppStream 2.0はデスクトップアプリをリモートアプリ配信できるAWSサービスです。AppStream 2.0でChromeをリモート配信するのは今までもできたはずです。じゃあ、WorkSpaces Webは何がうれしいの?と言うと、裏側の仕組みをほとんど考えずにぱぱっと構築・運用できます。AppStream 2.0だとアプリケーションをインストールしたイメージを作って、実行環境を作って、運用中もキャパシティを管理してと色々大変でした。WorkSpaces Webはこの辺りをまるっとAWSがやってくれるので、ほんとに簡単です。アナウンス文面でも以下の通り書かれています。

offloading common tasks like capacity management, scaling, and maintaining browser images.

どれくらいぱぱっとかと言うと、やることはVPCを作って、IDプロバイダ(IdP)との連携設定をするくらいです。あとは、細かいアクセス制御の設定程度です。

正確性を無視してざっくり概形をとらえるとこんなイメージです。クライアントはWebブラウザからインターネット経由でアクセスポータルに接続します。そこで、IdPによる認証を受けると、AWS上でChromeが立ち上がり、Chromeの画面だけが見えるようになります。実行環境やChromeのイメージはAWSがいい感じに手配してくれます。そのChromeから社内システムに接続し、画面と操作だけがクライアントに転送されます。

f:id:imiky:20211201194009p:plain

概形をとらえたところで具体的な構成と作り方を見ていきましょう。

作り方

※東京・大阪リージョンはまだ対応していないのでバージニア北部で行きます

VPC作成

まずは、VPCを作ります。ここだけはインフラ感ががっつり漂いますが、頑張って作りましょう。

f:id:imiky:20211201194055p:plain

最低2つの異なるAZにプライベートサブネットを作成します。AWS上のChromeはこれらのサブネットに接続されます。これらのサブネットから、3つのVPC外サービスへの接続が必要です。S3, KMS, Cloudwatch Logsです。ドキュメントにこの3つに接続できないと想定通りに機能しないよと記載されています。インターネットゲートウェイを作ってアクセスできるようにしても良いのですが、利用意図(後述)を考えるとこの構成になるかと思います。また、後ほどAWS上のChromeからの通信を制御するためのセキュリティグループを事前作成しておきます。インバウンドは開放する必要はありません。単に、Chromeからアクセスさせたい先をアウトバウンドで許可しておけばOKです。

アクセスポータル作成

いよいよ、WorkSpacesのコンソールに向かいます。が、初めてWorkSpacesを触るアカウントだと、この画面でスタックしてしまってWorkSpaces Webの画面にたどり着けないと思います(私だけ?)
f:id:imiky:20211201202710p:plain

以下のURLを叩くと素直にいけます(※北部バージニアリージョンです)
https://us-east-1.console.aws.amazon.com/workspaces-web/home

[Create web portal] からポータルを作成します。

f:id:imiky:20211201203722p:plain

ここからIdPとの連携設定です。IdPにアップロードする用のメタデータファイルを取得します。

f:id:imiky:20211201204026p:plain

IdP側に移ります。普段、全社的に使っているIdPを使うのが良いと思います。インターネット上からアクセスできるものがなければ、AWS SSOを使うと良いでしょう。今回はAzure ADで認証します。SAMLによるSSO設定から先ほどのメタデータファイルをアップロードします。WorkSpaces Webを利用するユーザにはこのSSOが使えるようにIdP側で許可をつけておいてください。

f:id:imiky:20211201204850p:plain

その後、IdP側からもメタデータファイルをダウンロードします。

f:id:imiky:20211201205309p:plain

WorkSpaces Webのコンソールに戻ります。先ほどダウンロードしたファイルをアップロードし、次へ進みます。

f:id:imiky:20211201205528p:plain

事前に作っておいたVPCやサブネット、セキュリティグループを指定します。

f:id:imiky:20211201205729p:plain

ここからは細かい設定です。Chromeで最初に表示されるサイトやブックマークを設定できます。JSONファイルで許可/拒否URLを設定することもできます。

f:id:imiky:20211201210051p:plain

ブックマークバーを表示するか、みたいな細かい設定もできます。

f:id:imiky:20211201210218p:plain

次はセキュリティにからむ設定です。AWS上のChromeを介したクリップボードやファイル転送、プリンタの接続は封じておいた方が良いしょう(手元の端末にデータを移したり印刷したりはできない)

f:id:imiky:20211201210333p:plain

後は確認画面で終わりです。構築が始まりますので10~20分くらい待つと完成です。

いざ、接続確認

WorkSpaces WebのコンソールにポータルのURLが表示されますのでこちらに接続します。

f:id:imiky:20211201210916p:plain

IdPでの認証に誘導されますので認証します。

f:id:imiky:20211201211052p:plain

f:id:imiky:20211201211235p:plain

無事に認証が終わると、実行環境が作られます。

f:id:imiky:20211201211405p:plain

少し待つと、無事にChromeが現れました。

f:id:imiky:20211202100120p:plain

ユースケース

調査・検討がまだ浅いですが、このようなユースケースが考えられそうです。昨今、外部の多様なSaaSと社内システムを並用している方が多いと思います。社外のSaaSは直接インターネットで接続し、社内システムはWorkSpaces Webで接続します。これにより、社内ネットワーク上の重要データは端末側には残せないようにできます。また、接続元端末が直接社内ネットワークには接続されませんので、接続元端末の脆弱性によるリスクが社内ネットワークまでは波及しません。

f:id:imiky:20211202083220p:plain

ちょっと細かい話

※ここはまだきちんと調べられておらず推測ですので間違えてても怒らないでください。色々と探ってみる娯楽として

実行環境はどうなっているの?とか、インターネットからどういうルートでつながってるの?とか、Chrome用のセキュリティグループでインバウンドを開けなくていいの?とか気になる方向けに。

WorkSpaces Webは、AppStream 2.0においてイメージや実行環境を構築・運用するところを、まるっとAWSに任せられるサービスと考えて良いと思います。
AppStream 2.0のBlackbelt ( https://d1.awsstatic.com/webinars/jp/pdf/services/20191126_AWS-BlackBelt_AmazonAppStream2.0.pdf ) を参考にすると、WorkSpaces Webもこんな感じかなぁと。この辺りは詳細が出てきたら正確に書き直そうと思います。

f:id:imiky:20211201221618p:plain

まとめ

リモートから社内ネットワークに安全にアクセスし、かつ、社内の重要データが端末側に持ち出されないようにするためには、今まで仮想デスクトップを作る等、なかなかに面倒でした。仮想デスクトップはエンドユーザの評判が悪いケースも多いです。本サービスを使えばものの30分で社内システムに安全に接続できるようになり、認証も既存のIdPと連携するだけなので簡単です。エンドユーザもWebブラウザから(iPadでもいけました)いつものIDで接続するだけなのでライトに使えてうれしいと思います。もう少し調査・検討してみて、活用シーンを考えたいと思います。

 

以上