WorkSpacesのログイン画面をカスタマイズしてみた

2022.04.07

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、コンサル部@大阪オフィスのTodaです。

WorkSpacesのログイン画面で4箇所の項目をカスタマイズできるようになっていたため試してみました。

■ Customize WorkSpace branding
https://docs.aws.amazon.com/workspaces/latest/adminguide/customize-branding.html

変更可能な箇所

ログイン画面のカスタマイズはご利用のクライアントにより設定が分かれております。
下記クライアントがサポートされています。

  • Android
  • Ios (iPad)
  • Linux
  • Osx (MacOS X)
  • Web
  • Windows

下記イメージはOsxのクライアントになります。

変更可能な箇所

番号 項目 要件
ロゴ画像 base64エンコードをしたPNG画像ファイルを指定することができます。
パスワード再発行 上限200文字のURLを指定する事ができます。
説明 上限600文字のメッセージを指定する事が出来ます。
サポートリンク 上限200文字のURLを指定する事ができます。
サポートメール 上限64文字のメールアドレスを指定する事ができます。

※④のカスタマイズは「サポートリンク」または「サポートメール」どちらかを指定する事ができます。

カスタマイズを試してみる

カスタマイズはAWS CLIにてWorkSpacesのディレクトリIDを指定して設定をおこないます。

AWS CLIが対応しているか確認

AWS CLIがコマンドをサポートしているか下記にて確認をおこないます。
コマンドが見つからない場合は、最新のCLIにアップデートをしてお試しください。

aws workspaces delete-client-branding help

■ AWS CLI の最新バージョンをインストールまたは更新します。
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/getting-started-install.html

設定用のJSON取得

設定を行う際、JSONを読み込ませるタイプが簡易でしたので下記コマンドにてJSONファイルを取得します。
JSONの中身はクライアント別で設定が可能になっています。

# 表示のみ
aws workspaces import-client-branding  --generate-cli-skeleton

# JSONファイル保存
aws workspaces import-client-branding  --generate-cli-skeleton > input.json

MacOS向け設定のみ準備

取得したJSONファイルを開き内容を編集します。
各クライアント毎に設定が可能ですが、今回はOsxのみ設定をしてみます。
設定後は保存します。

■ JSONの内容

{
    "ResourceId": "対象のディレクトリID",
    "DeviceTypeOsx": {
        "Logo": "PNG画像データをbase64エンコードした物 ※2",
        "SupportEmail": "サポート用のメール ※1",
        "SupportLink": "サポート用のリンクURL ※1",
        "ForgotPasswordLink": "パスワード再設定用のリンクURL",
        "LoginMessage": {
            "en_US": "ログイン画面に表示するメッセージ ※3"
        }
    }
}

※1:サポート用のリンクまたはメールはどちらか片方を設定ください。
※2:ロゴ画像はbase64エンコードをしたPNG画像を指定ください。
Macをご利用の場合は「base64 [画像ファイル指定]」コマンドにて可能です。
※3:メッセージは言語指定関係なく「en_US」が参照されます。

■ サンプル

{
    "ResourceId": "d-xxxxxxxxxx",
    "DeviceTypeOsx": {
        "Logo": "iVBr**省略**gg==",
        "SupportEmail": "support@example.com",
        "ForgotPasswordLink": "https://example.com/forgot/",
        "LoginMessage": {
            "en_US": "このWorkSpacesは検証環境になります。テスト時のみ利用ください。"
        }
    }
}

設定内容の適用

作成したJSONファイルを指定してWorkSpacesに反映します。
下記AWS CLIコマンドにて適用をおこないます。

aws workspaces import-client-branding --cli-input-json fileb://(JSONファイル指定)

例)
aws workspaces import-client-branding --cli-input-json fileb://input.json

適用後、一定時間経過後に確認をするとロゴやリンクの設定が変更されていることを確認する事ができます。

設定内容の適用

さいごに

今回はWorkSpacesのログイン画面をカスタマイズしてみました。
ロゴを変更することで、正しいWorkSpacesクライアントを利用している目印として利用頂けると考えます。
少しでもお客様の作りたい物の参考になればと考えております。