Cisco伞形API包装器和命令行实用程序

umbr-api的Python项目详细描述


Docs
Documentation Status
Tests
Travis Build StatusRequirements Status
Appveyor Build Statuscoveralls
Codacy Code Quality StatusMaintainability
Package
Supported versionsSupported implementation
Development statusPyPI PackageLicense
GitHub
GitHub tagGitHub issues
Guidelines
Code style: blackEditorConfigPylint

umbr api是Cisco伞形API包装器和命令行实用程序。

Cisco Umbrella使用Internet的 在连接之前阻止恶意目标的DNS基础结构 曾经建立。通过从云端提供安全性,它还提供 更有效的安全性和简单的部署选项。

umbr api支持强制api、报告api和管理api 有一些限制。借助umbr api您可以添加新站点和 链接到黑名单,删除或显示当前条目,快速检查 最新的安全事件,或检查已注册计算机的状态 或者是网络。

使用命令行工具,如umbr api可以立即提供 向系统管理员提供信息,无需多次单击 通过图形用户界面、双因素认证等

参考文献:

主要是为了教育目的而创造的。

安装

要从本地文件夹安装,请在“umbr api”根目录下执行:

pip3 install -e . --no-use-pep517

要从本地文件夹安装额外要求,请在“umbr api”上执行 根目录:

pip3 install -e .[dev] --no-use-pep517
pip3 install -e .[doc] --no-use-pep517
pip3 install -e .[dev_lint] --no-use-pep517

要从生产环境中安装python包索引(pypi)https://pypi.org 执行:

pip3 install umbr_api

从github安装:

pip3 install git+https://github.com/kolatz/umbr_api.git

从本地存档安装:

pip3 install filename.tar.gz

请注意,您仍然需要从Cisco注册并激活API密钥 启用功能。

使用命令行实用程序

^ umbrella.py中的{tt1}$将注册为umbrella可执行文件。 所以,你可以直接运行它。

示例(强制API):

umbrella add www.example.com http://www.example.com/images
umbrella add example.com example.com --force
umbrella del www.example.com
umbrella del 555XXXXX --key YOUR-CUSTOMER-KEY-IS-HERE-0123456789
umbrella get 100
umbrella get --key YOUR-CUSTOMER-KEY-IS-HERE-0123456789

使用API包装器

您需要从umbr_api导入特定的函数或模块。例如:

fromumbr_apiimportgetget.get_list(key='YOUR-CUSTOMER-KEY-IS-HERE-0123456789')fromumbr_api.addimportaddadd(domain='example.com',url='example.com',key='YOUR-CUSTOMER-KEY-IS-HERE-0123456789')
有三个主要功能:
  • umbr_api.get.get_list
  • umbr_api.add.add
  • umbr_api.remove.remove

应该通过cli指定api密钥,或者可以从 enforcement.json在包data\文件夹中。

API键

如何获取api密钥

您可以在这里注册14天免费试用:https://signup.umbrella.com/

如何使用api密钥

  1. 将其作为命令行实用程序的参数提供
umbrella del www.example.com --key YOUR-CUSTOMER-KEY-IS-HERE-0123456789
  1. 将其作为程序调用的一部分提供
fromumbr_api.getimportget_listresponse=get_list(key='YOUR-CUSTOMER-KEY-IS-HERE-0123456789')

#是的。在umbr api包目录中创建data/enforcement.json文件。 这是一种不安全且不受支持的方式,因为将密钥存储在明文中 格式。要查找包目录:

importosimportumbr_apiprint(os.path.abspath(umbr_api.__file__))

#是的。可以从keyring中读取api密钥以执行命令行。保存 可使用的API密钥:

umbrella keyring --add YOUR-CUSTOMER-KEY-IS-HERE-0123456789
umbrella keyring --show

注意

  • 只测试MacOS平台的钥匙圈
  • 默认情况下,所有python应用程序都可以从keyring中读取密钥的值
  • umbrella将尝试首先使用--key,然后使用密钥链,最后在umbr api包目录中使用data/enforcement.json文件。

支持的方法

执行api

  1. 添加(post)
  2. 获取(get)
  3. 删除(delete)

管理api

  1. 网络(get)
  2. 漫游计算机(get)
  3. 内部网络(get)
  4. 虚拟设备(get)
  5. 站点(get)
  6. 用户(get)
  7. 角色(get)

报告api

  1. 安全活动报告(GET)
  2. 目的地:顶级身份(get)
  3. 目的地:最近的请求(get)

限制

  1. 缺少文档
  2. 您需要主动订阅或评估
  3. 将通过编译到优化字节码来删除断言。这引起了各种各样的保护要删除的NS。
  4. 不支持更改或删除实体的其他方法,也不计划这样做

已知问题

访问MacOS密钥环时出错

python的二进制文件可能没有签名,它们将无法访问 MacOS钥匙圈。你应该手动辞职来解决这个问题。错误消息:

keyring.backends._OS_X_API.SecAuthFailure: (-25293, 'Security Auth Failure: make sure python is signed with codesign util')
$ codesign -v `which python`
/Users/user/.virtualenvs/builings/bin/python: invalid Info.plist (plist or signature have been modified)
In architecture: x86_64
$ codesign -f -s - `which python`
/Users/user/.virtualenvs/builings/bin/python: replacing existing signature

文档

基于readme.rst文件和docstrings的文档页面。

注意

  • 在sphinx中,使用了一个符号链接readme.rst–>;docs/readme.rst来创建目录,而sphinx不支持目录的相对路径。

我该和谁说话

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java:不解析XML的简单XML。例外   KIE Workbench的java自定义UI   java将元素从bucket移动到LinkedList,但有一个元素被完全删除   如何将java stream collect转换为scala   java运行AsynkTask多次不工作   java组织。xml。萨克斯。SAXParseException:cvccomplextype。2.4.c:匹配的通配符是严格的   java是一种计算排序算法所需时间的合适方法   java在O(logn)时间内对排序整数数组中具有相同数字的数字进行计数   xpages从当前数据库javaAgent调用另一个数据库的javaAgent   java如何在instagram中上传特定位置的所有照片   JavaApachePOI可以有效地删除多个列   java创建的对象数   java我可以在关闭连接时关闭Oracle JDBC自动提交吗?