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