Mass-change operations (like CoA) for Cisco ISE or ISE-related NAD's
Project description
isemass
isemass is a Python CLI for mass operations related to Cisco ISE.
Current routines include:
- coa: Perform CoA (Change-of-Authority) for multiple MAC addresses from an input text file, using Cisco ISE Monitoring Open API
- swauth: Reauthenticate ISE sessions from NAD's directly over switch SSH
Requirements
This should work on Windows, MacOS, and Linux.
How to Install
You can use pip or pipx, but the preferred is to use uv. First, install uv on your system:
https://docs.astral.sh/uv/getting-started/installation/
Then install the tool simply with:
uv tool install isemass
Next, optionally, you can initialize generated config files:
isemass init
This creates:
settings.toml, which can be used to set configuration for the tool.ssh_config, whichswauthpasses to Netmiko for Cisco switch SSH compatibility.
This is optional for coa, as the tool will run with all CLI arguments. For swauth, running
isemass init is recommended so the Cisco SSH ssh_config file is available (needed for older switches).
Configuration Order
The tool with take priority of configuration inputs is this order:
- CLI arguments
settings.tomlvalues (if set)- Backend defaults (set in
defaults.py)
How to Use (coa)
First, you can see help for all options:
isemass coa --help
Here is a typical example of using the CoA routine:
isemass coa --input-file macs.txt --host ise-mnt.example.com --node ise-psn01
Notable mandatory fields are:
input-file: This input file contains MAC address in any cleaned or uncleaned text format. The tool will parse and find all MAC addresses automatically.host: The main URL host to perform the Monitoring API. This is typically the MnT node. Use FQDN or IP.node: The PSN node to run the CoA from. This can be any PSN node in the environment. Use short node name only (not FQDN or IP)
Also: to perform operations using the Monitoring APIs, the users must be assigned to one of the following Admin Groups and must be authenticated against the credentials stored in the Cisco ISE internal database (internal admin users):
- Super Admin
- System Admin
- MnT Admin
How to Use (swauth)
First, you can see help for all options:
isemass swauth --help
Here is a typical example of using the switch reauthentication routine:
isemass swauth --input-file switches-and-macs.csv --username switch-admin
The input CSV must include these columns:
switch_address: Switch IP address, hostname, or FQDN.mac_address: One MAC address in colon, dash, or Cisco dotted format.
Repeated switch_address values are expected. swauth groups MAC addresses by switch, opens one
SSH session per switch worker, checks each MAC with show authentication sessions mac ... detail,
and clears found sessions with clear authentication sessions mac ....
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file isemass-0.4.0.tar.gz.
File metadata
- Download URL: isemass-0.4.0.tar.gz
- Upload date:
- Size: 12.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0e6b275d491f8541cf22695c626adfa99266f053461ff8c6660c28e4aa03705a
|
|
| MD5 |
53fccc0b268e86c9e5df16ff709ab582
|
|
| BLAKE2b-256 |
9ae7c2ce34fa0727f4cfb4bafa4ab6f069f382fdd029e951f27c63d1b8cd9489
|
File details
Details for the file isemass-0.4.0-py3-none-any.whl.
File metadata
- Download URL: isemass-0.4.0-py3-none-any.whl
- Upload date:
- Size: 16.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4686aef7daaeb070932a3eb93d2f8cd553367685ebe3e0f24e20af40ef51a968
|
|
| MD5 |
6ed3090c6cb31a9f8315be568f2c1cd5
|
|
| BLAKE2b-256 |
9081f22d18cd5ce93ac496b123ef2d474cfbe4666060fd0af09b8e89f49aec2e
|