策略版本控制

最近更新时间:2019-09-06 10:24:36

概述

当您设置的自定义策略操作变更时,系统不会覆盖原有策略而是自动新建一条新的 Version。保存后,您可以通过将不同的 Version 设置为默认版本,快速回滚到不同版本的策略。

设置默认策略版本的权限

主账号或者具有 cam:ListPolicies、cam:GetPolicy、cam:UpdatePolicy 接口权限的子账号可以操作设置默认策略版本。
主账号可以通过以下策略语法授权给子账号设置默认策略版本的权限:

{
    "version": "2.0",
    "statement": [
        {
            "effect": "allow",
            "action": [
                "name/cam:ListPolicies",
                "name/cam:GetPolicy",
                "name/cam:UpdatePolicy"
            ],
            "resource": [
                "*"
            ]
        }
    ]
}

设置自定义策略默认版本

您可以将自定义策略的其中一个 Version 设置为默认版本,即有效版本。设置成功之后,所有关联该自定义策略的子账号将获取当前默认版本设置的权限。

  1. 登录访问管理控制台,进入 策略 管理页面。
  2. 在策略管理页面,单击需要设置的自定义策略名称,进入策略详情页。
  3. 在策略详情页,选择【策略版本】。
  4. 找到需要设置的 Version,勾选左侧选择框,单击【设置为默认】,完成设置自定义策略默认版本操作。

使用不同版本回滚更改

您可以通过设置自定义策略的默认版本以回滚您的更改。例如,参考以下场景:
创建一个允许子账号拥有云服务器 ins-1 读权限的自定义策略。创建时,当前自定义策略只有一个版本(标记为 Version1),该版本自动设置为默认版本。该策略可正常工作。

当您更新该自定义策略,在原有策略基础上新增云服务器 ins-2 的读权限,保存之后,系统会创建新的策略版本(标记为 Version2)。将 Version2 设置为默认版本之后,子账号反馈缺少云服务器管理权限。在此情况下,您可以将当前策略回滚到可正常工作的策略版本 Version1。您可以将 Version1 设置为默认版本,子账号将可恢复管理原始云服务器。

在确定策略版本 Version2 中的错误并更新之后,系统会创建该策略的另一个新版本,标记为 Version3。您可以将 Version3 设置为默认版本以满足子账号拥有两台云服务器 ins-1 和 ins-2 的读权限。此时,您可以删除错误的策略版本 Version2。

版本限制

一个自定义策略最多保存 5 个策略版本。当自定义策略的策略版本数量达到 5 个时,您编辑且保存策略时必须先删除一个或多个现有版本才可保存成功。您可以在弹出的提示框中选择以下两种方式删除已有策略版本:

  • 删除最旧的非默认策略版本。
  • 勾选需要删除的策略版本(可多选)。您可以单击左侧【▼】查看每个版本的策略语法,以方便做出决定。
说明:

删除某个版本时,其余版本的版本标记符不会更改。因此,版本标记符可能是不连续的。例如,如果您删除策略版本 Version2 和 Version4,然后添加两个新版本,则其余版本标记符可能是 Version1、Version3、Version5、Version6 和 Version7。