本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
一次性设置直接 IAM 联合应用程序 ADFS
本指南介绍了一次性设置过程,用于配置直接 IAM 联合身份验证,ADFS以便在 IAM Identity Center 不可用 AWS 账户 时启用紧急访问权限。
先决条件
如果您计划ADFS使用 AWS 托管 Microsoft AD 进行配置,我们建议您首先配置多区域复制,然后在其他区域而不是主区域中继续执行以下步骤,以实现弹性。
规划您的活动目录组命名惯例
使用特定的命名模式创建 AD 组,从而实现群组名称和 AWS IAM 角色之间的自动匹配。
群组命名格式:AWS-<AccountNumber>-<RoleName>
示例请参见 如何设计紧急角色、帐户和组映射 下图中的紧急帐户。当用户被分配到该组时,他们被授予对账户中EmergencyAccess_Role1_RO角色的访问权限123456789012。如果用户与多个群组关联,他们会看到可用角色列表, AWS 账户 并可以选择要扮演的角色。
AWS 配置
完整的设置包括紧急访问帐户和工作负载帐户中的配置。有关整体设置的说明,请参见如何设计紧急角色、帐户和组映射。
创建 SAML 身份提供商
在紧急访问账户中,按照在 IAM 中创建 SAML 身份提供商中的步骤在 IAM 中创建 SAML 身份提供商。从您的ADFS服务器下载所需的元数据:
https://<yourADFSserverFQDN>/FederationMetadata/2007-06/FederationMetadata.xml
创建紧急访问角色
使用 SAML 2.0 Federation 作为可信实体类型,在紧急账户中@@ 创建紧急访问角色。选择您在上一步中创建的 SAML 2.0 提供商。
注意事项:
包括您运营的所有区域 — 选择您拥有活跃工作负载的每个区域,以确保联合在区域中断期间保持可用。
即使您在单个区域中运营,也至少配置一个额外的区域终端节点,例如,如果您仅在其中操作
us-east-1,则添加us-west-2为辅助终端节点。即使没有任何工作负载,您也可以将 IdP 故障转移到us-west-2SAML 登录终端节点并仍然可以访问您的us-east-1资源。us-west-2同时启用非区域终端节点和区域终端节点 — 尽管非区域终端节点 (
https://signin.aws.amazon.com/saml) 高度可用,但它托管在单个终端节点中 AWS 区域us-east-1,而区域端点 (https://<region>.signin.aws.amazon.com/saml) 则通过减少对单个全球终端节点的依赖来提高弹性。
配置信任策略
有关具有多个登录区域终端节点的信任策略示例,请参阅。在 Okta 中一次性设置直接 IAM 联合身份验证应用程序将示例区域终端节点和 SAML 提供商替换为您的终端节点和 SAML ARNs 提供商。
配置权限策略
有关附加到在 Okta 中一次性设置直接 IAM 联合身份验证应用程序紧急访问角色的权限策略示例,请参阅。
配置工作负载帐户角色
对于工作负载账户角色,请配置自定义信任策略,允许紧急访问账户中的紧急访问角色代入这些角色。请参阅信任策略示例,其中账户123456789012是紧急访问账户。在 Okta 中一次性设置直接 IAM 联合身份验证应用程序
活动目录配置
以下步骤描述了如何配置 Active Directory 以及如何ADFS进行紧急访问。
创建群组
根据前面描述的命名惯例在 Active Directory 中创建紧急群组(例如,AWS-123456789012-EmergencyAccess_Role1_RO)。通过现有的配置机制将用户分配到这些群组。
创建信赖方
ADFS联合需要信赖方配置。依赖方是 AWS Security Token Service (AWS STS),它将身份验证外包给ADFS身份提供者。
在ADFS管理控制台中,使用操作菜单并选择添加信赖方信任。添加信赖方时选择 “声明感知”。
对于联合元数据,请在 IAM 控制台上输入身份提供商元数据信息中的元数据 URL。例如:
https://signin.aws.amazon.com/static/saml/SAMLSPXXXXXX/saml-metadata.xml设置信赖方的显示名称(例如,AWS 账户访问权限),然后选择下一步。
选择您想要允许谁进行访问 AWS。您可以选择特定的群组并定义诸如 MFA 之类的要求。
在 “完成” 页上选择 “关闭” 以完成 “添加信赖方信任向导”。 AWS 现在已配置为信赖方。
创建索赔规则
ADFS使用索赔规则语言在索赔提供者和依赖方之间发出和转换索赔。您需要创建四条声明规则:NameId、RoleSessionName、“获取广告组” 和 “ AWS 访问角色”。
右键单击信赖方,然后选择 “编辑索赔发放政策”。选择添加规则以添加规则。
1NameId.
选择 “转换传入的声明”,然后选择 “下一步”。
使用以下设置:
声明规则名称:
NameId收到的索赔类型:
Windows Account Name发出的索赔类型:
Name ID传出姓名 ID 格式:
Persistent Identifier传递所有索赔值:已选中
选择确定。
2。 RoleSessionName
选择添加规则。
在 “声明规则模板” 列表中,选择 “将 LDAP 属性作为声明发送”。
使用以下设置:
声明规则名称:
RoleSessionName属性存储:
Active DirectoryLDAP 属性:
E-Mail-Addresses发出的索赔类型:
https://aws.amazon.com/SAML/Attributes/RoleSessionName
选择确定。
3。获取广告组
选择添加规则。
在 “索赔规则模板” 列表中,选择 “使用自定义规则发送索赔”,然后选择 “下一步”。
在 “声明规则名称” 中
Get AD Groups,输入,然后在 “自定义规则” 中输入以下内容:c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] => add(store = "Active Directory", types = ("http://temp/variable"), query = ";tokenGroups;{0}", param = c.Value);此自定义规则使用声明规则语言中的脚本,该脚本检索经过身份验证的用户所属的所有群组,并将其置于名
http://temp/variable为的临时声明中。注意
确保尾部没有空格,以免出现意外结果。
4。角色属性
选择添加规则。
在 “索赔规则模板” 列表中,选择 “使用自定义规则发送索赔”,然后选择 “下一步”。
在 “声明规则名称” 中
Roles,输入,然后在 “自定义规则” 中输入以下内容:c:[Type == "http://temp/variable", Value =~ "(?i)^AWS-([\d]{12})"] => issue(Type = "https://aws.amazon.com/SAML/Attributes/Role", Value = RegExReplace(c.Value, "AWS-([\d]{12})-", "arn:aws:iam::$1:saml-provider/<ADFS>,arn:aws:iam::$1:role/"));此自定义规则使用正则表达式将表单
AWS-<Account Number>-<Role Name>中的每个群组成员资格转换为预期的 IAM 角色 ARN 和 IAM 联合提供商 ARN 表单。 AWS注意
在上面的示例规则语言中,
ADFS表示在身份提供商设置中给 SAML 身份提供商的 AWS 逻辑名称。根据您在 IAM 控制台中为身份提供商选择的逻辑名称进行更改。
测试配置
通过在进行身份验证来测试解决方案是否有效。https://<yourADFSserverFQDN>/adfs/ls/IdpInitiatedSignOn.aspx从站点的下拉列表中选择您创建的信赖方的名称。
更新中的默认 SAML 断言端点 ADFS
重要
在中配置信赖方信任时ADFS,SAML Assertion 端点默认为https://signin.aws.amazon.com/它不是全局终端节点,位于中。us-east-1我们建议您将默认终端节点修改为不同于 IAM Identity Center 弹性配置的区域终端节点。例如,如果您的 IAM 身份中心部署在中us-east-1并且您也在中进行操作us-west-2,请将默认 SAML Assertion 使用者终端节点更改为。https://us-west-2.signin.aws.amazon.com/saml
在信赖方信任上选择 “属性”,然后转到 “监控” 选项卡。清除 “自动更新信赖方” 复选框。
前往终端节点选项卡,选择您的首选登录端点,然后选择编辑。
选中 “将可信 URL 设置为默认值” 复选框。选择 “确定” 和 “应用” 以使设置生效。
注意
大多数都 IdPs 允许您在需要之前停用应用程序集成。我们建议您在 IdP 中保持直接 IAM 联合身份验证应用程序处于停用状态,直到需要紧急访问为止。