注册加密的 Amazon S3 位置 - Amazon Lake Formation
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

注册加密的 Amazon S3 位置

Lake FormationAmazon Key Management Service(Amazon KMS),使您能够更轻松地设置其他集成服务,以加密和解密 Amazon Simple Storage Service (Amazon S3) 位置中的数据。

两位客户管理Amazon KMS keys和Amazon 托管式密钥支持。不支持客户端加密/解密。

您必须指定Amazon Identity and Access Management注册 Amazon S3 位置时的 (IAM) 角色。对于加密 Amazon S3 位置,角色必须具有加密和解密数据的权限。Amazon KMS key,或者 KMS 密钥策略必须向角色授予密钥的权限。

重要

避免注册具有 Amazon S3 存储桶申请方付款已启用. 对于在 Lake Formation 中注册的存储桶,用于注册存储桶的角色始终被视为请求者。如果存储桶被另一个人访问Amazon账户,如果该角色与存储桶拥有者属于同一账户,则该存储桶拥有者需要支付数据访问费用。

注册位置的最简单方法是使用 Lake Formation 服务相关角色。此角色授予该位置所需的读/写权限。您也可以使用自定义角色来注册该位置,前提是该位置符合注册位置时使用的角色的要求.

重要

如果您使用Amazon 托管式密钥(aws/s3) 要加密 Amazon S3 位置,您不能使用 Lake Formation 服务相关角色。您必须使用自定义角色并向该角色添加密钥的 IAM 权限。此部分的后文提供了详细信息。

以下过程说明了如何注册使用客户托管密钥或使用客户托管密钥加密的 Amazon S3 位置Amazon 托管式密钥.

开始前的准备工作

查看用于注册位置的角色的要求.

要注册使用客户托管式密钥加密的 Amazon S3 位置

注意

如果 KMS 密钥或 Amazon S3 位置不在同一个位置Amazon将帐户作为数据目录,请按照中的说明操作注册加密 Amazon S3 位置Amazon账户相反。

  1. 打开Amazon KMS控制台https://console.aws.amazon.com/kms然后以Amazon Identity and Access Management(IAM) 管理用户或可以修改用于加密位置的 KMS 密钥的密钥策略的用户。

  2. 在导航窗格中,选择客户托管密钥,然后选择所需的 KMS 密钥的名称。

  3. 在 KMS 密钥详细信息页面上,选择密钥策略选项卡,然后执行以下操作之一以 KMS 密钥用户身份添加自定义角色或 Lake Formation 服务相关角色:

    • 如果显示默认视图(带关键管理员删除密钥关键用户, 和其他Amazon账户部分)— 在关键用户部分中,添加自定义角色或 Lake Formation 服务相关角色AWSServiceRoleForLakeFormationDataAccess.

    • 如果显示密钥策略 (JSON)— 编辑策略以添加自定义角色或 Lake Formation 服务相关角色AWSServiceRoleForLakeFormationDataAccess转到对象 “允许使用密钥”,如以下示例所示。

      注意

      如果该对象丢失,请使用示例中显示的权限添加它。该示例使用服务相关角色。

      ... { "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": "*" }, ...
  4. 打开Amazon Lake Formation控制台https://console.aws.amazon.com/lakeformation/. 以数据湖管理员身份或以用户身份登录lakeformation:RegisterResourceIAM 权限。

  5. 在导航窗格中的下,注册并提取,选择数据湖位置.

  6. 选择注册位置,然后选择浏览选择 Amazon Simple Storage Service (Amazon S3) 路径。

  7. (可选,但强烈建议)选择查看位置权限查看所选 Amazon S3 位置中所有现有资源及其权限的列表。

    注册选定的位置可能会导致您的 Lake Formation 用户获得该位置已存在的数据的访问权限。查看此列表有助于确保现有数据保持安全。

  8. 适用于IAM 角色选择,选择AWSServiceRoleForLakeFormationDataAccess服务相关角色(默认)或符合注册位置时使用的角色的要求.

  9. 选择注册位置.

有关 service-linked role 服务相关角色的更多信息,请参阅Lake Formation 的服务相关角色权限

要注册使用加密的 Amazon S3 位置Amazon 托管式密钥

重要

如果 Amazon S3 位置不在同一位置Amazon将帐户作为数据目录,请按照中的说明操作注册加密 Amazon S3 位置Amazon账户相反。

  1. 创建用于注册位置的 IAM 角色。确保它满足中列出的要求注册位置时使用的角色的要求.

  2. 将下面的内联策略添加到角色。它向角色授予对密钥的权限。这些区域有:Resource规范必须指定的 Amazon 资源名称 (ARN)Amazon 托管式密钥. 您可 ARN 从Amazon KMS控制台。要获得正确的 ARN,请确保您登录到Amazon KMS具有相同的控制台Amazon账户和区域为Amazon 托管式密钥该位置被用来加密位置。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "<Amazon 托管式密钥 ARN>" } ] }
  3. 打开Amazon Lake Formation控制台https://console.aws.amazon.com/lakeformation/. 以数据湖管理员身份或以用户身份登录lakeformation:RegisterResourceIAM 权限。

  4. 在导航窗格中的下,注册并提取,选择数据湖位置.

  5. 选择注册位置,然后选择浏览选择 Amazon S3 路径。

  6. (可选,但强烈建议)选择查看位置权限查看所选 Amazon S3 位置中所有现有资源及其权限的列表。

    注册选定的位置可能会导致您的 Lake Formation 用户获得该位置已存在的数据的访问权限。查看此列表有助于确保现有数据保持安全。

  7. 适用于IAM 角色,选择您在步骤 1 中创建的角色。

  8. 选择注册位置.