本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
注册加密的 Amazon S3 位置
Lake Formation 与 Amazon Key Management Service (Amazon KMS) 集成,使您能够更轻松地设置其他集成服务,以加密和解密 Amazon Simple Storage Service (Amazon S3) 位置中的数据。
同时支持客户托管的 Amazon KMS keys和 Amazon 托管式密钥。目前,只有 Athena 支持客户端加密/解密。
在注册 Amazon S3 位置时,您必须指定一个 Amazon Identity and Access Management (IAM) 角色。对于加密的 Amazon S3 位置,该角色必须有权使用 Amazon KMS key加密和解密数据,或者 KMS 密钥策略必须向该角色授予对密钥的权限。
重要
避免注册启用了请求者付费的 Amazon S3 存储桶。对于在 Lake Formation 中注册的存储桶,用于注册存储桶的角色始终被视为请求者。如果存储桶由其他 Amazon 账户访问,则当该角色与存储桶拥有者属于同一个账户时,存储桶拥有者需要支付数据访问费用。
注册位置的最简单方法是使用 Lake Formation 服务相关角色。此角色授予对该位置的所需读/写权限。您也可以使用一个自定义角色注册位置,前提是该角色符合用于注册位置的角色的要求中的要求。
重要
如果您使用了 Amazon 托管式密钥对 Amazon S3 位置进行加密,则无法使用 Lake Formation 服务相关角色。您必须使用一个自定义角色,并向该角色添加对密钥的 IAM 权限。本部分后面将提供相关详细信息。
以下过程说明如何注册使用客户自主管理型密钥或 Amazon 托管式密钥加密的 Amazon S3 位置。
开始前的准备工作
查看用于注册位置的角色的要求。
注册使用客户自主管理型密钥加密的 Amazon S3 位置
注意
如果 KMS 密钥或 Amazon S3 位置与数据目录不在同一个 Amazon 账户中,请改为按照跨 Amazon 账户注册加密的 Amazon S3 位置中的说明进行操作。
-
通过 https://console.aws.amazon.com/kms
打开 Amazon KMS 控制台,然后以 Amazon Identity and Access Management (IAM) 管理用户或可以修改用于加密位置的 KMS 密钥的密钥策略的用户身份登录。 -
在导航窗格中,选择客户自主管理型密钥,然后选择所需的 KMS 密钥的名称。
-
在 KMS 密钥详细信息页面上,选择密钥策略选项卡,然后执行以下任一操作将您的自定义角色或 Lake Formation 服务相关角色添加为 KMS 密钥用户:
-
如果显示默认视图(包含密钥管理员、密钥删除、密钥用户和其他 Amazon 账户部分)– 在密钥用户部分下,添加您的自定义角色或 Lake Formation 服务相关角色
AWSServiceRoleForLakeFormationDataAccess
。 -
如果显示密钥策略 (JSON) – 编辑策略以将您的自定义角色或 Lake Formation 服务相关角色
AWSServiceRoleForLakeFormationDataAccess
添加到“Allow use of the key”对象,如以下示例所示。注意
如果缺少该对象,请使用示例中显示的权限添加该对象。该示例使用服务相关角色。
... { "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:role/aws-service-role/lakeformation.amazonaws.com/AWSServiceRoleForLakeFormationDataAccess", "arn:aws:iam::111122223333:user/keyuser" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }, ...
-
-
通过以下网址打开 Amazon Lake Formation 控制台:https://console.aws.amazon.com/lakeformation/
。以数据湖管理员或具有 lakeformation:RegisterResource
IAM 权限的用户身份登录。 -
在导航窗格的管理下,选择数据湖位置。
-
选择注册位置,然后选择浏览以选择 Amazon Simple Storage Service (Amazon S3) 路径。
-
(可选,但强烈推荐)选择查看位置权限以查看所选 Amazon S3 位置中所有现有资源及其权限的列表。
注册所选位置可能会导致 Lake Formation 用户可以访问该位置已有的数据。查看此列表有助于确保现有数据保持安全。
-
对于 IAM 角色,选择
AWSServiceRoleForLakeFormationDataAccess
服务相关角色(默认)或符合用于注册位置的角色的要求的自定义角色。 -
选择注册位置。
有关服务相关角色的更多信息,请参阅 Lake Formation 的服务相关角色权限。
注册使用 Amazon 托管式密钥加密的 Amazon S3 位置
重要
如果 Amazon S3 位置与数据目录不在同一个 Amazon 账户中,请改为按照跨 Amazon 账户注册加密的 Amazon S3 位置中的说明进行操作。
-
创建用于注册位置的 IAM 角色。确保该角色符合用于注册位置的角色的要求中列出的要求。
-
将下面的内联策略附加到该角色。该策略会向该角色授予对密钥的权限。
Resource
规范必须指定 Amazon 托管式密钥的 Amazon 资源名称 (ARN)。您可以从 Amazon KMS 控制台获取 ARN。要获取正确的 ARN,请确保使用与用于加密该位置的 Amazon 托管式密钥相同的 Amazon 账户和区域登录 Amazon KMS 控制台。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "
<Amazon 托管式密钥 ARN>
" } ] } -
通过以下网址打开 Amazon Lake Formation 控制台:https://console.aws.amazon.com/lakeformation/
。以数据湖管理员或具有 lakeformation:RegisterResource
IAM 权限的用户身份登录。 -
在导航窗格的管理下,选择数据湖位置。
-
选择注册位置,然后选择浏览以选择 Amazon S3 路径。
-
(可选,但强烈推荐)选择查看位置权限以查看所选 Amazon S3 位置中所有现有资源及其权限的列表。
注册所选位置可能会导致 Lake Formation 用户可以访问该位置已有的数据。查看此列表有助于确保现有数据保持安全。
-
对于 IAM 角色,选择您在步骤 1 中创建的角色。
-
选择注册位置。