
# VPC终端节点策略
#### 操作场景
VPC终端节点策略是一种附加到VPC终端节点（VPCEP）上的基于资源的访问控制策略。由于SWR企业版的镜像上传和下载均通过VPC终端节点通道进行，您可以通过配置该终端节点的策略，在网络通道入口处直接管控镜像的推送或拉取操作，实现对允许推送或拉取的镜像范围的精细化控制。
#### 前提条件
已创建VPC终端节点，具体操作步骤请参见[通过VPCEP方式访问SWR](https://support.huaweicloud.com/bestpractice-swr/swr_bestpractice_0007.html#section1)。
#### 策略语法示例
**配置示例1：** **配置VPC终端节点策略，只允许上传下载指定的镜像。**
下面策略的含义：VPC1内的服务器只能上传下载企业注册表test-swr，命名空间为test-namespace下的镜像。
```
{
  "Version": "5.0",
  "Statement": [
    {
      "Action": [
        "swr:repository:uploadArtifact",
        "swr:repository:downloadArtifact"
      ],
      "Resource": [
        "SWR:*:*:repository:test-swr/test-namespace/*"
      ],
      "Effect": "Allow",
      "Principal": "*"
    }
  ]
}
```
**配置示例2：** **配置VPC终端节点策略，只允许下载指定的私有镜像，可以下载所有的公开镜像。**
下面策略的含义：VPC1内的服务器只能下载企业注册表test-swr，命名空间为test-namespace下的镜像，公开镜像不受此限制。
```
{
  "Version": "5.0",
  "Statement": [
    {
      "Action": [
        "swr:repository:downloadArtifact"
      ],
      "Resource": [
        "SWR:*:*:repository:test-swr/test-namespace/*"
      ],
      "Effect": "Allow",
      "Principal": "*"
    },
    {
      "Action": [
        "swr:repository:downloadArtifact"
      ],
      "Resource": [
        "*"
      ],
      "Effect": "Allow",
      "Principal": "*",
      "Condition": {
        "Bool": {
          "swr:RepositoryIsPublic": [
            "true"
          ]
        }
      }
    }
  ]
}
```
#### 策略参数说明
表1策略参数说明 
| 参数                                                                                                              || 含义                                                                                                                                                                                            | 值                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|---|:---|:---|
| Version                                                                                                         || 身份策略的版本。                                                                                                                                                                                      | 固定为5.0，不支持修改：代表身份策略JSON语法的版本号。                                                                                                                                                                                                                                                                                                                                                                                                                  |
| Statement： 身份策略的授权语句 | Sid：语句ID             | Sid（Statement ID）表示语句的可选标识符。                                                                                                                                                                  | 为一个由零个或多个字符组成的字符串。                                                                                                                                                                                                                                                                                                                                                                                                                              |
| Statement： 身份策略的授权语句 | Effect：作用            | 定义Action中的操作权限是否允许执行。                                                                                                                                                                         | - Allow：允许执行。  - Deny：不允许执行。   当同一个Action的Effect既有Allow又有Deny时，遵循Deny优先的原则。 |
| Statement： 身份策略的授权语句 | Action/NotAction：授权项 | 操作权限。                                                                                                                                                                                         | 格式为"服务名:资源类型:操作"。授权项支持\*和?，\*表示任意个字符，?表示恰好一个字符。Action/NotAction不区分大小写。Action表示匹配列表中的所有授权项，NotAction表示匹配列表之外的所有授权项。 您可以打开[身份策略授权参考](https://support.huaweicloud.com/usermanual-permissions/iam_01_0003.html)，导航至云服务的"操作"小节，查看该服务所有授权项。                                                                                                                                     |
| Statement： 身份策略的授权语句 | Resource: 资源类型       | 身份策略所作用的资源。                                                                                                                                                                                   | 资源类型用资源URN表示，格式为"\<service-name\>:\<region\>:\<account-id\>:\<type-name\>:\<resource-path\>", 资源URN支持\*和?，\*表示任意个字符，?表示恰好一个字符。Resource不区分大小写。资源URN详情可参见[使用URN标识华为云资源](https://support.huaweicloud.com/usermanual-iam5/iam_01_1275.html)。                                                                                                                                                                                                        |
| Statement： 身份策略的授权语句 | Condition：条件         | 使身份策略生效的特定条件，包括[条件键](https://support.huaweicloud.com/usermanual-iam5/iam_01_1287.html)和[运算符](https://support.huaweicloud.com/usermanual-iam5/iam_01_1289.html#iam_01_1289__li13495143171719)。 | 格式为"运算符:{条件键：\[条件值1,条件值2\]}"。其中，条件键不区分大小写。 如果您设置多个条件，同时满足所有条件时，该身份策略才生效。                                                                                                                                                                                                                                                                                                |
   
#### 相关文档：
[身份策略语法介绍](https://support.huaweicloud.com/usermanual-iam5/iam_01_0934.html)
