Encrypted WorkSpaces - 亚马逊 WorkSpaces
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Encrypted WorkSpaces

WorkSpaces 已集成到Amazon Key Management Service(Amazon KMS)。这使您能够加密的存储卷 WorkSpaces 使用Amazon KMS钥匙。当你启动 WorkSpace,你可以加密根卷(对于微软 Windows,是 C 驱动器;对于 Linux,/)和用户卷(对于 Windows,是 D 驱动器;对于 Linux,/home)。这样做可确保静态存储的数据、卷的磁盘 I/O 及从加密卷创建的快照都会被加密。

先决条件

你需要一个Amazon KMS在开始加密过程之前输入密钥。此 KMS 密钥可以是Amazon托管 KMS 密钥适用于Amazon WorkSpaces (aworkspaces) 或对称客户托管式 KMS 密钥.

  • Amazon托管 KMS 密钥— 您第一次启动未加密的 WorkSpace 来自 的 WorkSpaces 某个地区的控制台,亚马逊 WorkSpaces 自动创建Amazon托管 KMS 密钥 (aworkspaces)。你可以选择这个Amazon托管 KMS 密钥用于加密您的用户卷和根卷 WorkSpace. 有关详细信息,请参阅概述 WorkSpaces 使用加密Amazon KMS

    你可以看这个Amazon托管 KMS 密钥,包括其策略和授权,并且可以跟踪其使用情况Amazon CloudTrail日志,但您无法使用或管理此 KMS 密钥。亚马逊 WorkSpaces 创建并管理此 KMS 密钥。只有亚马逊 WorkSpaces 可以使用此 KMS 密钥,并且 WorkSpaces 只能用它来加密 WorkSpaces 账户中的资源。

    Amazon托管的 KMS 密钥,包括亚马逊的密钥 WorkSpaces 支架,每三年轮换一次。有关详细信息,请参阅。轮换Amazon KMSKey在里面Amazon Key Management Service开发人员指南.

  • 客户管理的 KMS 密钥— 或者,您可以选择使用创建的对称的客户托管 KMS 密钥Amazon KMS. 您可以查看、使用和管理此 KMS 密钥,包括设置其策略。有关创建 KMS 密钥的更多信息,请参阅创建密钥在里面Amazon Key Management Service开发人员指南. 有关使用 KMS 密钥创建 KMS 密钥的更多信息Amazon KMSAPI,请参阅使用密钥在里面Amazon Key Management Service开发人员指南.

    除非您决定启用自动密钥轮换,否则客户管理的 KMS 密钥不会自动轮换。有关详细信息,请参阅。轮换Amazon KMS密钥在里面Amazon Key Management Service开发人员指南.

重要

轮换 KMS 密钥时,必须同时启用原始 KMS 密钥和新 KMS 密钥,以便Amazon KMS可以解密 WorkSpaces 原始 KMS 密钥已加密。如果您不想保持原始 KMS 密钥处于启用状态,则必须重新创建您的 WorkSpaces并使用新的 KMS 密钥对其进行加密。

您必须满足以下要求才能使用Amazon KMS加密你的密钥 WorkSpaces:

限制

  • 你无法加密现有的 WorkSpace. 你必须加密 WorkSpace 当你启动它时。

  • 从加密的镜像创建自定义镜像 WorkSpace 不支持。

  • 禁用加密的加密 WorkSpace 当前不支持。

  • WorkSpaces 在启用根卷加密的情况下启动可能需要长达一个小时才能进行配置。

  • 重启或重建加密的 WorkSpace,首先确保Amazon KMS密钥已启用;否则, WorkSpace 变得不可用。要确定是否已启用 KMS 密钥,请参阅显示 KMS 密钥详细信息在里面Amazon Key Management Service开发人员指南.

概述 WorkSpaces 使用加密Amazon KMS

在您创建以下应用程序时 WorkSpaces 使用加密卷, WorkSpaces 使用亚马逊Elastic Block Store (Amazon EBS) 创建和管理这些卷。Amazon EBS 通过行业标准的 AES-256 算法,利用数据密钥加密您的卷。亚马逊 EBS 和亚马逊 WorkSpaces 使用 KMS 密钥处理加密卷。有关 EBS 卷加密的更多信息,请参阅Amazon EBS 加密在里面Amazon EC2 Windows 实例用户指南.

当你启动时 WorkSpaces 使用加密卷时, end-to-end 过程的工作方式如下所示:

  1. 您指定用于加密的 KMS 密钥,以及用于加密的用户和目录 WorkSpace. 此操作将创建一个授予这允许 WorkSpaces 仅将您的 KMS 密钥用于此目的 WorkSpace—也就是说,只用于 WorkSpace与指定的用户和目录相关联。

  2. WorkSpaces 为创建加密的 EBS 卷 WorkSpace 并指定要使用的 KMS 密钥以及卷的用户和目录。此操作会创建一项授权,允许 Amazon EBS 仅为此使用您的 KMS 密钥 WorkSpace 和音量——也就是说,仅用于 WorkSpace 与指定的用户和目录相关联,并且仅适用于指定的卷。

  3. Amazon EBS 请求使用您的 KMS 密钥加密的卷数据密钥,并指定 WorkSpace 用户的活动目录安全标识符 (SID) 和Amazon Directory Service目录 ID 以及亚马逊 EBS 卷 ID 作为加密上下文.

  4. Amazon KMS创建新的数据密钥,使用您的 KMS 密钥对其进行加密,然后将加密的数据密钥发送到 Amazon EBS。

  5. WorkSpaces 使用 Amazon EBS 将加密卷附加到您的 WorkSpace. Amazon EBS 向发送加密的数据密钥Amazon KMS用Decrypt请求并指定 WorkSpace 用户的 SID、目录 ID 和卷 ID,后者用作加密上下文。

  6. Amazon KMS使用您的 KMS 密钥解密数据密钥,然后将纯文本数据密钥发送到 Amazon EBS。

  7. Amazon EBS 使用纯文本数据密钥加密所有传入和传出加密卷的数据。只要卷附加在 Amazon EBS 上,Amazon EBS 就会将纯文本数据密钥保存在内存中 WorkSpace.

  8. Amazon EBS 将加密的数据密钥(在中收到步骤 4),以供future 重启或重建时使用 WorkSpace.

  9. 当您使用以下应用程序时Amazon Web Services Management Console删除一个 WorkSpace (或使用TerminateWorkspaces中的操作 WorkSpaces API), WorkSpaces 并且 Amazon EBS 取消了允许他们为此使用您的 KMS 密钥的补助金 WorkSpace.

WorkSpaces 加密上下文

WorkSpaces 不会将您的 KMS 密钥直接用于加密操作(例如Encrypt,Decrypt,GenerateDataKey,等等),这意味着 WorkSpaces 不向发送请求Amazon KMS包括加密上下文. 但是,当 Amazon EBS 为您的加密卷请求加密数据密钥时 WorkSpaces (步骤 3在里面概述 WorkSpaces 使用加密Amazon KMS)以及当它请求该数据密钥的纯文本副本时(步骤 5),它在请求中包含加密上下文。

加密上下文提供 Amazon KMS 用于确保数据完整性而使用的额外的身份验证数据 (AAD)。加密上下文也将写入您的Amazon CloudTrail日志文件,这有助于您了解为什么使用给定的 KMS 密钥的原因。Amazon EBS 会对加密上下文使用以下内容:

  • 与 Active Directory 用户关联的安全标识符 (SID) WorkSpace

  • 的目录 IDAmazon Directory Service与关联的目录 WorkSpace

  • 加密卷的 Amazon EBS 卷 ID

以下示例显示了 Amazon EBS 使用的加密上下文的 JSON 表示形式:

{ "aws:workspaces:sid-directoryid": "[S-1-5-21-277731876-1789304096-451871588-1107]@[d-1234abcd01]", "aws:ebs:id": "vol-1234abcd" }

授 WorkSpaces 代表您使用 KMS 密钥的权限

你可以保护你的 WorkSpace 下的数据Amazon托管 KMS 密钥 WorkSpaces(aworkspaces) 或客户托管式 KMS 密钥。如果您使用客户管理的 KMS 密钥,则需要授予 WorkSpaces 代表使用 KMS 密钥的权限 WorkSpaces 您账户中的管理员。这些区域有:Amazon托管 KMS 密钥 WorkSpaces默认情况下,具有必需权限。

准备好您的客户管理的 KMS 密钥以用于 WorkSpaces,使用以下过程。

你的 WorkSpaces 管理员还需拥有使用权限 WorkSpaces. 有关这些权限的更多信息,请访问适用于 的 Identity and Access Management WorkSpaces.

第 1 部分:Add WorkSpaces 管理员改为关键用户

为授 WorkSpaces 管理员拥有其所需的权限,您可以使用Amazon Web Services Management Console或者Amazon KMSAPI。

添加 WorkSpaces 管理员作为 KMS 密钥的密钥的密钥的密钥的密钥的密钥

  1. 登录到 Amazon Web Services Management Console,然后通过以下网址打开 Amazon Key Management Service (Amazon KMS) 控制台:https://console.aws.amazon.com/kms

  2. 要更改 Amazon Web Services 区域,请使用页面右上角的区域选择器。

  3. 在导航窗格中,选择客户托管密钥

  4. 选择首选客户托管的 KMS 密钥的密钥的密钥的密钥 ID 或别名。

  5. 选择 Key policy (密钥策略) 选项卡。在 Key users(密钥用户)下,选择 Add(添加)。

  6. 在 IAM 用户和角色列表中,选择与您对应的用户和角色 WorkSpaces 管理员,然后选择Add.

添加 WorkSpaces 管理员作为 KMS 密钥的密钥的密钥的密钥的密钥的密钥

  1. 使用GetKeyPolicy操作获取现有密钥策略,然后将策略文档保存到文件中。

  2. 在您的首选文本编辑器中打开策略文档。添加与您对应的 IAM 用户和角色 WorkSpaces 管理员对策略语句向关键用户授予权限. 然后保存文件。

  3. 使用PutKeyPolicy操作将密钥应用于 KMS 密钥的密钥应用于 KMS 密钥的密

第 2 部分:授 WorkSpaces 管理员使用 IAM 策略获得额外权限

如果您选择客户管理的 KMS 密钥用于加密,则必须建立允许 Amazon 的 IAM 策略 WorkSpaces 代表您的账户中启动加密的 IAM 用户使用 KMS 密钥 WorkSpaces. 该用户还需要获得使用亚马逊的许可 WorkSpaces. 有关创建和编辑 IAM 用户策略的更多信息,请参阅管理 IAM pocy在里面IAM 用户指南适用于 的 Identity and Access Management WorkSpaces.

WorkSpaces 加密需要对 KMS 密钥的有限访问权限。以下是您可以使用的一个示例密钥策略。该政策将负责人分开,他们可以管理Amazon KMS来自能使用它的人的钥匙。使用此示例密钥策略之前,请将示例账户 ID 和 IAM 用户名替换为您账户中的实际值。

第一个语句与默认 Amazon KMS 密钥策略匹配。它允许您的账户使用 IAM 策略控制对 KMS 密钥的访问。第二个和第三个语句定义了哪个Amazon校长可以分别管理和使用密钥。第四个语句启用Amazon与之集成的服务Amazon KMS代表指定的委托人使用密钥。本语句启用Amazon创建和管理补助金的服务。该语句使用条件元素,该条件元素将 KMS 密钥的授权限制为由下发出的授权Amazon代表您账户中的用户提供的服务。

注意

如果你的 WorkSpaces 管理员使用Amazon Web Services Management Console要创建 WorkSpaces 对于加密卷,管理员需要权限才能列出别名和列出密钥("kms:ListAliases""kms:ListKeys"权限)。如果你的 WorkSpaces 管理员只使用亚马逊 WorkSpaces API(不是控制台),您可以省略 API"kms:ListAliases""kms:ListKeys"权限。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::123456789012:root"}, "Action": "kms:*", "Resource": "*" }, { "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::123456789012:user/Alice"}, "Action": [ "kms:Create*", "kms:Describe*", "kms:Enable*", "kms:List*", "kms:Put*", "kms:Update*", "kms:Revoke*", "kms:Disable*", "kms:Get*", "kms:Delete*" ], "Resource": "*" }, { "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::123456789012:user/Alice"}, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }, { "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::123456789012:user/Alice"}, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": {"Bool": {"kms:GrantIsForAWSResource": "true"}} } ] }

针对正在加密的用户或角色的 IAM 策略 WorkSpace 必须包含客户管理的 KMS 密钥的使用权限以及对 WorkSpaces. 授予 IAM 用户或角色 WorkSpaces 权限,您可以将以下示例策略附加到 IAM 用户或角色。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ds:*", "ds:DescribeDirectories", "workspaces:*", "workspaces:DescribeWorkspaceBundles", "workspaces:CreateWorkspaces", "workspaces:DescribeWorkspaceBundles", "workspaces:DescribeWorkspaceDirectories", "workspaces:DescribeWorkspaces", "workspaces:RebootWorkspaces", "workspaces:RebuildWorkspaces" ], "Resource": "*" } ] }

用户需要以下 IAM 策略才能使用Amazon KMS. 它为用户提供对 KMS 密钥的只读访问权限以及创建授权的功能。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:CreateGrant", "kms:Describe*", "kms:List*" ], "Resource": "*" } ] }

如果您想在策略中指定 KMS 密钥,请使用类似于以下内容的 IAM 策略。将示例 KMS 密钥 ARN 替换为有效的 ARN。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "kms:CreateGrant", "Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }, { "Effect": "Allow", "Action": [ "kms:ListAliases", "kms:ListKeys" ], "Resource": "*" } ] }

加密 WorkSpace

要加密 WorkSpace

  1. 打开 WorkSpaces 控制台https://console.aws.amazon.com/workspaces/.

  2. 选择启动 WorkSpaces并完成前三个步骤。

  3. 对于WorkSpaces 配置步骤,执行以下操作:

    1. 选择要加密的卷:Root Volume,用户量,或两卷。

    2. 对于加密密钥,SelectAmazon KMS钥匙,要么是Amazon亚马逊创建的托管 KMS 密钥 WorkSpaces 或者您创建的 KMS 密钥。您选择的 KMS 密钥必须是对称的。亚马逊 WorkSpaces 不支持非对称 KMS 密钥。

    3. 选择 Next Step

  4. 选择启动 WorkSpaces.

查看加密后查看 WorkSpaces

看看哪个 WorkSpaces 并且卷已从 WorkSpaces 控制台,选择WorkSpaces从左侧的导航栏中。这些区域有:卷加密列显示是否每个 WorkSpace 启用或禁用了加密。要查看哪些特定卷已加密,请展开 WorkSpace 入口查看加密卷字段中返回的子位置类型。