在 WorkSpaces 个人版中自定义品牌 - Amazon WorkSpaces

在 WorkSpaces 个人版中自定义品牌

Amazon WorkSpaces 允许您使用 API,利用自己的品牌徽标、IT 支持信息、忘记密码链接和登录消息来自定义 WorkSpace 登录页面的外观,从而为用户打造熟悉的 WorkSpaces 体验。您的品牌将显示在用户的 WorkSpace 登录页面上,而不是默认的 WorkSpaces 品牌标识。

支持以下客户端:

  • Windows

  • Linux

  • Android

  • MacOS

  • iOS

  • Web Access

注意

要使用 AWS GovCloud (US) Region中的 ClientBranding API 修改品牌元素,请使用 5.10.0 版 WorkSpaces 客户端。

导入自定义品牌

要导入您的客户端品牌自定义,请使用包含以下元素的操作 ImportClientBranding。有关更多信息,请参阅 ImportClientBranding API 参考

重要

客户端品牌属性面向公众。确保您不包含敏感信息。

WorkSpaces 客户端登录屏幕
  1. 支持链接

  2. 徽标

  3. 忘记密码链接

  4. 登录消息

自定义品牌元素
品牌元素 描述 要求和建议
支持链接 允许您指定支持电子邮件链接,供用户联系以获取有关其 WorkSpaces 的帮助。您可以使用 SupportEmail 属性或使用 SupportLink 属性提供指向您支持页面的链接。
  • 对于每种平台类型,SupportEmailSupportLink 参数相互排斥。您可以为每种平台类型指定单个参数,但不能同时指定两者。

  • 默认电子邮件地址是 workspaces-feedback@amazon.com

  • 长度限制:最小长度为 1。最大长度为 200。

徽标 允许您使用 Logo 属性自定义组织的徽标。
  • 唯一接受的图像格式是从 .png 文件转换的二进制数据对象。

  • 建议的分辨率:

    • Android:978 x 190

    • 台式机:319 x 55

    • iOS@2x:110 x 200

    • iOS@3x:1650 x 300

忘记密码链接 允许您使用 ForgotPasswordLink 属性添加网址,用户在忘记 WorkSpace 密码时可以访问该网址。 长度限制:长度下限为 1。最大长度为 200。
登录消息 允许您使用登录屏幕上的 LoginMessage 属性自定义消息。
  • 长度约束:最小长度为 0。与 HTML 标签和不同的字体大小集成时的最大长度为 2000 个字符。对于没有 HTML 标签的默认情况,建议将登录消息保持在 600 个字符以内。

  • 支持的 HTML 标签:a, b, blockquote, br, cite, code, dd, dl, dt, div, em, i, li, ol, p, pre, q, small, span, strike, strong, sub, sup, u, ul

以下是使用 ImportClientBranding 的示例代码片段。

AWS CLI 版本 2

警告

导入自定义品牌会覆盖您在该平台中使用自定义数据指定的属性。它还会使用默认自定义品牌属性值覆盖您未指定的属性。您必须包含不想覆盖的任何属性的数据。

aws workspaces import-client-branding \ --cli-input-json file://~/Downloads/import-input.json \ --region us-west-2

导入 JSON 文件应与以下示例代码类似:

{ "ResourceId": "<directory-id>", "DeviceTypeOsx": { "Logo": "iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAC0lEQVR42mNgQAcAABIAAeRVjecAAAAASUVORK5CYII=", "ForgotPasswordLink": "https://amazon.com/", "SupportLink": "https://amazon.com/", "LoginMessage": { "en_US": "Hello!!" } } }

以下 Java 代码段示例将徽标图片转换为 base64 编码的字符串:

// Read image as BufferImage BufferedImage bi = ImageIO.read(new File("~/Downloads/logo.png")); // convert BufferedImage to byte[] ByteArrayOutputStream baos = new ByteArrayOutputStream(); ImageIO.write(bi, "png", baos); byte[] bytes = baos.toByteArray(); //convert byte[] to base64 format and print it String bytesBase64 = Base64.encodeBase64String(bytes); System.out.println(bytesBase64);

以下 Python 代码段示例将徽标图片转换为 base64 编码的字符串:

# Read logo into base64-encoded string with open("~/Downloads/logo.png", "rb") as image_file: f = image_file.read() base64_string = base64.b64encode(f) print(base64_string)

Java

警告

导入自定义品牌会覆盖您在该平台中使用自定义数据指定的属性。它还会使用默认自定义品牌属性值覆盖您未指定的属性。您必须包含不想覆盖的任何属性的数据。

// Create WS Client WorkSpacesClient client = WorkSpacesClient.builder().build(); // Read image as BufferImage BufferedImage bi = ImageIO.read(new File("~/Downloads/logo.png")); // convert BufferedImage to byte[] ByteArrayOutputStream baos = new ByteArrayOutputStream(); ImageIO.write(bi, "png", baos); byte[] bytes = baos.toByteArray(); // Create import attributes for the plateform DefaultImportClientBrandingAttributes attributes = DefaultImportClientBrandingAttributes.builder() .logo(SdkBytes.fromByteArray(bytes)) .forgotPasswordLink("https://aws.amazon.com/") .supportLink("https://aws.amazon.com/") .build(); // Create import request ImportClientBrandingRequest request = ImportClientBrandingRequest.builder() .resourceId("<directory-id>") .deviceTypeOsx(attributes) .build(); // Call ImportClientBranding API ImportClientBrandingResponse response = client.importClientBranding(request);

Python

警告

导入自定义品牌会覆盖您在该平台中使用自定义数据指定的属性。它还会使用默认自定义品牌属性值覆盖您未指定的属性。您必须包含不想覆盖的任何属性的数据。

import boto3 # Read logo into bytearray with open("~/Downloads/logo.png", "rb") as image_file: f = image_file.read() bytes = bytearray(f) # Create WorkSpaces client client = boto3.client('workspaces') # Call import API response = client.import_client_branding( ResourceId='<directory-id>', DeviceTypeOsx={ 'Logo': bytes, 'SupportLink': 'https://aws.amazon.com/', 'ForgotPasswordLink': 'https://aws.amazon.com/', 'LoginMessage': { 'en_US': 'Hello!!' } } )

PowerShell

#Requires -Modules @{ ModuleName="AWS.Tools.WorkSpaces"; ModuleVersion="4.1.56"} # Specify Image Path $imagePath = "~/Downloads/logo.png" # Create Byte Array from image file $imageByte = ([System.IO.File]::ReadAllBytes($imagePath)) # Call import API Import-WKSClientBranding -ResourceId <directory-id> ` -DeviceTypeLinux_LoginMessage @{en_US="Hello!!"} ` -DeviceTypeLinux_Logo $imageByte ` -DeviceTypeLinux_ForgotPasswordLink "https://aws.amazon.com/" ` -DeviceTypeLinux_SupportLink "https://aws.amazon.com/"

要预览登录页面,请启动 WorkSpaces 应用程序或网页登录页面。

注意

更改最多可能需要 1 分钟才会显示。

描述自定义品牌

要查看您当前拥有的客户端品牌自定义的详细信息,请使用操作 DescribeCustomBranding。下面是使用 DescribeClientBranding 的示例脚本。有关更多信息,请参阅 DescribeClientBranding API 参考

aws workspaces describe-client-branding \ --resource-id <directory-id> \ --region us-west-2

删除自定义品牌

要删除您的客户端品牌自定义,请使用操作 DeleteCustomBranding。下面是使用 DeleteClientBranding 的示例脚本。有关更多信息,请参阅 DeleteClientBranding API 参考

aws workspaces delete-client-branding \ --resource-id <directory-id> \ --platforms DeviceTypeAndroid DeviceTypeIos \ --region us-west-2
注意

更改最多可能需要 1 分钟才会显示。