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

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

设置 Amazon Lake Formation

要开始设置为使用 Lake Formation 成,请完成以下任务:

注册 Amazon

当您注册Amazon, 您的Amazon帐户会自动注册所有服务Amazon, 包括 Lake Formation. 您只需为使用的服务付费。

如果您已有 Amazon 账户,请跳到下一个任务。如果您还没有 Amazon 账户,请使用以下步骤创建。

创建 Amazon 账户

  1. 打开 https://portal.aws.amazon.com/billing/signup

  2. 按照屏幕上的说明进行操作。

    在注册时,您将接到一通电话,要求您使用电话键盘输入一个验证码。

请记下您的 Amazon 账号,因为在下一个任务中您会用到它。

创建 IAM 管理员用户

中的服务Amazon(例如 Lake Formation incess)要求您在访问时提供凭证,以便服务可以确定您是否有权限访问其资源。我们建议您不要访问Amazon使用您的凭据Amazonaccount. 相反,我们建议您使用 Amazon Identity and Access Management (IAM)。您可以创建 IAM 用户,然后将该用户添加到具有管理权限的 IAM 组或授予此用户管理权限。然后,您可以访问Amazon使用 IAM 用户的证书。

如果您注册了Amazon但尚未为自己创建管理 IAM 用户,则可以使用 IAM 控制台创建。如果您不熟悉如何使用控制台,请参阅使用 Amazon Web Services Management Console中的概述内容。

自行创建管理员用户并将该用户添加到管理员组(控制台)

  1. 选择 Root user (根用户) 并输入您的Amazon Web Services 账户电子邮件地址,以账户拥有者身份登录 IAM 控制台。在下一页上,输入您的密码。

    注意

    强烈建议您遵守以下使用 Administrator IAM 用户的最佳实践,妥善保存根用户凭证。只在执行少数账户和服务管理任务时才作为根用户登录。

  2. 在导航窗格中,选择用户,然后选择添加用户

  3. 对于 User name (用户名),输入 Administrator

  4. 选中 Amazon Web Services Management Console access (Amazon Web Services Management Console 访问) 旁边的复选框。然后选择自定义密码,并在文本框中输入新密码。

  5. (可选)默认情况下,Amazon要求新用户在首次登录时创建新密码。您可以清除 User must create a new password at next sign-in (用户必须在下次登录时创建新密码) 旁边的复选框以允许新用户在登录后重置其密码。

  6. 选择 Next:Permissions (下一步:权限)

  7. 设置权限下,选择将用户添加到组

  8. 选择创建组

  9. Create group (创建组) 对话框中,对于 Group name (组名称),输入 Administrators

  10. 选择 Filter policies (筛选策略),然后选择 Amazon managed-job function (亚马逊云科技托管的工作职能) 以筛选表内容。

  11. 在策略列表中,选中 AdministratorAccess 的复选框。然后选择 Create group (创建组)

    注意

    您必须先激活 IAM 用户和角色对账单的访问权限,然后才能使用 AdministratorAccess 权限访问 Amazon Billing and Cost Management 控制台。为此,请按照“向账单控制台委派访问权限”教程第 1 步中的说明进行操作。

  12. 返回到组列表中,选中您的新组所对应的复选框。如有必要,选择 Refresh 以在列表中查看该组。

  13. 选择 Next:标签

  14. (可选)通过以键值对的形式附加标签来向用户添加元数据。有关在 IAM 中使用标签的更多信息,请参阅 IAM 用户指南中的标记 IAM 实体

  15. 选择 Next:审核以查看要添加到新用户的组成员资格的列表。如果您已准备好继续,请选择 Create user

您可使用这一相同的流程创建更多组和用户,并允许您的用户访问Amazon Web Services 账户资源。要了解有关使用策略限制用户对特定 Amazon 资源的权限的信息,请参阅访问管理示例策略

为创建 IAM 角色

与Amazon Lake Formation,您可以使用工作流程. 工作流定义了将数据导入数据湖的数据源和计划。您可以使用蓝图, 或模板, Lake Formation 提供.

在创建工作流程时,您必须为指定Amazon Identity and Access Management(IAM) 角色,该角色授予 Lake Formation reation 提取数据所需权限。

以下过程假定您熟悉 IAM。

为创建 IAM 角色

  1. 在以下网址打开 IAM 控制台:https://console.amazonaws.cn/iam并以您在创建 IAM 管理员用户或者作为具有AdministratorAccess Amazon托管策略。

  2. 在导航窗格中,选择角色,然后创建角色.

  3. 在存储库的创建角色页面上,选择Amazon服务,然后选择Glue. 选择 Next:Permissions (下一步: 权限)

  4. 搜索AWSG 网络管理器托管策略,然后选中列表中策略名称旁的复选框。然后完成创建角色向导,命名角色LakeFormationWorkflowRole. 要完成,请选择创建角色.

  5. 回到角色页面上,搜索LakeFormationWorkflowRole,然后选择角色名称。

  6. 关于角色摘要页面上的Permissions (权限)选项卡上,选择添加内联策略,然后添加以下内联策略。策略的建议名称为LakeFormationWorkflow.

    重要

    在以下策略中,将<account-id>具有有效的Amazon账号。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "lakeformation:GrantPermissions" ], "Resource": "*" }, { "Effect": "Allow", "Action": ["iam:PassRole"], "Resource": [ "arn:aws:iam::<account-id>:role/LakeFormationWorkflowRole" ] } ] }

    以下是此策略中权限的简要说明:

    • lakeformation:GetDataAccess使工作流创建的作业能够写入目标位置。

    • lakeformation:GrantPermissions使工作流能够授予SELECT目标表的权限。

    • iam:PassRole使服务能够担任角色LakeFormationWorkflowRole创建爬虫程序和作业,并将角色附加到创建的爬虫程序和作业。

  7. 验证角色LakeFormationWorkflowRole附加了两种策略。

  8. 如果要接收数据湖位置之外的数据,请添加内联策略,授予读取源数据的权限。

创建数据湖管理员

数据湖管理员最初是唯一的Amazon Identity and Access Management(IAM) 用户或角色,这些用户或角色可以授予任何委托人(包括自己)对数据位置和数据目录资源的 Lake Formation um 权限。有关数据湖管理员权限的更多信息,请参阅隐含 Lake Formation.

您可以使用 Lake Formation 成控制台或PutDataLakeSettingsLake Formation API 的操作。

创建数据湖管理员需要以下权限。这些区域有:AdministratorIAM 用户隐式拥有这些权限。

  • lakeformation:PutDataLakeSettings

  • lakeformation:GetDataLakeSettings

创建数据湖管理员(控制台)

  1. 如果要成为数据湖管理员的 IAM 用户尚不存在,请使用 IAM 控制台创建该用户。否则,请查看将作为数据湖管理员的现有 IAM 用户。

    注意

    建议您不要选择 IAM 管理用户(具有AdministratorAccess Amazon托管策略)作为数据湖管理员。

    附加以下Amazon托管策略提供给用户:

    策略 强制? 备注
    AWSLakeFormationDataAdmin 必需 基本数据湖管理员权限。
    AWSGlueConsoleFullAccess, CloudWatchLogsReadOnlyAccess 可选 如果数据湖管理员将对根据 Lake Formation 成蓝图创建的工作流进行故障排除,请附加这些策略。这些策略使数据湖管理员能够在Amazon Glue控制台和Amazon CloudWatch Logs控制台。有关工作流的信息,请参阅。在 Lake Formation 中使用工作流程导入数.
    AWSLakeFormationCrossAccountManager 可选 附加此策略以使数据湖管理员能够授予和撤消对数据目录资源的跨账户权限。有关更多信息,请参阅Lake Formation
    AmazonAthenaFullAccess 可选 如果数据湖管理员将在Amazon Athena.
  2. 附加以下内联策略,该策略授予数据湖管理员创建 Lake Formation 成服务链接角色的权限。策略的建议名称为LakeFormationSLR.

    通过与服务关联的角色,数据湖管理员可以更轻松地向 Lake Formation 成注册 Amazon S3 位置。有关 Lake Formation 成服务相关角色的更多信息,请参阅使用服务相关角色进行 Lake Formation.

    重要

    在以下所有策略中,将<account-id>具有有效的Amazon账号。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "*", "Condition": { "StringEquals": { "iam:AWSServiceName": "lakeformation.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "iam:PutRolePolicy" ], "Resource": "arn:aws:iam::<account-id>:role/aws-service-role/lakeformation.amazonaws.com/AWSServiceRoleForLakeFormationDataAccess" } ] }
  3. (可选)附加以下PassRole内联策略。此策略使数据湖管理员能够创建和运行工作流。这些区域有:iam:PassRole权限允许工作流代入该角色LakeFormationWorkflowRole创建爬虫程序和作业,并将角色附加到创建的爬虫程序和作业。策略的建议名称为UserPassRole.

    重要

    Replace<account-id>具有有效的Amazon账号。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "PassRolePermissions", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::<account-id>:role/LakeFormationWorkflowRole" ] } ] }
  4. (可选)如果您的账户将授予或接收跨账户 Lake Formation 成权限,则附加此附加内联策略。此策略允许数据湖管理员查看和接受Amazon Resource Access Manager(Amazon RAM) 资源共享邀请。此外,对于数据湖管理员来说,Amazon Organizations管理帐户时,策略包含允许向组织启用跨账户授予的权限。有关更多信息,请参阅Lake Formation

    策略的建议名称为RAMAccess.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ram:AcceptResourceShareInvitation", "ram:RejectResourceShareInvitation", "ec2:DescribeAvailabilityZones", "ram:EnableSharingWithAwsOrganization" ], "Resource": "*" } ] }
  5. 打开Amazon Lake Formation控制台位于https://console.aws.amazon.com/lakeformation/并以 IAM 身份登录Administrator用户创建的创建 IAM 管理员用户或任何 IAM 管理用户。

  6. 请执行下列操作之一:

    • 如果出现欢迎消息,请选择添加管理员.

    • 在导航窗格中的Permissions (权限)中,选择管理员和数据库创建者. 然后在数据湖管理员中,选择Grant.

  7. 管理数据湖管理员对话框中,用于IAM 用户和角色中,选择您在步骤 1 中创建或选择的 IAM 用户,然后选择Save.

更改数据目录设置

Lake Formation 成从启用 “仅使用 IAM 访问控制” 设置开始,以便与现有Amazon Glue Data Catalog行为。建议您禁用这些设置以启用具有 Lake Formation Feration 权限的精细访问控制。

有关更多信息,请参阅更改数据湖的默认安全设置

重要

如果您有现有的Amazon Glue Data Catalog数据库和表,请勿按照本节中的说明进行操作。而是应按照升级Amazon Glue数据权限Amazon Lake Formation模型中的说明操作。

警告

如果您具有在数据目录中创建数据库和表的自动化功能,则以下步骤可能会导致自动化和下游提取、转换和加载 (ETL) 作业失败。只有在修改现有进程或向所需承担者授予了显式 Lake Formation 成权限后,才能继续操作。有关 Lake Formation 成权限的更多信息,请参阅Lake Formation.

更改默认数据目录设置

  1. 继续在 Lake Formation 控制台中,网址为https://console.aws.amazon.com/lakeformation/. 确保您以您在创建 IAM 管理员用户或者作为具有AdministratorAccess Amazon托管策略。

  2. 在导航窗格中的数据目录中,选择设置.

  3. 清除两个复选框,然后选择Save.

    
              “数据目录设置” 对话框的副标题为 “新创建的数据库和表的默认权限”,并具有两个复选框,这两个复选框在文本中描述。
  4. 退出 Lake Formation 控制台,然后以数据湖管理员身份重新登录。

  5. 在导航窗格中的Permissions (权限)中,选择管理员和数据库创建者.

  6. 数据库创建者下,选择IAMAllowedPrincipals组,然后选择撤销.

    这些区域有:撤销权限对话框,显示IAMAllowedPrincipals具有创建数据库权限。

  7. 选择撤销.

(可选)允许在 Amazon EMR 集群上过滤数据

如果您打算使用 Amazon EMR 分析和处理数据湖中的数据,则必须选择加入以允许 Amazon EMR 集群访问由 Lake Formation 管理的数据。如果您不选择加入,Amazon EMR 集群将无法访问已注册到 Lake Formation 成的 Amazon S3 位置中的数据。

Lake Formation Feration 支持列级权限来限制对表中特定列的访问。集成分析服务,如Amazon Athena、Amazon Redshift Spectrum 和亚马逊 EMR 从Amazon Glue Data Catalog. 查询响应中列的实际筛选由集成服务负责。EMR 群集不完全由Amazon. 因此,EMR 管理员有责任妥善保护群集,以避免未经授权的数据访问。

通过选择加入以允许 EMR 群集上的数据筛选,即表示您证明您已正确保护集群的安全。

选择加入以允许 Amazon EMR 集群上的数据筛选(控制台)

  1. 继续在 Lake Formation 控制台中,网址为https://console.aws.amazon.com/lakeformation/. 确保您以具有 Lake Formation 成 IAM 权限的委托人身份登录PutDataLakeSettingsAPI 操作。您在中创建的 IAM 管理员用户创建 IAM 管理员用户具有此权限。

  2. 在导航窗格中的Permissions (权限)中,选择筛选外部数据.

  3. 在存储库的筛选外部数据页面上,执行以下操作:

    1. 启用 。允许 Amazon EMR 集群过滤由 Lake Formation 管理的数据.

    2. 适用于Amazon账户 ID中,输入的账户 IDAmazon账户,用于执行数据筛选的 Amazon EMR 集群。按Enter在每个账户 ID 之后。

    3. 选择保存

(可选)授予对数据目录加密密钥的访问权限

如果Amazon Glue Data Catalog已加密,授予Amazon Identity and Access Management(IAM) 权限Amazon KMS键指定给需要授予对数据目录数据库和表的 Lake Formation 成权限的任何承担者。

有关更多信息,请参见 Amazon Key Management Service 开发人员指南