Skip to main content

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, which swauth passes 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:

  1. CLI arguments
  2. settings.toml values (if set)
  3. 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

isemass-0.4.0.tar.gz (12.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

isemass-0.4.0-py3-none-any.whl (16.7 kB view details)

Uploaded Python 3

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

Hashes for isemass-0.4.0.tar.gz
Algorithm Hash digest
SHA256 0e6b275d491f8541cf22695c626adfa99266f053461ff8c6660c28e4aa03705a
MD5 53fccc0b268e86c9e5df16ff709ab582
BLAKE2b-256 9ae7c2ce34fa0727f4cfb4bafa4ab6f069f382fdd029e951f27c63d1b8cd9489

See more details on using hashes here.

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

Hashes for isemass-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4686aef7daaeb070932a3eb93d2f8cd553367685ebe3e0f24e20af40ef51a968
MD5 6ed3090c6cb31a9f8315be568f2c1cd5
BLAKE2b-256 9081f22d18cd5ce93ac496b123ef2d474cfbe4666060fd0af09b8e89f49aec2e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page