通过 Policy Simulator,您可以先了解对 IAM 拒绝政策所做的更改可能会对主体访问权限有何影响,然后再决定是否进行更改。您可以使用 Policy Simulator 来确保所做的更改不会导致主账号失去所需的访问权限。
此功能只会评估拒绝政策。如需了解如何模拟其他政策类型,请参阅以下内容:
拒绝政策模拟器的工作原理
Policy Simulator for deny policies 可帮助您确定对拒绝政策的更改是否会阻止主账号正在使用的访问权限。
当您针对拒绝政策运行模拟时,Policy Simulator 会执行以下操作:
检索在重放期间生成的组织的访问日志。重放期限为 90 天。
如果组织不存在超过 90 天,则 Policy Simulator 会检索自组织创建以来的所有访问日志。
确定哪些访问日志与模拟相关。相关访问日志是指所有表示主账号最近一次尝试使用某项权限访问资源的访问日志。
针对每个相关的访问日志,确定当前的拒绝政策以及建议的更改是否会允许尝试的访问。此过程称为“重放”访问尝试。
对于每个访问日志,将重放中的访问状态与访问日志中的访问状态进行比较。然后,Policy Simulator 会报告访问日志中未被阻止但在重放中被阻止的所有历史访问尝试。这些差异称为访问权限变更,用于显示在尝试访问时,如果模拟的拒绝政策已生效,哪些访问尝试会被阻止。
重放期
重放时段是指 Policy Simulator 在运行模拟时获取访问日志的时间段。重放期第一天之前的访问日志或重放期最后一天之后的访问日志不会纳入模拟中。 重放期限为 90 天。如果组织资源存在的时间少于该时间量,则 Policy Simulator 会检索自组织创建以来的所有访问尝试。重放窗口也具有最终一致性。这意味着,在运行模拟时,某些数据可能比其他数据更新。不过,最终所有数据的新鲜度都会相同。 对于最终一致性,重放期通常会在几天内结束,但最多可能会提前 15 天结束。模拟结果会显示确切的重放窗口。不包含此时间段之后的访问日志。
Policy Simulator 结果
Policy Simulator 会将建议的对拒绝政策的更改的影响报告为访问权限更改列表。对于拒绝政策,Policy Simulator 报告的唯一类型的访问权限更改是访问权限已撤消访问权限更改。
Policy Simulator 会报告,如果满足以下条件,则访问权限会被撤消:
- 相应主账号最近一次尝试访问资源成功
- 建议的更改或其他拒绝政策会阻止主账号对资源的访问
对于每项访问权限更改,Policy Simulator 还会报告以下信息:
- 访问尝试中涉及的主账号、资源和权限。
- 在重放期间,主账号尝试使用相应权限访问资源的天数。此总数仅包含与最近一次访问尝试具有相同结果的访问尝试。
- 最近一次尝试访问的日期。
错误
以下错误可能会导致模拟失败:
- 已超出并发模拟数量上限:用户已有 50 个正在进行的模拟,这是用户可以拥有的正在进行的模拟数量上限。如需解决此问题,请等待正在进行中的某个模拟完成,然后尝试再次运行模拟。
- 超时:模拟运行时间过长,已超时。任何耗时超过 24 小时的模拟都会自动超时。如需解决此问题,请尝试再次运行模拟或减小模拟规模。
- 无效的模拟构建:建议的拒绝政策无效或包含不受支持的拒绝规则。无效政策的一个示例是包含无效条件表达式的政策。不受支持的拒绝规则的一个示例是使用员工身份主账号标识符的规则。如需解决此问题,请更正政策,然后重试。
- 权限遭拒:您无权运行模拟。如需解决此问题,请确保您已获授所需角色,然后重试。
受支持的主账号类型
拒绝政策的 Policy Simulator 仅会查看以下类型主账号的访问日志:
在模拟拒绝政策时,Policy Simulator 不会查看任何其他主账号类型的访问日志,包括基于工作负载身份池中的联合身份的主账号类型。因此,Policy Simulator 不会报告建议的政策或绑定更改是否会影响这些主账号的访问权限。
模拟凭据访问边界
您可以使用凭据访问边界来缩小或限制短期有效的凭据可以使用的 IAM 权限范围,以访问 Cloud Storage 资源。如需缩小权限范围,用户或服务账号(令牌代理)会在缩小范围的访问令牌中定义一组资源可用的权限,然后将该访问令牌提供给另一用户或服务账号(令牌使用者)。
令牌代理必须具有一个角色,该角色包含授予具有缩小的权限范围的访问令牌的令牌使用方的权限。拒绝令牌代理上的相应角色也会移除令牌使用者的访问权限。不过,Policy Simulator 不会评估令牌代理的权限更改对令牌使用者的访问权限有何影响。
例如,假设某用户使用通过凭据访问边界创建的具有缩小权限范围的访问令牌,被授予了对某资源的 Storage Legacy Bucket Reader (roles/storage.legacyBucketReader) 角色。
如果您模拟拒绝该用户的 Storage Legacy Bucket Reader 角色,Policy Simulator 将无法报告访问权限丢失。
如果您在令牌代理上模拟拒绝 Storage Legacy Bucket Reader 角色,Policy Simulator 将无法报告用户访问权限的丢失。同样,如果令牌代理的访问权限在 90 天内未使用,则其访问权限不会纳入模拟中。
如需了解详情,请参阅 Cloud Storage 的凭据访问权限边界。
后续步骤
- 了解如何模拟拒绝政策的更改。
- 探索其他 Policy Intelligence 工具。