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

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

第 1 步:配置资源

您需要设置以下设置Amazon完成本教程的资源:

  • IAM 用户、角色和策略

  • Lake Formation 数据湖设置和权限

本节介绍如何设置Amazon资源有两种不同的方式:

  1. 使用 Amazon CloudFormation 模板

  2. 使用 Amazon 控制台

使用创建资源Amazon CloudFormation模板

完成以下步骤以使用Amazon CloudFormation:

  1. 登录到Amazon CloudFormation控制台https://console.aws.amazon.com/cloudformation作为美国东部(弗吉尼亚北部)区域的 IAM 用户。

  2. 选择启动堆栈.

  3. 选择下一步创建堆栈屏幕。

  4. 输入堆栈名称。

  5. 适用于dataLake 管理员用户名DataLake 管理员用户密码中,输入您的数据湖管理员用户的 IAM 用户名和密码。

  6. 适用于DataLake 分析师用户名DataLake Analyst 用户密码,输入您的数据湖分析师用户的 IAM 用户名和密码。

  7. 适用于dataLakeBucketName中,输入将创建的新存储桶名称。

  8. 适用于DatabaseName保留为默认值。

  9. 选择 Next(下一步)

  10. 在下一页上,选择下一步.

  11. 查看最后一页上的详细信息并选择我承认Amazon CloudFormation可能会创建 IAM 资源。

  12. 选择 Create(创建)。

    创建堆栈可能需要长达两分钟的时间。

使用创建资源Amazon控制台

使用以下步骤创建资源。Amazon控制台:

  1. 首先,您需要设置两个 IAM 角色;Amazon GlueETL 作业,另一个用于 Lake Formation 数据湖位置。要创建 IAM 策略,请完成以下步骤:

    1. 在 IAM 控制台上 (https://console.aws.amazon.com/iam/) 中,为 Amazon S3 创建新策略。将以下策略另存为S3DataLakePolicy

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::your-datalake-bucket-name/*" ] }, { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::your-datalake-bucket-name" ] } ] }
    2. 创建名为的新 IAM 策略LFLocationPolicy使用以下语句:

      { "Version": "2012-10-17", "Statement": [ { "Sid": "LFtransactions", "Effect": "Allow", "Action": [ "lakeformation:StartTransaction", "lakeformation:CommitTransaction", "lakeformation:CancelTransaction", "lakeformation:GetTableObjects", "lakeformation:UpdateTableObjects" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "glue:GetDatabase", "glue:GetDatabases", "glue:GetTableVersions", "glue:GetPartitions", "glue:GetTable", "glue:GetTables", "glue:UpdateTable" ], "Resource": "*" } ] }
    3. 创建名为的新 IAM 策略LFQuery使用以下语句:

      { "Version": "2012-10-17", "Statement": [ { "Sid": "LFtransactions", "Effect": "Allow", "Action": [ "lakeformation:StartTransaction", "lakeformation:CommitTransaction", "lakeformation:CancelTransaction", "lakeformation:ExtendTransaction", "lakeformation:StartQueryPlanning", "lakeformation:GetTableObjects", "lakeformation:GetQueryState", "lakeformation:GetWorkUnits", "lakeformation:GetWorkUnitResults" ], "Resource": "*" } ] }
  2. 接下来,完成以下步骤为 Lake Formation 数据位置创建 IAM 角色:

    1. 创建一个名为的新的 Lake Formation 角色LFRegisterLocationServiceRole与 Lake Formation 信任关系:

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "lakeformation.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }

      附加客户管理的策略(S3DataLakePolicyLFLocationPolicy) 您在上一步中创建的。此角色用于向 Lake Formation 注册地点,该 Lake Formation 在查询时反过来为 Athena 执行凭证自动售货。

  3. 接下来,请按照以下步骤创建 IAM 用户:

    1. 创建 IAM 用户被命名DatalakeAdmin然后附上以下内容Amazon托管策略:

      1. AWSLakeFormationDataAdmin

      2. AmazonAthenaFullAccess

      3. IAMReadOnlyAccess

      适用于dataLakeBucketName中,输入将创建的新存储桶名称。

    2. 附加客户管理的策略LFQueryPolicy.

    3. 创建名为的 IAM 用户DataAnalyst这可以使用 Athena 来查询数据。

    4. 将附加到Amazon管理的策略AmazonAthenaFullAccess.

    5. 附加客户管理的策略LFQueryPolicy.

  4. 请按照以下步骤配置 Lake Formation:

    1. 通过 https://console.aws.amazon.com/lakeformation/ 中打开 Lake Formation 控制台。UNDERPermissions (权限),选择Admins和数据库创建者。

    2. 数据湖管理员部分,选择Grant.

    3. 适用于IAM 用户和角色选择 IAM 用户DataLake 管理员.

    4. 选择 Save(保存)。

    5. 数据库创建部分,选择Grant.

    6. 适用于IAM 用户和角色,选择LFRegisterLocationServiceRole.

    7. Select创建数据库.

    8. 选择 Grant(授权)。

    9. UNDER注册并提取,选择数据湖位置.

    10. 选择注册位置.

    11. Select数据库.

    12. 适用于Amazon S3 路径中,输入存储数据的存储桶的 Amazon S3 位置。这必须是您在中列出的同一存储桶LFLocationPolicy. Lake Formation 使用此角色来出售临时 Amazon S3 证书,以查询需要对存储桶及其下所有前缀的读/写访问权限的服务。

    13. 适用于IAM 角色,选择LFRegisterLocationServiceRole.

    14. 选择注册位置.

    15. UNDERData Catalog,选择设置.

    16. 确保两个复选框仅对新数据库使用 IAM 访问控制仅对新数据库中的新表使用 IAM 访问控制被取消选择。

    17. UNDER数据目录,选择数据库.

    18. 选择 Create database(创建数据库)。

    19. 对于 Name (名称),请输入 lakeformation_tutorial_amazon_reviews

    20. 选择 Create database(创建数据库)。