当前位置: 首页 > news >正文

澄海建设局网站上不了人员优化是什么意思

澄海建设局网站上不了,人员优化是什么意思,提交网站给百度,企业黄页的含义是什么引言 Jumpserver是一款强大的堡垒机系统#xff0c;可以有效管理和控制企业内部服务器的访问权限#xff0c;提高网络安全性。本文将介绍如何使用Python编程语言#xff0c;结合Jumpserver提供的API接口#xff0c;实现对跳板机的管理和操作。 1、什么是Jumpserver#…引言 Jumpserver是一款强大的堡垒机系统可以有效管理和控制企业内部服务器的访问权限提高网络安全性。本文将介绍如何使用Python编程语言结合Jumpserver提供的API接口实现对跳板机的管理和操作。 1、什么是Jumpserver Jumpserver是一种堡垒机系统它提供了一种安全且集中的方式来管理和控制用户对服务器的访问权限。Jumpserver可以帮助企业实现统一认证、审计日志记录、权限管理等功能从而提高网络安全性。 2、Jumpserver提供的API接口 Jumpserver提供了一组强大的API接口可以实现对跳板机的管理和操作。这些API包括获取服务器列表、认证访问权限、执行命令和文件传输等功能可以通过HTTP请求进行调用。 目前使用的版本v3.6.2 不同步的版本API 接口有变化 https://docs.jumpserver.org/zh/v3/dev/rest_api/ 3、Python中的HTTP请求库 在Python中我们可以使用第三方的HTTP请求库如requests库或http.client库来发送HTTP请求并获取响应。这些库提供了简洁的接口方便我们与Jumpserver的API进行交互。 requests库 requests是一个功能强大、简单易用的第三方HTTP请求库广泛应用于Python开发中。它提供了简洁的API使得发送HTTP请求变得非常简单。使用requests库我们可以发送各种类型的HTTP请求GET、POST、PUT等设置请求头、请求参数、请求体等并能够获得服务器响应的状态码、内容等信息。 示例代码 import requests# 发送GET请求并获取响应 response requests.get(https://api.example.com/users)# 获取响应内容 content response.text# 获取响应状态码 status_code response.status_code4、使用Python调用Jumpserver API进行认证 在使用Jumpserver的API之前我们需要先进行认证。通常Jumpserver会提供一个登录接口我们可以使用用户名和密码进行登录并获取到访问令牌Access Token。在后续的API请求中我们需要将该访问令牌作为认证凭证。 https://docs.jumpserver.org/zh/v3/dev/rest_api/#12 推荐使用Access Key方式 或者 Private Token docker exec -it jms_core /bin/bash cd /opt/jumpserver/apps python manage.py shell from users.models import User u User.objects.get(usernameadmin) u.create_private_token() 已经存在 private_token可以直接获取即可 u.private_token此处我才用双层验证方式 KeyID 77e76d19-141c-xxx-8d2b-xxxx SecretID a04817bc-0bb1-439f-baa2-xxxx gmt_form %a, %d %b %Y %H:%M:%S GMT ptivate_token xxxxxxxxxxheaders {accept: application/json,Content-Type: application/json,# X-CSRFToken: eoLo2AVcQK5X1JQ392JHCzjZ8wPCWZJFJao5O9ObH8zQwtiPhGBzaOnNKjaENShf,Authorization: Token ptivate_token,X-JMS-ORG: 00000000-0000-0000-0000-000000000002,Date: datetime.datetime.utcnow().strftime(gmt_form) }# 认证 def get_auth(KeyID, SecretID):认证:param KeyID: The key ID:param SecretID: The secret ID:return:signature_headers [(request-target), accept, date]auth HTTPSignatureAuth(key_idKeyID, secretSecretID, algorithmhmac-sha256, headerssignature_headers)return authauth get_auth(KeyID, SecretID) 5、Jumpserver接口自动调用 获取所有用户 # 获取所有用户 def get_user_all():获取所有用户:return:url jms_url /api/v1/users/users/response requests.get(url, authauth, headersheaders)user_list json.loads(response.text)count 0for i in user_list:count 1print(i)print(count) 获取监控指标 # 获取监控指标 def get_prometheus_metric():获取监控指标:return:url jms_url /api/v1/prometheus/metrics/response requests.get(url, headersheaders, authauth)print(response.text)return response.text获取所有资产节点 # 获取所有资产节点 def get_node_all():获取所有资产节点:return:url jms_url /api/v1/assets/nodes/response requests.get(url, headersheaders, authauth)node_list json.loads(response.text)count 0for i in node_list:count 1print(i)print(count)return response.json() 查看当前token即admin的所有资产 def get_asset_all():查看当前token即admin的所有资产:return:url jms_url /api/v1/assets/assets/response requests.get(url, headersheaders, authauth)node_list json.loads(response.text)count 0for i in node_list:count 1print(i)print(count)return response.json()创建资产节点 def assets_nodes_create(node_name):创建资产节点:param node_name::return:node_data {value: node_name}url jms_url /api/v1/assets/nodes/node_info get_node_info(node_name)if node_info: # 根据node_name去查询如果查到了说明已经有了。print({name}已存在, id: {id}.format(namenode_name, idnode_info[0][id]))else:data json.dumps(node_data)resp requests.post(url, headersheaders, datadata)return resp.json() 根据ip获取资产信息 def get_assets_list_by_ip(ip):根据ip获取资产信息:param ip::return:url jms_url /api/v1/assets/assets/response requests.get(url, headersheaders, params{ip: ip})print(response.json())return response.json()查看资产节点信息 def get_node_info(node_name):查看资产节点信息:param node_name: 节点名称:return:url jms_url /api/v1/assets/nodes/response requests.get(url, authauth, headersheaders, params{value: node_name})print(response.text)return response.json()创建资产机器 # 创建资产机器 def asset_create(ip, hostname, node_id, comment):创建资产机器:param ip: ip地址:param hostname: 主机名:param node_id: 节点id:return: 返回创建的资产信息asset_Data {name: hostname,address: ip,platform: 1,protocols: [{name: ssh,port: 22}],is_active: True,nodes: [node_id],comment: comment,accounts: [{# 账号模板idtemplate: 60b11033-a6e1-467d-8388-68a0e64134ff,}]}url jms_url /api/v1/assets/hosts/print(url)data json.dumps(asset_Data)print(data)response requests.post(url, authauth, headersheaders, datadata)print(response.text) 运行创建服务器资产 # 运行创建服务器资产 def run_create_assets(node_name, project_name, ip, comment):运行创建服务器资产:param node_name: 节点名称:param project_name: 机器名称:param ip: ip地址:param comment: 备注:return:# 节点id无节点时创建节点node_info get_node_info(node_name)# 如果len(node_info) 0 说明没有节点需要创建节点if len(node_info) 0:# 创建节点node_id assets_nodes_create(node_name)print(node_id)else:# 获取节点idnode_id node_info[0][id]print(node_id)# 管理用户 idhostname {ip}_{project_name}.format(ipip, project_nameproject_name)# 查IP,创建资产ip_info get_assets_list_by_ip(ip)if ip_info:print(%s 已存在nodes: %s % (ip_info[0][address], ip_info[0][nodes]))else:asset_create(ip, hostname, node_id, comment) 获取组织信息 def get_org_info():获取组织信息:return:url jms_url /api/v1/orgs/orgs/response requests.get(url, headersheaders)org_list response.textprint(org_list)for i in org_list.split(id):print(i)return response.json()6、完整代码 # -*- coding: utf-8 -*- # Time : 2023/8/29 14:21 # Author : 南宫乘风 # Email : 1794748404qq.com # File : jms_add.py # Software: PyCharmimport requests, datetime, json from httpsig.requests_auth import HTTPSignatureAuthKeyID 77e76d19-141c-4545--xxx SecretID a04817bc-0bb1-439f-baa2-xxxx gmt_form %a, %d %b %Y %H:%M:%S GMT ptivate_token xxxxxheaders {accept: application/json,Content-Type: application/json,# X-CSRFToken: eoLo2AVcQK5X1JQ392JHCzjZ8wPCWZJFJao5O9ObH8zQwtiPhGBzaOnNKjaENShf,Authorization: Token ptivate_token,X-JMS-ORG: 00000000-0000-0000-0000-000000000002,Date: datetime.datetime.utcnow().strftime(gmt_form) }# 认证 def get_auth(KeyID, SecretID):认证:param KeyID: The key ID:param SecretID: The secret ID:return:signature_headers [(request-target), accept, date]auth HTTPSignatureAuth(key_idKeyID, secretSecretID, algorithmhmac-sha256, headerssignature_headers)return authauth get_auth(KeyID, SecretID)# 获取所有用户 def get_user_all():获取所有用户:return:url jms_url /api/v1/users/users/response requests.get(url, authauth, headersheaders)user_list json.loads(response.text)count 0for i in user_list:count 1print(i)print(count)# 获取监控指标 def get_prometheus_metric():获取监控指标:return:url jms_url /api/v1/prometheus/metrics/response requests.get(url, headersheaders, authauth)print(response.text)return response.text# 获取所有资产节点 def get_node_all():获取所有资产节点:return:url jms_url /api/v1/assets/nodes/response requests.get(url, headersheaders, authauth)node_list json.loads(response.text)count 0for i in node_list:count 1print(i)print(count)return response.json()# 查看当前token即admin的所有资产 def get_asset_all():查看当前token即admin的所有资产:return:url jms_url /api/v1/assets/assets/response requests.get(url, headersheaders, authauth)node_list json.loads(response.text)count 0for i in node_list:count 1print(i)print(count)return response.json()################################################################################################### # 创建资产节点 def assets_nodes_create(node_name):创建资产节点:param node_name::return:node_data {value: node_name}url jms_url /api/v1/assets/nodes/node_info get_node_info(node_name)if node_info: # 根据node_name去查询如果查到了说明已经有了。print({name}已存在, id: {id}.format(namenode_name, idnode_info[0][id]))else:data json.dumps(node_data)resp requests.post(url, headersheaders, datadata)return resp.json()# def get_assets_list_by_ip(ip):根据ip获取资产信息:param ip::return:url jms_url /api/v1/assets/assets/response requests.get(url, headersheaders, params{ip: ip})print(response.json())return response.json()# 查看资产节点信息 def get_node_info(node_name):查看资产节点信息:param node_name: 节点名称:return:url jms_url /api/v1/assets/nodes/response requests.get(url, authauth, headersheaders, params{value: node_name})print(response.text)return response.json()# 创建资产机器 def asset_create(ip, hostname, node_id, comment):创建资产机器:param ip: ip地址:param hostname: 主机名:param node_id: 节点id:return: 返回创建的资产信息asset_Data {name: hostname,address: ip,platform: 1,protocols: [{name: ssh,port: 22}],is_active: True,nodes: [node_id],comment: comment,accounts: [{# 账号模板idtemplate: 60b11033-a6e1-467d-8388-68a0e64134ff,}]}url jms_url /api/v1/assets/hosts/print(url)data json.dumps(asset_Data)print(data)response requests.post(url, authauth, headersheaders, datadata)print(response.text)# 运行创建服务器资产 def run_create_assets(node_name, project_name, ip, comment):运行创建服务器资产:param node_name: 节点名称:param project_name: 机器名称:param ip: ip地址:param comment: 备注:return:# 节点id无节点时创建节点node_info get_node_info(node_name)# 如果len(node_info) 0 说明没有节点需要创建节点if len(node_info) 0:# 创建节点node_id assets_nodes_create(node_name)print(node_id)else:# 获取节点idnode_id node_info[0][id]print(node_id)# 管理用户 idhostname {ip}_{project_name}.format(ipip, project_nameproject_name)# 查IP,创建资产ip_info get_assets_list_by_ip(ip)if ip_info:print(%s 已存在nodes: %s % (ip_info[0][address], ip_info[0][nodes]))else:asset_create(ip, hostname, node_id, comment)def get_org_info():获取组织信息:return:url jms_url /api/v1/orgs/orgs/response requests.get(url, headersheaders)org_list response.textprint(org_list)for i in org_list.split(id):print(i)return response.json()if __name__ __main__:jms_url https://jms.xxx.topusername adminpassword xxxxxx# 获取token# token get_token(jms_url, username, password)# 创建资产节点# assets_nodes_create(k8s)# 根据ip获取资产信息# get_assets_list_by_ip(192.168.11.10)# 查看资产节点信息# get_node_info(k8s)# 创建资产调用# node_id [e8641c37-93e3-450e-aaf8-64d5baa69753]# get_node_info(k8s)# asset_create(ip, hostname, node_id)# 运行创建服务器资产# run_create_assets(test, 风控, 192.168.11.10, 测试)# 获取组织信息# get_org_info()# 获取所有用户get_user_all()
http://www.hkea.cn/news/14352282/

相关文章:

  • 网站开发美工的任务免费外网加速器
  • 网站建设公司 合肥公司网站建设大概多少钱
  • 书店网站网站建设规划书网站经营性备案难不难
  • 网站开发流程联系方式站外推广
  • 关于建设学校网站的报告书上海倒闭工厂名单
  • 上海高端定制网站公司怎么做健康咨询网站
  • 凡科建站收费免费注册网站怎么做链接
  • 网站建设公司讯息龙岩天宫山索道多少钱
  • 求邯郸网站制作女生做网站运营
  • 学校管理网站源码给金融的做网站 犯法吗
  • 哪些网站可以接生意做跨境电商怎么入行
  • 宝塔织梦网站建设从零开始学做网站 网站
  • 济南 制作网站 公司哪家好怎么进入追信魔盒网站开发软件
  • 阿里巴巴国际站入口百度收录网站有什么好处
  • 网站建设手机端是什么意思承德信息网
  • 企业建筑网站有哪些类型有哪些市辖区郑州网站建设
  • 法人变更在哪个网站做公示wordpress 开发 电商
  • 网站建设总结经验轴承网站建设
  • 怎样创建旅游网站产品开发流程及每个流程内容
  • 电子商务网站建设维护实训报告wordpress登录api
  • 襄阳网站seo诊断wordpress默认登录地址
  • dedecms 百度网站地图如何修改网站抓取内容
  • 学校响应式网站建设企业微信邮箱怎么开通注册
  • 服装网都有哪些网站天津做大健康的公司
  • html做网站例子dede网站如何换源码
  • 做区域分析的地图网站软件职业培训
  • 百度正版下载seo推广优化公司哪家好
  • 怎么学网站开发背景视频素材下载免费
  • 专门做旅游尾单的网站ins做甜品网站
  • 做1元夺宝网站挣钱吗点击宝seo