AWS Identity and Access Management 中的故障恢复能力
AWS全球基础架构围绕AWS区域和可用区构建。AWS区域有多个在物理上独立且隔离的可用区,这些可用区通过延迟低、吞吐量高且冗余性高的网络连接在一起。有关 AWS 区域和可用区的更多信息,请参阅 AWS 全球基础架构
AWS Identity and Access Management(IAM)和 AWS Security Token Service(AWS STS)是可自我维持、基于区域的服务,可在全球范围内使用。
IAM 是一种非常关键的 AWS 服务。在 AWS 中执行的每项操作必须由 IAM 进行身份验证和授权。IAM 根据存储在 IAM 中的身份和策略检查每个请求,以确定是允许还是拒绝请求。IAM 的设计采用了单独的控制面板和数据面板,这样,即使在意外故障期间,服务也能进行身份验证。授权中使用的 IAM 资源(如角色和策略)存储在控制面板中。IAM 客户可以通过使用 DeletePolicy
和 AttachRolePolicy
等 IAM 操作来更改这些资源的配置。这些配置更改请求将发送到控制面板。所有商业 AWS 区域 都有一个 IAM 控制面板,位于美国东部(弗吉尼亚州北部)区域。随后,IAM 系统会在每个已启用的 AWS 区域中将配置更改传播到 IAM 数据面板。IAM 数据面板本质上是 IAM 控制面板配置数据的只读副本。每个 AWS 区域 都有一个完全独立的 IAM 数据面板实例,该实例对来自同一区域的请求执行身份验证和授权。在每个区域中,IAM 数据面板至少分布在三个可用区中,并且具有足够的容量来容忍可用区丢失而不会对客户造成任何损害。IAM 控制面板和数据面板都是为零停机时间而构建,所有软件更新和扩展操作均以对客户不可见的方式执行。
AWS STS默认情况下,总是将 请求将转到单个全局端点。但是,您可以选择使用区域 AWS STS 端点来减少延迟或为应用程序提供额外冗余。要了解更多信息,请参阅 管理 AWS 区域中的 AWS STS。
某些事件可能会中断 AWS 区域 之间的网络通信。但是,即使您无法与全局 IAM 端点进行通信,AWS STS 仍然可以对 IAM 主体进行身份验证,并且 IAM 可以授权您的请求。中断通信的事件的具体详细信息将决定您访问 AWS 服务的能力。在大多数情况下,您可继续在 AWS 环境中使用 IAM 凭证。以下情况可能适用于中断通信的事件。
- IAM 用户的访问密钥
-
您可以在具有长期 IAM 用户的访问密钥的区域中无限期地进行身份验证。当您使用 AWS Command Line Interface 和 API 时,您需要提供您的 AWS 访问密钥,以便 AWS 可以在编程请求中验证您的身份。
- 临时凭证
-
您可以使用 AWS STS 区域性服务端点申请新的临时凭证,凭证至少在 24 小时内有效。以下 API 操作会生成临时凭证。
-
AssumeRole
-
AssumeRoleWithWebIdentity
-
AssumeRoleWithSAML
-
GetFederationToken
-
GetSessionToken
-
- 主体和权限
-
-
您可能无法在 IAM 中添加、修改或删除主体或权限。
-
您的凭证可能无法反映您最近在 IAM 中应用的权限的更改。有关更多信息,请参阅 我所做的更改可能不会立即可见。
-
- AWS Management Console
-
-
您可能可以作为 IAM 用户使用区域性登录端点登录 AWS Management Console。区域性登录端点具有以下 URL 格式。
https://
{Account ID}
.signin.aws.amazon.com/console?region={Region}
示例:https://111122223333.signin.aws.amazon.com/console?region=us-west-2
-
您可能无法完成 Universal 2nd Factor(U2F)多重身份验证(MFA)。
-
IAM 恢复能力的最佳实践
AWS 已将恢复能力内置于 AWS 区域 和可用区。若您在与您的环境交互的系统中观察到有以下 IAM 最佳实践,您就可以利用这种恢复能力。
-
使用 AWS STS 区域性服务端点而不是默认的全局端点。
-
检查您的环境中是否存在例行创建或修改 IAM 资源的重要资源的配置,并准备使用现有 IAM 资源的回退解决方案。