Cisco伞形API包装器和命令行实用程序
umbr-api的Python项目详细描述
Docs | |
---|---|
Tests | |
Package | |
GitHub | |
Guidelines |
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密钥
- 将其作为命令行实用程序的参数提供
umbrella del www.example.com --key YOUR-CUSTOMER-KEY-IS-HERE-0123456789
- 将其作为程序调用的一部分提供
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
- 添加(post)
- 获取(get)
- 删除(delete)
管理api
- 网络(get)
- 漫游计算机(get)
- 内部网络(get)
- 虚拟设备(get)
- 站点(get)
- 用户(get)
- 角色(get)
报告api
- 安全活动报告(GET)
- 目的地:顶级身份(get)
- 目的地:最近的请求(get)
限制
- 缺少文档
- 您需要主动订阅或评估
- 将通过编译到优化字节码来删除断言。这引起了各种各样的保护要删除的NS。
- 不支持更改或删除实体的其他方法,也不计划这样做
已知问题
访问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不支持目录的相对路径。