所有文档

          云服务器 BCC

          安全组

          查询安全组列表

          以下代码可以查询安全组列表:

          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 文档撤销安全组规则
          上一篇
          自动快照策略
          下一篇
          部署集