身份联合验证是双方之间的信任系统,旨在对用户进行身份验证并传达授权其访问资源所需的信息。在此系统中,身份提供者 (IdP) 负责用户身份验证,而服务提供商 (SP)(例如服务或应用程序)负责控制对资源的访问。根据管理协议和配置,SP 信任 IdP 对用户进行身份验证,并且依赖 IdP 提供的用户相关信息。对用户进行身份验证后,IdP 向 SP 发送一条消息(即“断言”),其中包含用户的登录名和其他属性,SP 需要这些信息才能与用户建立会话并确定 SP 应授予的资源访问范围。联合身份验证是构建访问控制系统的常用方法,该系统可在中央 IdP 中集中管理用户,并管控其对作为 SP 的多个应用程序和服务的访问权限。
AWS 提供不同的解决方案对您的员工、承包商和合作伙伴(劳动力)的 AWS 账户和业务应用程序进行联合身份验证,并增加对面向客户的 Web 和移动应用程序的联合身份验证支持。AWS 支持常用的开放身份标准,包括安全断言标记语言 2.0 (SAML 2.0)、Open ID Connect (OIDC) 和 OAuth 2.0。
您可以使用两项 AWS 服务将员工联合身份到 AWS 账户和业务应用程序:AWS IAM Identity Center(AWS SSO 的后继者)或 AWS Identity and Access Management (IAM)。 AWS IAM Identity Center 是帮助您根据用户在单个集中目录中的组成员身份为其定义联合访问权限的绝佳选择。如果您使用多个目录,或者想要根据用户属性管理权限,可以考虑将 AWS IAM 作为设计替代方案。要了解有关 AWS IAM Identity Center 中的服务限额和其他设计注意事项的更多信息,请参阅 AWS IAM Identity Center 用户指南。有关 AWS IAM 设计注意事项,请参阅 AWS IAM 用户指南。
利用 AWS IAM Identity Center,可以轻松地集中管理对多个 AWS 账户和业务应用程序的联合访问权限,并为用户提供从同一位置单点登录访问分配给他们的所有账户和应用程序的权限。您可以使用 AWS IAM Identity Center 获取 AWS IAM Identity Center 的用户目录、您现有公司目录或外部 IdP 中的身份。
AWS IAM Identity Center 通过安全断言标记语言 2.0 (SAML 2.0) 协议使用您选择的 IdP,例如 Okta Universal Directory 或 Azure Active Directory (AD)。 AWS IAM Identity Center 无缝利用针对联合用户和角色的 IAM 权限和策略,帮助您集中管理 AWS 组织中所有 AWS 账户的联合访问权限。使用 AWS IAM Identity Center,您可以根据 IdP 目录中的组成员身份分配权限,然后通过修改 IdP 中的用户和组来控制用户的访问权限。 AWS IAM Identity Center 还支持跨域身份管理系统 (SCIM) 标准,可以自动将用户和组从 Azure AD 或 Okta Universal Directory 配置到 AWS。 AWS IAM Identity Center 根据 SAML 2.0 IdP 中定义的用户属性定义精细权限,让您可以轻松实现基于属性的访问控制 (ABAC)。 AWS IAM Identity Center 让您可以从 IdP 通过 SCIM 同步的用户信息中选择您的 ABAC 属性,或者作为 SAML 2.0 断言的一部分传递多个属性,例如成本中心、标题或区域。您可以一次性为整个 AWS 组织定义权限,然后您只需更改 IdP 中的属性即可授予、撤消或修改 AWS 访问权限。使用 AWS IAM Identity Center,您还可以根据 IdP 目录中的组成员身份分配权限,然后通过修改 IdP 中的用户和组来控制用户的访问权限。
AWS IAM Identity Center 可以用作 IdP,使用您选择的目录对 AWS IAM Identity Center 集成应用程序和兼容 SAML 2.0 的基于云的应用程序(例如 Salesforce、Box 和 Microsoft 365)的用户进行身份验证。您还可以使用 AWS IAM Identity Center 对 AWS 管理控制台、AWS 控制台移动应用程序和 AWS 命令行界面 (CLI) 的用户进行身份验证。对于身份来源,你可以选择 Microsoft Active Directory 或 AWS IAM Identity Center 的用户目录。
要了解更多信息,请参阅 AWS IAM Identity Center 用户指南,访问 AWS IAM Identity Center 入门,并浏览以下更多资源:
您可以使用 AWS Identity and Access Management (IAM) 启用对 AWS 账户的联合访问。AWS IAM 的灵活性让您可以为每个 AWS 账户启用单独的 SAML 2.0 或 Open ID Connect (OIDC) IdP,并使用联合用户属性进行访问控制。利用 AWS IAM,您可以将用户属性(例如成本中心、标题或区域)从您的 IdP 传递到 AWS,并根据这些属性实施精细访问权限。AWS IAM 可以帮助您一次性定义权限,然后您只需更改 IdP 中的属性即可授予、撤消或修改 AWS 访问权限。通过实施可重复使用的自定义托管 IAM 策略,您可以将相同联合访问策略应用于多个 AWS 账户。
要了解更多信息,请参阅 IAM 身份提供者和联合身份验证,访问 IAM 入门,并浏览更多资源:
- 博客文章:New for Identity Federation - Use Employee Attributes for Access Control in AWS
- 博客文章:How to Implement a General Solution for Federated API/CLI Access Using SAML 2.0
- 博客文章:How to Implement Federated API and CLI Access Using SAML 2.0 and AD FS
- 研讨会:Choose Your Own SAML Adventure: A Self-Directed Journey to AWS Identity Federation Mastery
您可以使用 Amazon Cognito 为面向客户的 Web 和移动应用程序添加联合身份验证支持。有了它的帮助,您可以快速轻松地为移动和 Web 应用程序添加用户注册、登录和访问控制功能。Amazon Cognito 可将用户规模扩展到数百万,并支持通过 SAML 2.0 使用社交身份提供商(如 Apple、Facebook、Google 和 Amazon)以及企业身份提供商进行登录。
要了解更多信息,请参阅 Amazon Cognito 开发者指南,访问 Amazon Cognito 入门,并浏览更多资源: