注册第三方查询引擎 - Amazon Lake Formation
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

注册第三方查询引擎

在第三方查询引擎可以使用凭据自动售货 API 操作之前,您需要明确启用查询引擎的权限才能代表您调用 API 操作。这是通过几个步骤完成的:

  1. 您需要指定Amazon账户和 IAM 会话标签需要权限才能通过Amazon Lake Formation控制台、Amazon CLI或 API/ 开发工具包。

  2. 当第三方查询引擎在您的账户中担任执行角色时,查询引擎必须附加在代表第三方引擎的 Lake Formation 注册的会话标记。Lake Formation使用此标签来验证请求是否来自批准的引擎。有关会话标签的更多信息,请参阅会话标签(在 IAM 用户指南中)。

  3. 设置第三方查询引擎执行角色时,IAM 策略中必须具有以下最低权限集:

    { "Version": "2012-10-17", "Statement": {"Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "glue:GetTable", "glue:GetTables", "glue:GetDatabase", "glue:GetDatabases", "glue:CreateDatabase", "glue:GetUserDefinedFunction", "glue:GetUserDefinedFunctions", "glue:GetPartition", "glue:GetPartitions" ], "Resource": "*" } }
  4. 在查询引擎执行角色上设置角色信任策略,以便对可以将哪个会话标记密钥值对附加到此角色进行精细的访问控制。在以下示例中,此角色只允许拥有会话标签密钥"LakeFormationAuthorizedCaller"和会话标签值"engine1"要附加,并且不允许其他会话标签密钥值对。

    { "Sid": "AllowPassSessionTags", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/query-execution-role" }, "Action": "sts:TagSession", "Condition": { "StringLike": { "aws:RequestTag/LakeFormationAuthorizedCaller": "engine1" } } }

何时LakeFormationAuthorizedCaller调用 STS: AssumerOLE API 操作以获取凭据以供查询引擎使用,会话标签必须包含在 AssumeRole 请求. 返回的临时凭证可以用来制作Lake Formation凭据自动售货 API 请求。

Lake Formation凭据自动售货 API 操作要求调用委托人是 IAM 角色。IAM 角色必须包含已注册的预定值的会话标签Lake Formation. 此标签允许Lake Formation验证用于调用凭据自动售货 API 操作的角色是否允许这样做。