

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 编辑 Amazon Verified Permissions 静态策略
<a name="policies-edit"></a>

您可以编辑策略存储库中的现有静态策略。您只能直接更新静态策略。要更改与模板关联的策略，必须更新策略模板。有关更多信息，请参阅 [编辑 Amazon 已验证权限策略模板](policy-templates-edit.md)。

您可以更改静态策略的以下元素：
+ 策略所引用的 `action`。
+ 条件子句，例如 `when` 和 `unless`。

您无法更改静态策略的以下元素。要更改这些元素中的任何一个，您需要删除并重新创建策略。
+ 从静态策略到模板关联策略的策略。
+ 来自`permit`或的静态策略的效果`forbid`。
+ 静态策略所引用的 `principal`。
+ 静态策略所引用的 `resource`。

------
#### [ AWS 管理控制台 ]

**要编辑静态策略，请按以下步骤操作：**

1. 打开已[验证权限控制台](https://console.aws.amazon.com/verifiedpermissions/)。选择您的保单商店。

1. 在左侧的导航窗格中，选择**策略**。

1. 选中要编辑的静态策略旁边的单选按钮，然后选择**编辑**。

1. 在**策略正文**部分中，更新静态策略的 `action` 或条件子句。您无法更新策略效果，以及策略的 `principal` 或 `resource`。

1. 选择**更新策略**。
**注意**  
如果在策略存储中启用了[策略验证](policy-validation-mode.md)，则更新静态策略会导致 Verified Permissions 针对策略存储中的架构验证策略。如果更新后的静态策略未通过验证，则操作将失败，并且不会保存更新。

------
#### [ AWS CLI ]

**要编辑静态策略，请按以下步骤操作：**  
您可以使用[UpdatePolicy](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_UpdatePolicy.html)操作编辑静态策略。以下示例编辑了一个简单的静态策略。

该示例使用 `definition.txt` 文件来包含策略定义。

```
{
    "static": {
        "description":  "Grant everyone of janeFriends UserGroup access to the vacationFolder Album",
        "statement": "permit(principal in UserGroup::\"janeFriends\", action, resource in Album::\"vacationFolder\" );"
    }
}
```

以下命令引用了该文件。

```
$ aws verifiedpermissions create-policy \
    --definition file://definition.txt \
    --policy-store-id PSEXAMPLEabcdefg111111

{
    "createdDate": "2023-06-12T20:33:37.382907+00:00",
    "lastUpdatedDate": "2023-06-12T20:33:37.382907+00:00",
    "policyId": "SPEXAMPLEabcdefg111111",
    "policyStoreId": "PSEXAMPLEabcdefg111111",
    "policyType": "STATIC",
    "principal": {
        "entityId": "janeFriends",
        "entityType": "UserGroup"
    },
    "resource": {
        "entityId": "vacationFolder",
        "entityType": "Album"
    }
}
```

**更新策略的名称**  
更新策略时，您可以设置或更新策略名称。对于策略存储区内的所有策略，该名称必须是唯一的，并以`name/`此为前缀。如果您未在更新请求中包含姓名字段，则现有名称将保持不变。要删除名称，请将其设置为空字符串。

```
$ aws verifiedpermissions update-policy \
    --policy-id SPEXAMPLEabcdefg111111 \
    --policy-store-id PSEXAMPLEabcdefg111111 \
    --definition file://definition.txt \
    --name name/example-policy
{
    "createdDate": "2023-06-12T20:33:37.382907+00:00",
    "lastUpdatedDate": "2023-06-12T20:47:42.804511+00:00",
    "policyId": "SPEXAMPLEabcdefg111111",
    "policyStoreId": "PSEXAMPLEabcdefg111111",
    "policyType": "STATIC",
    "principal": {
        "entityId": "janeFriends",
        "entityType": "UserGroup"
    },
    "resource": {
        "entityId": "vacationFolder",
        "entityType": "Album"
    }
}
```

------