
# 查询安全组列表 - ListSecurityGroups
#### 功能介绍
查询安全组列表。
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=VPC&version=v2&api=ListSecurityGroups)中调试该接口。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-vpc/vpc_permission_0000.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                     | 访问级别 | 资源类型（\*为必须）      | 条件键                                                                                       | 别名                                                                                                                 | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | vpc:securityGroups:list | List | securityGroup \* | -                                                                                         | - vpc:securityGroups:get   | -      |
  | vpc:securityGroups:list | List | -                | [g:EnterpriseProjectId](https://support.huaweicloud.com/usermanual-iam5/iam_01_1287.html) | - vpc:securityGroups:get   | -      |
     
  
 
#### URI
GET /v1/{project_id}/security-groups
样例：
```
GET https://{Endpoint}/v1/{project_id}/security-groups?limit=10&marker=4779ab1c-7c1a-44b1-a02e-93dfc361b32d&vpc_id=3ec3b33f-ac1c-4630-ad1c-7dba1ed79d85
```
参数说明请参见[表1]。
 表1参数说明 
| 名称                      | 是否必选 | 参数类型    | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|:---|
| project_id              | 是    | String  | 项目ID，获取项目ID请参见[获取项目ID](https://support.huaweicloud.com/api-vpc/vpc_api_0011.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| marker                  | 否    | String  | 分页查询的起始资源ID，表示从指定资源的下一条记录开始查询。 marker需要和limit配合使用： - 若不传入marker和limit参数，查询结果返回第一页全部资源记录。  - 若不传入marker参数，limit为10，查询结果返回第1\~10条资源记录。  - 若marker为第10条记录的资源ID，limit为10，查询结果返回第11\~20条资源记录。  - 若marker为第10条记录的资源ID，不传入limit参数，查询结果返回第11\~2000条（limit默认值2000）资源记录。   |
| limit                   | 否    | Integer | 分页查询每页返回的记录个数，取值范围为0\~2000，默认值2000。 limit需要和marker配合使用，详细规则请见marker的参数说明。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| vpc_id                  | 否    | String  | 按照vpc_id过滤查询。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| enterprise_project_id   | 否    | String  | - 功能说明：企业项目ID。可以使用该字段过滤某个企业项目下的安全组。  - 取值范围：最大长度36字节，带"-"连字符的UUID格式，或者是字符串"0"。"0"表示默认企业项目。若需要查询当前用户所有企业项目绑定的安全组，或者企业项目子账号需要进行安全组列表展示，请传参**all_granted_eps**。   说明： 关于企业项目ID的获取及企业项目特性的详细信息，请参见[《企业管理用户指南》](https://support.huaweicloud.com/usermanual-em/zh-cn_topic_0126101490.html)。                                                                                                                                                                                                                                                         |
| remote_address_group_id | 否    | String  | - 功能说明：远端IP地址组ID。您可以登录管理控制台，在IP地址组页面查看该ID。  - 约束：和remote_ip_prefix，remote_group_id功能互斥。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   
#### 请求参数
无
#### 请求示例
```
GET https://{Endpoint}/v1/{project_id}/security-groups
```
#### 响应参数
表2响应参数 
| 名称              | 参数类型                                                                 | 说明                                                  |
|:---|:---|:---|
| security_groups | Array of [security_group] objects | 安全组列表对象，请参见[表3]。 |
   
 表3security_group字段说明 
| 名称                    | 参数类型                                                                      | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|
| name                  | String                                                                    | 安全组名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| description           | String                                                                    | 安全组描述。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| id                    | String                                                                    | 安全组唯一标识。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| vpc_id                | String                                                                    | 安全组所在的vpc的资源标识。 说明： 当前该参数只作提示用，不约束安全组在此vpc下，不建议继续使用。                                                                                                                                                                                                                                                                                                                                                                                            |
| security_group_rules  | Array of [security_group_rule] objects | 默认安全组规则列表，保证安全组内互通。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| enterprise_project_id | String                                                                    | - 功能说明：企业项目ID。创建安全组时，给安全组绑定企业项目ID。  - 取值范围：最大长度36字节，带"-"连字符的UUID格式，或者是字符串"0"。"0"表示默认企业项目。   说明： 关于企业项目ID的获取及企业项目特性的详细信息，请参见[《企业管理用户指南》](https://support.huaweicloud.com/usermanual-em/zh-cn_topic_0126101490.html)。 |
   
 表4security_group_rule对象 
| 名称                      | 参数类型    | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|
| id                      | String  | 安全组规则标识。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| description             | String  | - 功能说明：安全组规则描述。  - 取值范围：0-255个字符，支持数字、字母、中文字符。                                                                                                                                                                                                                                                      |
| security_group_id       | String  | 安全组标识。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| direction               | String  | - 功能说明：出入控制方向。  - 取值范围： - egress：出方向  - ingress：入方向     |
| ethertype               | String  | - 功能说明：IP协议类型。  - 取值范围：IPv4，IPv6                                                                                                                                                                                                                                                                  |
| protocol                | String  | - 功能说明：协议类型。  - 取值范围：icmp、tcp、udp、icmpv6、IP协议号（0\~255）(如gre协议号为47)。  - 约束：为空表示支持所有协议。                                                                                                         |
| port_range_min          | Integer | - 功能说明：起始端口值。  - 取值范围：1\~65535  - 约束：不能大于port_range_max的值，为空表示所有端口，如果协议是icmp类型，取值范围请参见[安全组规则icmp协议名称对应关系表](https://support.huaweicloud.com/api-vpc/vpc_api_0009.html)。                         |
| port_range_max          | Integer | - 功能说明：结束端口值。  - 取值范围：1\~65535  - 约束：协议不为icmp时，取值不能小于port_range_min的值，为空表示所有端口，如果协议是icmp类型，取值范围请参见[安全组规则icmp协议名称对应关系表](https://support.huaweicloud.com/api-vpc/vpc_api_0009.html)。                   |
| remote_ip_prefix        | String  | - 功能说明：远端IP地址，当direction是egress时为虚拟机访问端的地址，当direction是ingress时为访问虚拟机的地址。  - 取值范围：IP地址，或者cidr格式  - 约束：和remote_group_id，remote_address_group_id功能互斥。                                                |
| remote_group_id         | String  | - 功能说明：对端安全组id。  - 约束：和remote_ip_prefix，remote_address_group_id功能互斥。                                                                                                                                                                                                                            |
| remote_address_group_id | String  | - 功能说明：远端IP地址组ID。  - 约束：和remote_ip_prefix，remote_group_id功能互斥。                                                                                                                                                                                                                                        |
| tenant_id               | String  | - 功能说明：安全组规则所属项目ID。                                                                                                                                                                                                                                                                                                                                                                            |
   
#### 响应示例
```
{
    "security_groups": [
        {
            "id": "16b6e77a-08fa-42c7-aa8b-106c048884e6", 
            "name": "qq", 
            "description": "qq", 
            "vpc_id": "3ec3b33f-ac1c-4630-ad1c-7dba1ed79d85", 
            "enterprise_project_id": "0aad99bc-f5f6-4f78-8404-c598d76b0ed2",
            "security_group_rules": [
           {
                "id": "f11a3824-ac19-4fad-b4f1-c5f4a6dd0a80",
                "tenant_id": "060576782980d5762f9ec014dd2f1148", 
                "security_group_id": "69c999ad-d9ef-4d79-94fd-35e6ceb75325", 
                "remote_group_id": "69c999ad-d9ef-4d79-94fd-35e6ceb75325", 
                "direction": "ingress", 
                "protocol": null, 
                "description": "", 
                "ethertype": "IPv6", 
                "remote_ip_prefix": null, 
                "remote_address_group_id": null,
                "port_range_max": null,
                "port_range_min": null
            }, 
            {
                "id": "3d6480e8-9ea4-46dc-bb1b-8db190cd5677",
                "tenant_id": "060576782980d5762f9ec014dd2f1148", 
                "security_group_id": "69c999ad-d9ef-4d79-94fd-35e6ceb75325", 
                "remote_group_id": null, 
                "direction": "egress", 
                "protocol": null, 
                "description": "", 
                "ethertype": "IPv6", 
                "remote_ip_prefix": null, 
                "remote_address_group_id": null,
                "port_range_max": null,
                "port_range_min": null
            }, 
            {
                "id": "9581f18c-1fdd-43da-ace9-7758a56ef28a", 
                "tenant_id": "060576782980d5762f9ec014dd2f1148", 
                "security_group_id": "69c999ad-d9ef-4d79-94fd-35e6ceb75325", 
                "remote_group_id": null, 
                "direction": "egress", 
                "protocol": null, 
                "description": "",
                "ethertype": "IPv4", 
                "remote_ip_prefix": null, 
                "remote_address_group_id": null,
                "port_range_max": null,
                "port_range_min": null
            }, 
            {
                "id": "a3ba270e-e58b-432d-a912-aeb7eace9fb8", 
                "tenant_id": "060576782980d5762f9ec014dd2f1148", 
                "security_group_id": "69c999ad-d9ef-4d79-94fd-35e6ceb75325", 
                "remote_group_id": "69c999ad-d9ef-4d79-94fd-35e6ceb75325", 
                "direction": "ingress", 
                "protocol": null, 
                "description": "", 
                "ethertype": "IPv4", 
                "remote_ip_prefix": null, 
                "remote_address_group_id": null,
                "port_range_max": null,
                "port_range_min": null
            }
        ]
       }, 
        {
            "id": "9c0f56be-a9ac-438c-8c57-fce62de19419", 
            "name": "default", 
            "description": "qq", 
            "vpc_id": "13551d6b-755d-4757-b956-536f674975c0", 
            "enterprise_project_id": "0",
            "security_group_rules": [
                {
                    "direction": "egress", 
                    "ethertype": "IPv4", 
                    "id": "95479e0a-e312-4844-b53d-a5e4541b783f", 
                    "description": "",
                    "security_group_id": "9c0f56be-a9ac-438c-8c57-fce62de19419"
                }, 
                {
                    "direction": "ingress", 
                    "ethertype": "IPv4", 
                    "id": "0c4a2336-b036-4fa2-bc3c-1a291ed4c431",
                    "description": "", 
                    "remote_group_id": "9c0f56be-a9ac-438c-8c57-fce62de19419", 
                    "security_group_id": "9c0f56be-a9ac-438c-8c57-fce62de19419"
                }
            ]
        }
    ]
}
```
#### 状态码
请参见[状态码](https://support.huaweicloud.com/api-vpc/vpc_api_0002.html)。
#### 错误码
请参考[错误码](https://support.huaweicloud.com/api-vpc/vpc_api_0003.html)。
