安全组
更新时间:2024-07-02
查询安全组列表
以下代码可以查询安全组列表:
Java
1public static void listSecurityGroup(BccClient bccClient) {
2 ListSecurityGroupsRequest listSecurityGroupsRequest = new ListSecurityGroupsRequest();
3 // 设置分页标志
4 listSecurityGroupsRequest.setMarker(securityGroupId);
5 // 设置分页返回数据大小
6 listSecurityGroupsRequest.setMaxKeys(maxKey);
7 // 设置筛选的实例Bcc实例id
8 listSecurityGroupsRequest.setInstanceId(instanceId);
9 // 设计筛选的vpcId
10 listSecurityGroupsRequest.setVpcId(vpcId);
11 // 执行获取安全组列表操作
12 ListSecurityGroupsResponse listSecurityGroupsResponse = bccClient.listSecurityGroups(listSecurityGroupsRequest);
13
14 for (SecurityGroupModel securityGroupModel : listSecurityGroupsResponse.getSecurityGroups()) {
15 System.out.println(securityGroupModel.getName());
16 }
17}
创建安全组
以下代码可以创建一个安全组:
Java
1public static void createSecurityGroup(BccClient bccClient) {
2 CreateSecurityGroupRequest createSecurityGroupRequest = new CreateSecurityGroupRequest();
3 // 设置安全组名字
4 createSecurityGroupRequest.setName(newName);
5 // 设置安全组描述
6 createSecurityGroupRequest.setDesc(newDescription);
7 List<SecurityGroupRuleModel> rules = new ArrayList<SecurityGroupRuleModel>();
8 rules.add(new SecurityGroupRuleModel()
9 // 设置备注
10 .withRemark(securityGroupRemark)
11 // 设置协议类型
12 .withProtocol(securityGroupProtocol)
13 // 设置端口范围,默认空时为1-65535,可以指定80等单个端口
14 .withPortRange(securityGroupPortRange)
15 // 设置入站/出站,取值ingress或egress,必选参数
16 .withDirection(securityGroupDirection)
17 // 设置源IP地址,与sourceGroupId不能同时设定值
18 .withSourceIp(securityGroupSourceIp)
19 // 设置源安全组ID
20 .withSourceGroupId(securityGroupSourceGroupId));
21
22 rules.add(new SecurityGroupRuleModel()
23 // 设置备注
24 .withRemark(securityGroupRemark)
25 // 设置协议类型
26 .withProtocol(securityGroupProtocol)
27 // 设置端口范围,默认空时为1-65535,可以指定80等单个端口
28 .withPortRange(securityGroupPortRange)
29 // 设置入站/出站,取值ingress或egress,必选参数
30 .withDirection(securityGroupDirection)
31 // 设置目的IP地址,与destGroupId不能同时设定值
32 .withDestIp(securityGroupDestIp)
33 // 设置目的安全组ID
34 .withDestGroupId(securityGroupDestGroupId));
35 // 设置安全组规则
36 createSecurityGroupRequest.setRules(rules);
37
38 List<TagModel> listTags = new ArrayList<TagModel>();
39 // 设置想要绑定的标签
40 TagModel tagModel = new TagModel().withTagKey("test007").withTagValue("test007");
41 listTags.add(tagModel);
42 // 设置标签列表
43 createSecurityGroupRequest.setTags(listTags);
44
45 // 创建安全组
46 System.out.println(bccClient.createSecurityGroup(createSecurityGroupRequest).getSecurityGroupId());
47 }
同一安全组中的规则以remark、protocol、direction、portRange、sourceIp|destIp、sourceGroupId|destGroupId六元组作为唯一性索引,重复记录会报409错误。 protocol的取值(tcp|udp|icmp),默认值为空,代表all。 具体的创建安全组规则接口描述BCC API 文档创建安全组。
删除安全组
以下代码可以删除指定的安全组:
Java
1public static void deleteSecurityGroup(BccClient bccClient) {
2 // 删除安全组id为securityGroupId的安全组
3 bccClient.deleteSecurityGroup(securityGroupId);
4}
授权安全组规则
使用以下代码可以在指定安全组中添加授权安全组规则:
Java
1public static void authorizeSecurityGroupRule(BccClient bccClient) {
2 SecurityGroupRuleOperateRequest securityGroupRuleOperateRequest = new SecurityGroupRuleOperateRequest();
3
4 securityGroupRuleOperateRequest.setSecurityGroupId(securityGroupId);
5 SecurityGroupRuleModel securityGroupRuleModel = new SecurityGroupRuleModel()
6 // 设置备注
7 .withRemark(securityGroupRemark)
8 // 设置协议类型
9 .withProtocol(securityGroupProtocol)
10 // 设置端口范围,默认空时为1-65535,可以指定80等单个端口
11 .withPortRange(securityGroupPortRange)
12 // 设置入站/出站,取值ingress或egress,必选参数
13 .withDirection(securityGroupDirection)
14 // 设置源IP地址,与sourceGroupId不能同时设定值
15 .withSourceIp(securityGroupSourceIp)
16 // 设置源安全组ID
17 .withSourceGroupId(securityGroupSourceGroupId);
18
19 // 设置安全组规则
20 securityGroupRuleOperateRequest.setRule(securityGroupRuleModel);
21 // 执行授权安全组规则
22 bccClient.authorizeSecurityGroupRule(securityGroupRuleOperateRequest);
23}
- 同一安全组中的规则以remark、protocol、direction、portRange、sourceIp|destIp、sourceGroupId|destGroupId六元组作为唯一性索引,重复记录会报409错误。
- 具体的接口描述BCC API 文档授权安全组规则。
撤销安全组规则
使用以下代码可以在指定安全组中撤销指定安全组规则授权:
Java
1public static void revokeSecurityGroupRule(BccClient bccClient) {
2 SecurityGroupRuleOperateRequest securityGroupRuleOperateRequest = new SecurityGroupRuleOperateRequest();
3 // 设置安全组规则id
4 securityGroupRuleOperateRequest.setSecurityGroupId(securityGroupId);
5
6 SecurityGroupRuleModel securityGroupRuleModel = new SecurityGroupRuleModel()
7 // 设置备注
8 .withRemark(securityGroupRemark)
9 // 设置协议类型
10 .withProtocol(securityGroupProtocol)
11 // 设置端口范围,默认空时为1-65535,可以指定80等单个端口
12 .withPortRange(securityGroupPortRange)
13 // 设置入站/出站,取值ingress或egress,必选参数
14 .withDirection(securityGroupDirection)
15 // 设置源IP地址,与sourceGroupId不能同时设定值
16 .withSourceIp(securityGroupSourceIp)
17 // 设置源安全组ID
18 .withSourceGroupId(securityGroupSourceGroupId);
19 // 执行撤销安全组规则
20 bccClient.revokeSecurityGroupRule(securityGroupRuleOperateRequest);
21}
- 同一安全组中的规则以remark、protocol、direction、portRange、sourceIp|destIp、sourceGroupId|destGroupId六元组作为唯一性索引,重复记录将报404错误。
- 具体的接口描述BCC API 文档撤销安全组规则。