
# 示例七：创建访问策略
#### 操作场景
本章节指导用户通过调用API来创建访问策略。
#### 前提条件
- 已创建终端入云VPN网关。
- 已创建VPN服务端，且服务端的认证方式为口令认证，具体参见[创建服务端](https://support.huaweicloud.com/api-vpn/vpn_api_0111.html)。
- 您需要确定调用API的Endpoint。
 
- 当您使用Token认证方式完成认证鉴权时，需要获取用户Token并在调用接口时增加"X-Auth-Token"到业务接口请求消息头中。Token认证，具体操作请参考[认证鉴权](https://support.huaweicloud.com/api-vpn/vpn_api_0010.html)章节。
  ![](https://support.huaweicloud.com/api-vpn/public_sys-resources/note_3.0-zh-cn.png)
  通过IAM服务获取到的Token有效期为24小时，需要使用同一个Token鉴权时，可以先将Token缓存，避免频繁调用。
  访问策略相关API属于异步流程，配置后需要一段时间才会实际生效，如果连续短时间频繁操作访问策略，可能会出现系统内部排队执行超限，返回错误：VPN.0030, The system is busy, please try later. 需要等待一段时间后再次调用。
  
#### 数据准备
表1创建访问策略请求关键参数 
| 参数            | 说明       | 取值样例                                 |
|:---|:---|:---|
| vpn_server_id | VPN服务端ID | 0e325fb6-83b9-4004-a343-8b6fc714a5d9 |
| user_group_id | 用户组ID    | 7625fd92-2e20-4e4d-8c56-66f110fbfaa8 |
   
#### 操作步骤
1. 创建访问策略
   1. 发送"POST https://{endpoint}/v5/{project_id}/p2c-vpn-gateways/vpn-servers/{vpn_server_id}/access-policies"，project_id为项目ID。{vpn_server_id}为已创建的VPN服务端ID。
   
   2. 在Request Header中增加"X-Auth-Token"。
   
   3. 在Request Body中传入参数。
      ```
      {
          "access_policy": {
              "name": "policy-001",
              "user_group_id": "7625fd92-2e20-4e4d-8c56-66f110fbfaa8",
              "description": "访问策略1",
              "dest_ip_cidrs": [
                "172.16.0.0/24",
                "172.16.1.0/24"
              ]
          }
      }
      ```
      
   
   4. 查看请求响应结果。
      - 请求成功时，响应参数如下，id为创建的用户组ID
        ```
        {
            "access_policy": {
                "id": "4f746482-a575-4e1f-9e80-5f6f69ff8588"
            },
            "request_id": "1663cd8cacbb3497ebc88877e5a3ad89"
        }
        ```
        
       
    
2. 查询访问策略
   1. 发送"GET https://{endpoint}/v5/{project_id}/p2c-vpn-gateways/vpn-servers/{vpn_server_id}/access-policies/{policy_id}"，project_id为项目ID。{vpn_server_id}为已创建的VPN服务端ID。{policy_id}为已创建的访问策略ID。
   
   2. 在Request Header中增加"X-Auth-Token"。
   
   3. 查看请求响应结果。
      ```
      {
          "access_policy": {
              "id": "4f746482-a575-4e1f-9e80-5f6f69ff8588",
              "name": "policy-001",
              "user_group_id": "7625fd92-2e20-4e4d-8c56-66f110fbfaa8",
              "user_group_name": "user-group1",
              "description": "访问策略1",
              "dest_ip_cidrs": [
                  "172.16.0.0/24",
                  "172.16.1.0/24"
              ],
              "created_at": "2024-06-17T13:32:19.57Z",
              "updated_at": "2024-06-17T13:32:19.57Z"
          },
          "request_id": "85657002f01c35576606003cc36114ab"
      }
      ```
      
    
 
