kashinoki38 blog

something like tech blog

WorkSpaces Web を AWS SSO で始める

Chromeブラウザにセッションステートレスで接続できる WorkSpaces Web をちょっと触ってみたく、SAML 連携が必要なので AWS SSO (今は IAM Identity Center)で始める。
あんまり、「WorkSpaces Web」(WorkSpaces とは別物)の記事が無いので書きます。

WorkSpaces vs AppStream 2.0 vs WorkSpaces Web

結構似てる系のサービスで WorkSpaces vs AppStream 2.0 vs WorkSpaces Web が上がる。
大きな違いはセッションがステートレス(接続時に行った変更が反映されない)かどうか、利用できる機能がデスクトップすべてかブラウザだけか、なので、それをベースに選定できる。
要件のスコープを狭めることができるなら、その分コストが安くなるイメージ。

  • Workspaces
  • Workspaces Web
    • ブラウザのセキュアな転送
      • ユーザーはステートレスなブラウザにのみアクセス可能
        • ブラウザのポリシーは管理者が変更できる
      • 自動的に管理されるキャパシティとスケーリング、およびアップデート
        • (AppStream2.0だとスケーリングを考えたりする必要がある)
      • データについてはテンポラリなディレクトリを利用することで、UL/DL可能
    • ユースケース
      • Web分離
      • 踏み台利用
        • VPCに配置できるので、企業内のPrivateNetworkでの接続(踏み台的なアクセス)も可能
    • 認証
  • AppStream2.0

WorkSpaces Web のウェブポータルを作成

VPC と サブネット

VPCとサブネットを指定する。
この際、プライベートサブネットを指定する必要がある。
インターネットにでたい場合は、合わせてそのサブネットに NATGW が紐づいている必要がある。

All subnets must be private. https://docs.aws.amazon.com/workspaces-web/latest/adminguide/general-requirements.html

ポリシー設定として開始する

ユーザー設定としてクリップボード、ファイル転送の挙動を設定する

AWS SSO と IdP 連携

WorkSpaces Web

ここから IdP との連携が必要になる。
まずは SP メタデータファイルをダウンロードする。

AWS SSO(IAM Identity Center)

別タブで AWS SSO の管理コンソールを開いて、アプリケーションの画面でアプリケーションを追加する。
※カスタム SAML 2.0 アプリケーションの追加

IAM Identity Center メタデータをダウンロードする。

WorkSpaces Web側でダウンロードした SP メタデータファイルをアプリケーション SAML メタデータファイルとしてアップロードする。

再び WorkSpaces Web

WorkSpaces Web の IdP の詳細にて、AWS SSO側でダウンロードした IAM Identity Center メタデータを IdP メタデータドキュメントとしてアップロードする。

AWS SSO にてユーザー属性のマッピング

これだけだとエラーが出たので、ユーザー属性のマッピングが必要そう。

WorkSpaces Web requires the subject or NameID to be mapped and set in the SAML assertion within your IdP's settings. https://docs.aws.amazon.com/workspaces-web/latest/adminguide/getting-started-step1.html#:~:text=Note-,WorkSpaces,-Web%20requires%20the

とあるように、 subjectNameIDマッピングが必要そう。

確認してみると Subjectマッピング先が空になっている。
ので、Username を入れる。

接続する

キャプチャし損ねたけど、SSO の画面に一度飛ばされる。

ファイルのダウンロード

ダウンロードすると、My Files の ‘TemporaryFiles` にデフォルトで落ちるみたい。

ローカルのコピーをリモートにペースト

なんかこれは癖がある。
まず以下の作業をする。

そうするとリモートセッション内でペースト(Ctrl + v)すると、ペーストできる。

ファイルのアップロード

アップロードしようとすると、Linuxエクスプローラーが開いて、同様に My Files の ‘TemporaryFiles` を見れるので、ここに上げておけば利用可能。

おまけ

完全に AppStream 2.0 が動いているのがわかってしまう

このブログ詳しい

imiky.hatenablog.com