配置 IdP 和 Lake Formation 之间的信任关系
要在组织的身份提供程序 (IdP) 与 AWS 之间建立信任关系,您必须执行以下操作:
-
通过在 IdP 和 AWS 之间添加信赖方信任,向您的 IdP 说明 AWS 作为服务提供程序的情况。
-
通过在 AWS IAM 中为 SAML 访问创建 IAM 身份提供程序和角色,向 AWS 告知您的外部 IdP 的情况。
配置此信任关系
-
将 AWS 注册到您的 IdP。将 AWS 注册到您的 IdP 的过程取决于您使用的 IdP。有关如何为 Auth0、Microsoft Active Directory 联合身份验证服务 (AD FS) 和 Okta 执行此操作的更多信息,请参阅 SAML 支持的第三方提供程序。
-
使用 IdP,生成可以将您的 IdP 描述为 AWS 中的 IAM 身份提供程序的元数据 XML 文件。它必须包括发布者名称、创建日期、过期日期以及 AWS 用来验证来自您组织的身份验证响应(断言)的密钥。每个 IdP 有一个特定的方式来直接导出此元数据。有关更多信息,请参阅 IdP 的文档。
您必须将元数据 XML 文件上传到 Amazon S3 存储桶。启动与 Lake Formation 集成的集群时,您需要指定 S3 存储桶的路径。
-
在 IAM 控制台中,创建一个 SAML 身份提供程序实体。
-
登录 AWS 管理控制台,并通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/。
-
在导航窗格中,选择身份提供程序、创建。
-
对于提供程序类型,依次选择选择提供程序类型、SAML。
-
输入身份提供程序的名称。
-
对于元数据文档,单击选择文件,指定您在之前步骤中从 IdP 下载的 SAML 元数据文档,然后选择打开。
-
验证您提供的信息,然后单击 Create (创建)。
-
-
在 IAM 控制台中,为联合身份创建 IAM 角色。
-
在 IAM 控制台的导航窗格中,选择角色、创建角色。
-
选择 SAML 2.0 federation 角色类型。
-
对于 SAML 提供程序,请为您的角色选择提供程序。
-
选择允许编程访问和 AWS 管理控制台访问以创建可以使用编程方式代入以及从控制台代入的角色。
-
复查您的 SAML 2.0 信任信息,然后选择下一步:权限。
-
基于 Lake Formation 的 IAM 角色概述中的示例,为角色创建权限策略。
-
选择下一步: 标签。
-
选择 下一步: 审核。
-
对于角色名称,键入角色名称。角色名称在您的 AWS 账户内必须是唯一的。
-
检查角色,然后选择 Create role。
-
单击“角色”选项卡,搜索上一步中创建的角色名称。
-
选择信任关系,然后选择编辑信任关系。
-
使用在 Lake Formation 的 IAM 角色概述 部分中指定的 Lake Formation 信任策略的 IAM 角色覆盖现有策略文档。然后单击 Update Trust Relationship (更新信任关系)。
-
-
在组织的 IdP 中,您必须配置 SAML 断言,将组织中的用户映射到身份提供程序和刚刚创建的 Lake Formation 的 IAM 角色。您通过配置在下表中所示的三个属性元素来完成此操作。
-
将
account-id
替换为您的 AWS 账户 ID。 -
使用您创建的 Lake Formation 的 IAM 角色的名称替换
IAM_Role_For_Lake_Formation
。 -
使用您在之前步骤中创建的 IAM 身份提供程序的名称替换
IAM_identity_provider_name
。 -
使用属性(该属性用于保存在组织中定义的用户名)的名称替换
user_alias
。
属性元素 值
https://aws.amazon.com/SAML/Attributes/Role arn:aws:iam:: account-id
:role/IAM_Role_For_Lake_Formation
,arn:aws:iam::account-id
:saml-provider/IAM_identity_provider_name
https://aws.amazon.com/SAML/Attributes/RoleSessionName user_alias
https://lakeformation.amazon.com/SAML/Attributes/Username user_alias
执行映射的确切步骤取决于您使用的 IdP。有关更多信息,请参阅下一部分SAML 支持的第三方提供程序。
有关更多信息,请参阅为身份验证响应配置 SAML 断言。
-