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