SEC02-BP04 依赖集中式身份提供程序
对于员工身份(员工和合同工),请依赖允许您在集中位置管理身份的身份提供程序。这样,您就可以更轻松地跨多个应用程序和系统管理访问权限,因为您在从单一位置创建、分配、管理、撤销和审核访问权限。
期望的结果: 您有一个集中式身份提供程序,可以在其中集中管理员工用户、身份验证策略 [例如要求多重身份验证(MFA)],以及对系统和应用程序的授权(例如根据用户的群组成员资格或属性分配访问权限)。您的员工用户登录到中央身份提供程序并联合身份验证(单点登录)到内部和外部应用程序,这样用户就无需记住多个凭证。您的身份提供程序已与您的人力资源(HR)系统集成,因此人事变动会自动与身份提供程序同步。例如,如果有人离开您的组织,您可以自动撤消对联合应用程序和系统(包括 AWS)的访问权限。您已在身份提供程序中启用了详细的审核日志记录,并且正在监控这些日志以发现异常用户行为。
常见反模式:
-
您不使用联合身份验证和单点登录。您的员工用户在多个应用程序和系统中创建单独的用户账户和凭证。
-
您尚未实现员工用户身份生命周期的自动化,例如将您的身份提供程序与 HR 系统集成。当用户离开您的组织或变换角色时,您使用手动流程来删除或更新他们在多个应用程序和系统中的记录。
建立此最佳实践的好处: 通过使用集中式身份提供程序,您可以在一个位置管理员工用户身份和策略,可以向用户和群组分配应用程序的访问权限,还可以监控用户登录活动。通过与您的人力资源(HR)系统集成,当用户的角色发生更改时,这些更改会同步到身份提供程序,并自动更新为他们分配的应用程序和权限。当用户离职时,其身份将在身份提供程序中自动被禁用,从而撤消他们对联合应用程序和系统的访问权限。
未建立这种最佳实践的情况下暴露的风险等级:高
实施指导
员工用户访问 AWS 的指南
员工用户(如组织中的员工和合同工)可能需要使用 AWS Management Console或 AWS Command Line Interface(AWS CLI)来访问 AWS,以履行其工作职能。您可以通过从集中式身份提供程序联合到 AWS,在两个层面上向员工用户授予 AWS 访问权:直接联合到每个 AWS 账户,或联合到 AWS 组织中的多个账户。
-
要将员工用户与每个 AWS 账户直接联合,可以使用集中式身份提供程序来联合到该账户中的 AWS Identity and Access Management
。IAM 的灵活性允许您启用单独的 SAML 2.0 或 Open ID Connect(OIDC) 身份提供程序(针对每个 AWS 账户),并使用联合用户属性进行访问控制。您的员工用户将使用网络浏览器,通过提供凭证(如密码和 MFA 令牌码)来登录身份提供程序。身份提供程序向其浏览器发出 SAML 断言,该断言将提交到 AWS Management Console 登录 URL,以允许用户 通过代入 IAM 角色单点登录到 AWS Management Console。用户还可以获取临时 AWS API 凭证以用于 AWS CLI 或 AWS SDK - 从 AWS STS ,方法是 使用身份提供程序的 SAML 断言代入 IAM 角色 。 -
要将员工用户与 AWS 组织中的多个账户联合起来,可以使用 AWS IAM Identity Center
来集中管理员工用户对 AWS 账户和应用程序的访问权限。您为组织启用 Identity Center 并配置身份源。IAM Identity Center 提供一个默认身份源目录,您可以用它来管理用户和组。或者,您也可以选择外部身份源,方法是使用 SAML 2.0 连接外部身份提供程序 并使用 SCIM 自动预置 用户和组,或 连接到您的 Microsoft AD 目录 (使用 AWS Directory Service )。配置身份源后,您可以通过以下方法为用户和组分配 AWS 账户访问权限:在 权限集中定义最低权限策略。您的员工用户可以通过您的中央身份提供程序进行身份验证,以登录 AWS 访问门户 并单点登录到 AWS 账户以及分配给他们的云应用程序。您的用户可以配置 AWS CLI v2 以使用 Identity Center 进行身份验证,并获取用于运行 AWS CLI 命令的凭证。Identity Center 还允许通过单点登录访问 AWS 应用程序,例如 Amazon SageMaker AI Studio 和 AWS IoT Sitewise Monitor 门户。
遵循上述指导后,您的员工用户在 AWS 上管理工作负载时,将不再需要使用 IAM users和组来进行通用的操作。相反,您的用户和组将在 AWS 外部进行管理,并且用户可以作为 联合身份访问 AWS 资源。联合身份使用您的集中式身份提供程序定义的组。您应该识别并删除 AWS 账户中不再需要的 IAM 组、IAM users和长期用户凭证(密码和访问密钥)。 您可以 查找未使用的凭证 (使用 IAM 凭证报告)、 删除相应的 IAM users 和 删除 IAM 组。 您可以将 服务控制策略(SCP) 应用于您的组织,它有助于防止创建新的 IAM users和组,并强制通过联合身份访问 AWS。
应用程序用户指南
您可以通过将
Amazon Cognito
实施步骤
员工用户访问 AWS 的步骤
-
通过以下方法之一,使用集中式身份提供程序将您的员工用户联合身份验证到 AWS:
-
通过与您的身份提供程序联合,使用 IAM Identity Center 来允许单点登录到您的 AWS 组织中的多个 AWS 账户。
-
使用 IAM 将您的身份提供程序直接连接到每个 AWS 账户,从而实现精细的联合访问。
-
-
识别并移除被联合身份取代的 IAM users和群组。
适用于您的应用程序用户的步骤
-
将 Amazon Cognito 用作应用程序的集中式身份提供程序。
-
使用 OpenID Connect 和 OAuth 将您的自定义应用程序与 Amazon Cognito 集成。您可以使用 Amplify 库开发自定义应用程序,这些库提供了与各种 AWS 服务(例如用于身份验证的 Amazon Cognito)集成的简单接口。
资源
相关的 Well-Architected 最佳实践:
相关文档:
相关视频:
相关示例:
相关工具: