选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

Amazon EC2:要求进行 MFA (GetSessionToken) 以执行特定的 EC2 操作

聚焦模式
Amazon EC2:要求进行 MFA (GetSessionToken) 以执行特定的 EC2 操作 - AWS Identity and Access Management

此示例说明如何创建基于身份的策略以允许完全访问 Amazon EC2 中的 AWS API 操作。不过,如果未使用多重身份验证 (MFA) 验证用户身份,则它显式拒绝访问 StopInstancesTerminateInstances API 操作。要以编程方式执行该操作,用户必须在调用 GetSessionToken 操作时包含可选的 SerialNumberTokenCode 值。该操作返回已使用 MFA 验证的临时凭证。要了解 GetSessionToken 的更多信息,请参阅为不受信任的环境中的用户请求凭证

此策略有何作用?

  • AllowAllActionsForEC2 语句允许所有 Amazon EC2 操作。

  • 在缺少 MFA 上下文时,DenyStopAndTerminateWhenMFAIsNotPresent 语句拒绝 StopInstancesTerminateInstances 操作。这意味着,在缺少多重身份验证上下文(表示不使用 MFA)时,将拒绝这些操作。拒绝将覆盖允许。

注意

Deny 语句中的 MultiFactorAuthPresent 的条件检查不应为 {"Bool":{"aws:MultiFactorAuthPresent":false}},因为在未使用 MFA 时,该键不存在并且无法进行评估。因此,在检查值之前,请使用 BoolIfExists 检查以确定该键是否存在。有关更多信息,请参阅 ...IfExists 条件运算符

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAllActionsForEC2", "Effect": "Allow", "Action": "ec2:*", "Resource": "*" }, { "Sid": "DenyStopAndTerminateWhenMFAIsNotPresent", "Effect": "Deny", "Action": [ "ec2:StopInstances", "ec2:TerminateInstances" ], "Resource": "*", "Condition": { "BoolIfExists": {"aws:MultiFactorAuthPresent": false} } } ] }
隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。