企业安全组
企业安全组管理
初始化
确认Endpoint
在确认您使用SDK,需要配置Endpoint时,理解Endpoint相关的概念。 百度智能云目前开放了多区域支持,请参考区域选择说明。 目前支持“华北-北京”、“华南-广州”、"华东-苏州"、"香港"、"金融华中-武汉"和"华北-保定"六个区域。对应Endpoint信息为:
访问区域 | 对应Endpoint |
---|---|
华北-北京 | bcc.bj.baidubce.com |
华南-广州 | bcc.gz.baidubce.com |
华东-苏州 | bcc.su.baidubce.com |
香港 | bcc.hkg.baidubce.com |
金融华中-武汉 | bcc.fwh.baidubce.com |
华北-保定 | bcc.bd.baidubce.com |
获取密钥
要使用百度智能云安全组,您需要拥有一个有效的 AK(Access Key ID)和SK(Secret Access Key)用来进行签名认证。AK/SK是由系统分配给用户的,均为字符串,用于标识用户,为访问安全组做签名验证。 可以通过如下步骤获得并了解您的AK/SK信息: 注册百度智能云账号 创建AK/SK
新建EsgClient
EsgClient是安全组服务的客户端,为开发者与安全组服务进行交互提供了一系列的方法。
通过AK/SK方式访问EsgClient
1.在新建EsgClient之前,需要先创建配置文件对EsgClient进行配置,以下将此配置文件命名为sg_sample_conf.py,具体配置信息如下所示:
#!/usr/bin/env python
#coding=utf-8
#导入Python标准日志模块
import logging
#从Python SDK导入Bcc配置管理模块以及安全认证模块
from baidubce.bce_client_configuration import BceClientConfiguration
from baidubce.auth.bce_credentials import BceCredentials
import baidubce
#设置EsgClient的Host,Access Key ID和Secret Access Key
esg_host = ""bcc.bj.baidubce.com"
access_key_id = "AK"
secret_access_key = "SK"
#设置日志文件的句柄和日志级别
logger = logging.getLogger('baidubce.http.bce_http_client')
fh = logging.FileHandler("sample.log")
fh.setLevel(logging.DEBUG)
#设置日志文件输出的顺序、结构和内容
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setFormatter(formatter)
logger.setLevel(logging.DEBUG)
logger.addHandler(fh)
#创建BceClientConfiguration
config = BceClientConfiguration(credentials=BceCredentials(access_key_id, secret_access_key), endpoint = esg_host)
注意: 针对日志文件,Logging有如下级别:DEBUG,INFO,WARNING,ERROR,CRITICAL。
在上面代码中,access_key_id对应控制台中的“Access Key ID”,secret_access_key对应控制台中的“Access Key Secret”,获取方式请参考《操作指南 管理ACCESSKEY》。
上面的方式用户需要自己指定安全组的服务的域名,可以通过赋值给esg_host变量来指定。不指定时无需传入endpoint参数,默认为北京区域http://bcc.bj.baidubce.com。 2.在完成上述配置之后,参考如下代码新建一个EsgClient。
#导入EsgClient配置文件
import sg_sample_conf
#导入Esg相关模块
from baidubce import exception
from baidubce.services import esg
from baidubce.services.esg.esg_client import EsgClient
from baidubce.services.esg.esg_model import EnterpriseSecurityGroupRuleModel
#新建BccClient
esg_client = EsgClient(sg_sample_conf.config)
新建企业安全组
函数声明
def create_enterprise_security_group(self, name, rules=None, desc=None, tags=None, client_token=None, config=None):
参数含义
请参考OpenAPI文档:https://cloud.baidu.com/doc/VPC/s/gl5gqhqtk
返回值
操作成功:
{
"enterpriseSecurityGroupId": "esg-nky7qeom"
}
操作失败:
抛出异常,异常列表参考:https://cloud.baidu.com/doc/VPC/s/sjwvyuhe7
代码示例
具体代码示例参考:example_create_enterprise_security_group.py
列举企业安全组列表
函数声明
def list_enterprise_security_groups(self, instance_id=None, marker=None, max_keys=None, config=None):
参数含义
请参考OpenAPI文档:https://cloud.baidu.com/doc/VPC/s/Cl5jbuluf
返回值
操作成功:
{
"nextMarker": "",
"marker": "",
"maxKeys": 1000,
"enterpriseSecurityGroups": [
{
"desc": "",
"id": "esg-4NxWoxeq",
"name": "test enterprise sg",
"createdTime":"2019-09-24T08:25:59Z",
"rules": [
{
"destIp": "all",
"localIp": "all",
"direction": "egress",
"ethertype": "IPv4",
"portRange": "1-65535",
"sourcePortRange": "1-65535",
"action":"allow",
"priority":"1000",
"protocol": "all",
"remark": "备注",
"enterpriseSecurityGroupRuleId": "esgr-gkv8yupumvx2",
"createdTime": "2020-07-27T13:00:52Z",
"updatedTime": "2020-07-27T13:00:52Z"
}
],
"tags":[
{
"tagKey": tagKey,
"tagValue": tagValue
}
]
}
],
"isTruncated": false
}
操作失败:
抛出异常,异常列表参考:https://cloud.baidu.com/doc/VPC/s/sjwvyuhe7
代码示例
具体代码示例参考:example_get_enterprise_security_group_list.py
删除企业安全组
函数声明
def delete_enterprise_security_group(self, enterprise_security_group_id, config=None):
参数含义
请参考OpenAPI文档:https://cloud.baidu.com/doc/VPC/s/yl5jcu51m
返回值
操作成功:
{}
操作失败:
抛出异常,异常列表参考:https://cloud.baidu.com/doc/VPC/s/sjwvyuhe7
代码示例
具体代码示例参考:example_delete_enterprise_security_group.py
授权企业安全组规则
函数声明
def authorize_enterprise_security_group_rule(self, enterprise_security_group_id, rules, client_token=None, config=None):
参数含义
请参考OpenAPI文档:https://cloud.baidu.com/doc/VPC/s/Kl5jd2uh0
返回值
操作成功:
{}
操作失败:
抛出异常,异常列表参考:https://cloud.baidu.com/doc/VPC/s/sjwvyuhe7
代码示例
具体代码示例参考:example_authorize_enterprise_security_group_rule.py
删除企业安全组规则
函数声明
def delete_enterprise_security_group_rule(self, enterprise_security_group_rule_id, config=None):
参数含义
请参考OpenAPI文档:https://cloud.baidu.com/doc/VPC/s/jl5jdnohy
返回值
操作成功:
{}
操作失败:
抛出异常,异常列表参考:https://cloud.baidu.com/doc/VPC/s/sjwvyuhe7
代码示例
具体代码示例参考:example_delete_enterprise_security_group.py
更新企业安全组规则
函数声明
def update_enterprise_security_group_rule(self, enterprise_security_group_rule_id, remark=None,
protocol=None, portrange=None, source_ip=None,
dest_ip=None, action=None, local_ip=None,
priority=None, source_portrange=None,
config=None):
参数含义
请参考OpenAPI文档:https://cloud.baidu.com/doc/VPC/s/Hkmd2fk5t
返回值
操作成功:
{}
操作失败:
抛出异常,异常列表参考:https://cloud.baidu.com/doc/VPC/s/sjwvyuhe7