class ListJumperSessionHistorySerializer(serializers.Serializer): jumper_ip = serializers.IPAddressField( required=True, error_messages=serializers.CommonErrorMessages(_(u"堡垒机IP"))) host_ip = serializers.IPAddressField(required=False) user_name = serializers.CharField(required=False) protocol = serializers.ChoiceField(choices=["RDP", "SSH"], required=False)
class AddHostAccountSerializer(serializers.Serializer): # 堡垒机IP jumper_ip = serializers.IPAddressField( required=True, error_messages=serializers.CommonErrorMessages(_(u"堡垒机IP"))) # 主机ID host_id = serializers.IntegerField( required=True, error_messages=serializers.CommonErrorMessages(_(u"主机ID"))) # 账户名 account_name = serializers.CharField( required=True, error_messages=serializers.CommonErrorMessages(_(u"账户名"))) # 账户密码 account_password = serializers.CharField(required=False, default="") # 登录方式 auth_mode = serializers.ChoiceField( choices=["autoLogin", "manualLogin"], required=True, error_messages=serializers.CommonErrorMessages(_(u"登录方式"))) # 用户协议 protocol = serializers.ChoiceField( choices=["RDP", "SSH"], required=True, error_messages=serializers.CommonErrorMessages(_(u"用户协议")))
class ChangeJumperAccountInfoSerializer(serializers.Serializer): jumper_ip = serializers.IPAddressField( required=True, error_messages=serializers.CommonErrorMessages(_(u"堡垒机IP"))) host_id = serializers.IntegerField( required=True, error_messages=serializers.CommonErrorMessages(_(u"主机ID"))) account_id = serializers.IntegerField( required=True, error_messages=serializers.CommonErrorMessages(_(u"账户ID"))) protocol = serializers.ChoiceField( choices=["SSH", "RDP"], required=True, error_messages=serializers.CommonErrorMessages(_(u"协议"))) auth_mode = serializers.ChoiceField( choices=["autoLogin", "manualLogin"], required=True, error_messages=serializers.CommonErrorMessages(_(u"登录方式"))) account_name = serializers.CharField( required=True, error_messages=serializers.CommonErrorMessages(_(u"用户名"))) password = serializers.CharField( required=False, default="", error_messages=serializers.CommonErrorMessages(_(u"密码")))
class NewHostSerializer(serializers.Serializer): # 所有者 owner = serializers.CharField( required=True, max_length=30, error_messages=serializers.CommonErrorMessages(_(u"用户"))) # zone zone = serializers.ChoiceField( required=True, choices=["dev", "test", "prod"], error_messages=serializers.CommonErrorMessages(_(u"区域"))) # 堡垒机IP jumper_ip = serializers.IPAddressField( required=True, error_messages=serializers.CommonErrorMessages(_(u"堡垒机IP"))) # 主机ID instance_id = serializers.CharField( required=True, max_length=30, error_messages=serializers.CommonErrorMessages(_(u"主机ID"))) # 主机名 instance_name = serializers.CharField( required=True, error_messages=serializers.CommonErrorMessages(_(u"主机名称"))) # 子网ID # net_id = serializers.ListField( # required=True, # error_messages=serializers.CommonErrorMessages(_(u"子网ID")) # ) # rdp端口 rdp_port = serializers.IntegerField( required=True, max_value=65536, error_messages=serializers.CommonErrorMessages(_(u"rdp端口号"))) # ssh端口 ssh_port = serializers.IntegerField( required=True, max_value=65536, error_messages=serializers.CommonErrorMessages(_(u"ssh端口号"))) # rdp键盘记录 enable_keyboard_record = serializers.BooleanField( required=True, error_messages=serializers.CommonErrorMessages(_(u"是否启用rdp键盘记录"))) # rdp打印机/驱动器映射 enable_disk_redirection = serializers.BooleanField( required=True, error_messages=serializers.CommonErrorMessages(_(u"是否启用rdp打印机/驱动器映射"))) # rdp剪切板 enable_clipboard = serializers.BooleanField( required=True, error_messages=serializers.CommonErrorMessages(_(u"是否启用rdp剪切板")))
class WafBaseSerializer(serializers.Serializer): """ 每秒查询频率、HTTP连接数、CPU使用率、内存使用率 请求次数统计、响应时间统计、安全防护日志 基础防护、HTTP协议防护、防错误信息泄露、WAF规则 url白名单 系统信息 """ owner = serializers.CharField( required=True, error_messages=serializers.CommonErrorMessages(u"用户")) zone = serializers.ChoiceField( required=True, choices=["dev", "prod", "test"], error_messages=serializers.CommonErrorMessages(u"分区")) waf_id = serializers.CharField( required=True, error_messages=serializers.CommonErrorMessages(u"waf_id")) smc_ip = serializers.IPAddressField( required=True, error_messages=serializers.CommonErrorMessages(u"smc_ip")) page_index = serializers.IntegerField(default=1, required=False) page_size = serializers.IntegerField(default=0, required=False)
class PlayJumperSessionAddressSerianlizer(serializers.Serializer): jumper_ip = serializers.IPAddressField( required=True, error_messages=serializers.CommonErrorMessages(_(u"堡垒机IP"))) session_id = serializers.CharField( required=True, error_messages=serializers.CommonErrorMessages(_(u"会话ID")))
class ShowJumperEventDetailSerializer(serializers.Serializer): jumper_ip = serializers.IPAddressField( required=True, error_messages=serializers.CommonErrorMessages(_(u"堡垒机IP"))) event_id = serializers.CharField( required=True, error_messages=serializers.CommonErrorMessages(_(u"事件ID")))
class ListHostsSerializer(serializers.Serializer): # 堡垒机IP jumper_ip = serializers.IPAddressField( required=True, error_messages=serializers.CommonErrorMessages(_(u"堡垒机IP"))) # 堡垒机ID jumper_id = serializers.CharField( required=True, error_messages=serializers.CommonErrorMessages(_(u"堡垒机ID")))
class ListUsersOfHostSerializer(serializers.Serializer): # jumper_ip jumper_ip = serializers.IPAddressField( required=True, error_messages=serializers.CommonErrorMessages(_(u"堡垒机IP"))) # host_id host_id = serializers.IntegerField( required=True, error_messages=serializers.CommonErrorMessages(_(u"主机ID")))
class RemoveJumperHostAccountSerializer(serializers.Serializer): jumper_ip = serializers.IPAddressField( required=True, error_messages=serializers.CommonErrorMessages(_(u"堡垒机IP"))) host_id = serializers.IntegerField( required=True, error_messages=serializers.CommonErrorMessages(_(u"主机ID"))) account_ids = serializers.ListField( required=True, error_messages=serializers.CommonErrorMessages(_(u"账户ID")))
class AddJumperAuthorizationUserOrDetachSerializer(serializers.Serializer): jumper_ip = serializers.IPAddressField( required=True, error_messages=serializers.CommonErrorMessages(_(u"堡垒机IP"))) host_id = serializers.IntegerField( required=True, error_messages=serializers.CommonErrorMessages(_(u"主机ID"))) data = serializers.ListField( required=True, error_messages=serializers.CommonErrorMessages(_(u"操作详情")))
class DetachJumperAuthorizationUserSerializer(serializers.Serializer): jumper_ip = serializers.IPAddressField( required=True, error_messages=serializers.CommonErrorMessages(_(u"堡垒机IP"))) host_id = serializers.IntegerField( required=True, error_messages=serializers.CommonErrorMessages(_(u"主机ID"))) user_ids = serializers.ListField( required=True, error_messages=serializers.CommonErrorMessages(_(u"用户ID"))) rule_ids = serializers.ListField(required=False)
class RemoveJumperHostSerializer(serializers.Serializer): owner = serializers.CharField( required=True, error_messages=serializers.CommonErrorMessages(_(u"用户"))) zone = serializers.ChoiceField( required=True, choices=["dev", "test", "prod"], error_messages=serializers.CommonErrorMessages(_(u"区域"))) jumper_ip = serializers.IPAddressField( required=True, error_messages=serializers.CommonErrorMessages(_(u"堡垒机IP"))) host_ids = serializers.ListField( required=True, error_messages=serializers.CommonErrorMessages(_(u"主机ID")))
class ChangeJumperHostInfoSerializer(serializers.Serializer): jumper_ip = serializers.IPAddressField( required=True, error_messages=serializers.CommonErrorMessages(_(u"堡垒机IP"))) host_id = serializers.IntegerField( required=True, error_messages=serializers.CommonErrorMessages(_(u"主机ID"))) enable = serializers.BooleanField( required=True, error_messages=serializers.CommonErrorMessages(_(u"主机状态"))) # rdp端口 rdp_port = serializers.IntegerField( required=True, max_value=65536, error_messages=serializers.CommonErrorMessages(_(u"rdp端口号"))) # ssh端口 ssh_port = serializers.IntegerField( required=True, max_value=65536, error_messages=serializers.CommonErrorMessages(_(u"ssh端口号"))) # rdp键盘记录 enable_keyboard_record = serializers.BooleanField( required=True, error_messages=serializers.CommonErrorMessages(_(u"是否启用rdp键盘记录"))) # rdp打印机/驱动器映射 enable_disk_redirection = serializers.BooleanField( required=True, error_messages=serializers.CommonErrorMessages(_(u"是否启用rdp打印机/驱动器映射"))) # rdp剪切板 enable_clipboard = serializers.BooleanField( required=True, error_messages=serializers.CommonErrorMessages(_(u"是否启用rdp剪切板")))
class AddAuthorizationUserSerializer(serializers.Serializer): # 堡垒机IP jumper_ip = serializers.IPAddressField( required=True, error_messages=serializers.CommonErrorMessages(_(u"堡垒机IP"))) # 主机ID host_id = serializers.IntegerField( required=True, error_messages=serializers.CommonErrorMessages(_(u"主机ID"))) # 账户ID account_id = serializers.IntegerField( required=True, error_messages=serializers.CommonErrorMessages(_(u"账户ID"))) account_name = serializers.CharField( required=True, error_messages=serializers.CommonErrorMessages(_(u"用户名"))) # 协议 protocol = serializers.ChoiceField( choices=["SSH", "RDP"], required=True, error_messages=serializers.CommonErrorMessages(_(u"协议"))) # 登录模式 auth_mode = serializers.CharField( required=True, max_length=50, error_messages=serializers.CommonErrorMessages(_(u"登录模式"))) # 用户s [(username, departmentId, nickname, password, roleName), (username1)] user_ids = serializers.ListField( required=True, error_messages=serializers.CommonErrorMessages(_(u"授权用户列表")))
class ListJumperJoinedHostSerializer(serializers.Serializer): jumper_ip = serializers.IPAddressField( required=True, error_messages=serializers.CommonErrorMessages(_(u"堡垒机IP")))
class ChangeWafIplistSerializer(DescribeWafIplistSerializer): """ 新建IP黑/白名单、删除IP黑/白名单 """ ip = serializers.IPAddressField( required=True, error_messages=serializers.CommonErrorMessages(u"IP"))
class DeleteWafSenioripSerializer(DescribeWafSeniorSerializer): """ 删除/清除高级防护监控 """ ip = serializers.IPAddressField(required=False, default="all")
class BaseGetRequestSerializer(serializers.Serializer): # 请求地址填充 jumper_ip = serializers.IPAddressField( required=True, error_messages=serializers.CommonErrorMessages(_(u"请求IP")))
class ListJumperSessionEventSerializer(serializers.Serializer): jumper_ip = serializers.IPAddressField( required=True, error_messages=serializers.CommonErrorMessages(_(u"堡垒机IP"))) content_key = serializers.CharField(required=False)