Cisco Firepower Management Centre (FMC) integrates with Cisco Identity Services Engine (ISE) via pxGrid to enable dynamic, identity-based security. Through pxGrid, FMC receives rich contextual information from ISE, including:
- Session Information: username, IP address
- Device Identity & Profiling Data: device type and other profiling attributes
- TrustSec Information (SGTs): security groups, SGT-to-IP mappings, SGT names, and related metadata
Security Groups (TrustSec SGTs) are role-based security labels assigned by ISE to users and devices. By leveraging SGTs within Access Control Policies (ACPs), FMC can enforce identity-based, role-driven access control instead of relying on static IP addresses. The SGT/IP address information is stored in a mappings database on the FTD, which is used to ensure the FTD can associate traffic with the correct SSGT and apply SGT based access control rules.
FMC can also take advantage of device type information gathered by ISE’s profiling engine. This adds another layer of context to ACPs, allowing you to create policies for different types of endpoints—for example, treating devices profiled as a Windows workstation, iPad, printers, cameras or IoT devices differently based on their function and risk level.
This post walks through how to configure the integration between ISE and FMC so that FMC can receive and use this contextual information from ISE in Access Control rules.
Software
The information in this post is based on software versions: –
- Cisco FMC/FTD 7.7
- Cisco ISE 3.4 patch 4
ISE Configuration
To prepare ISE for pxGrid integration, you need to enable the pxGrid persona, turn on the ERS API service, and allow new certificate-based accounts to be automatically approved.
- Navigate to Administration > Deployment
- Edit the ISE node and add the pxGrid persona.

- Click Save

- Navigate to Administration > Settings > API Settings

- Click API Service Settings
- Ensure ERS (Read/Write) is selected
- Click Save

- Navigate to Administration > pxGrid Services > Settings
- Tick Automatically approve new certificate-based accounts
This will ensure that the FMC and other pxGrid integrations will automatically be approved, rather than the administrator approving the pending requests.

Verification
When a device connects via Wired, Wireless or VPN, ISE will profile the device using one of the profiling policies and assign an Endpoint Profile. ISE will pass this profiling Device Type information to the FMC.
- From ISE GUI, navigate to Policy > Profiling > Profiling Policies

Observe all the configured policies, these can be Cisco provided or Administrator created policies, when a device is profiled by ISE it is assigned one of these Endpoint Profiles.
Confirm the Endpoint Profile of an endpoint.

- Navigate to Context Visibility > Endpoints and select the MAC address of a test device
From the screenshot below, we can determine the Endpoint Profile Windows10-Workstation has been applied to the endpoint.
ISE will also transmit the Security Group (SGT) information to the FMC; the SGT are assigned to a connection via the authorisation rules. Confirm the TrustSec Security Groups: –
- Navigate to Work Centers > TrustSec > Components
Observe the defined SGTs, these will be transmitted via pxGrid to the FMC.
FMC Configuration
From FMC version 7.6 or newer, you can now configure the ISE integration using two methods; the old method by importing the ISE PAN/pxGrid CA certificates or the new method by entering the ISE username and password, then the FMC will login to the PAN and download the certificates.
In this scenario, we shall use the new method to establish pxGrid connectivity to ISE.
- Navigate to Integration > Other Integrations

- Select Identity Services Engine
- Select Quick Configuration (New)

- Enter the Primary PAN FQDN/IP Address
- Enter the ISE Username and Password
- Tick Subscribe to Session Directory Topic to receive ISE user session information from the ISE server and SXP topic (optional) to receive updates to SGT-to-IP mappings, used when destination SGT tagging in access control rules.
- Click Test
If the pxGrid certificate on ISE is untrusted it will prompt and require you to Accept or Decline.
- Press Accept

Further tests will be run to ensure pxGrid connectivity to ISE.

- When the test is successful, click Close
- Click Save
Tests will be run again, establishing trust to ISE, testing pxGrid connection, fetching the client certificates and saving the pxGrid connection.

- Click Close

Create Access Control Rules
With the pxGrid integration established between the FMC and ISE, the Endpoint Profile and Security Group information learnt by the FMC and can be used in policies for rule enforcement.
- Login to the FMC and navigate to Policies > Access Control and edit a policy.
- Edit or create a new rule
- Click Dynamic Attributes
Filter by Device Type and you will see the ISE profiles learnt by the FMC.

You can also filter ISE Security Group Tags and use the SGTs in the Access Control Policy.

NOTE – the numerical value of the Employees SGT is 4, the CLI output will use the numerical value rather than the SGT name.
The endpoint used for testing has been profiled by ISE as a Windows10-Workstation and the user connected to that device has been assigned the Employees SGT.
For testing purposes, we shall create two rules: –
- “Device Type” to match on Windows10-Workstation to allow ICMP traffic
- “SGT Rule” to match on Security Group Employees to allow ALL other traffic

Testing/Verification
For testing purposes, we will authenticate Remote Access VPN users connecting from a Windows 10 device and assign the Employees SGT.
From the screenshot below, we can confirm the device has been assigned the Endpoint Profile as a Windows10-Workstation and the Employees Security Group (SGT).

View the CLI Event Logs
- Login to the CLI of the FTD
- Run the command system support firewall-engine-debug and filter on the source IP address of the test client.
From the output below we can see the ICMP connection request matched rule 1 Device Type which is the name of the Access Control rule created to match the device type Windows10-Workstation.
> system support firewall-engine-debug Caution: This could result in high CPU usage and lower throughput. Use filters to mitigate the impact Please specify an IP protocol: icmp Please specify a client IP address: 192.168.21.1 Please specify a server IP address: Monitoring firewall engine debug messages 192.168.21.1 8 -> 8.8.8.8 0 1 AS=0 ID=0 GR=1-1 flow setup event 192.168.21.1 8 -> 8.8.8.8 0 1 AS=0 ID=0 GR=1-1 New firewall session 192.168.21.1 8 -> 8.8.8.8 0 1 AS=0 ID=0 GR=1-1 Starting with minimum 1, 'Device Type', and src network first with zones 2 -> 1, geo 0 -> 0, vlan 0, src sgt: 4, src sgt type: session_directory, dst sgt: 0, dst sgt type: unknown, svc 0, payload 0, client 0, misc 0, user 9999997, icmpType 8, icmpCode 0 192.168.21.1 8 -> 8.8.8.8 0 1 AS=0 ID=0 GR=1-1 match rule order 1, 'Device Type', action Allow 192.168.21.1 8 -> 8.8.8.8 0 1 AS=0 ID=0 GR=1-1 MidRecovery data sent for rule id: 268435458, rule_action:2, rev id:3870562665, rule_match flag:0x1 192.168.21.1 8 -> 8.8.8.8 0 1 AS=0 ID=0 GR=1-1 allow action 192.168.21.1 8 -> 8.8.8.8 0 1 AS=0 ID=0 GR=1-1 app event with client no change, service changed, payload no change, referred no change, misc no change, url no change, tls host no change, bits 0x5 192.168.21.1 8 -> 8.8.8.8 0 1 AS=0 ID=0 GR=1-1 flow first bidirectional event 192.168.21.1 8 -> 8.8.8.8 0 1 AS=0 ID=0 GR=1-1 Deleting Firewall session flags=0x11000, logFlags=0x2101 192.168.21.1 8 -> 8.8.8.8 0 1 AS=0 ID=0 GR=1-1 Generating an EOF event with rule_id = 268435458 ruleAction = 2 ruleReason = 0
Generate some HTTPS traffic will not match the “Device Type” rule. From the output below we can confirm HTTPS (443) traffic was transmitted and we can confirm the src sgt: 4 (this is the numerical value of the Employees SGT), we can confirm this traffic matched the rule named SGT RULE and was allowed.
> system support firewall-engine-debug Caution: This could result in high CPU usage and lower throughput. Use filters to mitigate the impact Please specify an IP protocol: Please specify a client IP address: 192.168.21.1 Please specify a client port: Please specify a server IP address: Please specify a server port: Monitoring firewall engine debug messages 192.168.21.1 58710 -> 8.8.8.8 443 6 AS=0 ID=0 GR=1-1 flow setup event 192.168.21.1 58710 -> 8.8.8.8 443 6 AS=0 ID=0 GR=1-1 New firewall session 192.168.21.1 58710 -> 8.8.8.8 443 6 AS=0 ID=0 GR=1-1 Starting with minimum 2, 'SGT RULE', and IPProto first with zones 2 -> 1, geo 0 -> 0, vlan 0, src sgt: 4, src sgt type: session_directory, dst sgt: 0, dst sgt type: unknown, svc 0, payload 0, client 0, misc 0, user 9999997 192.168.21.1 58710 -> 8.8.8.8 443 6 AS=0 ID=0 GR=1-1 match rule order 2, 'SGT RULE', action Allow 192.168.21.1 58710 -> 8.8.8.8 443 6 AS=0 ID=0 GR=1-1 MidRecovery data sent for rule id: 268435460, rule_action:2, rev id:3870562665, rule_match flag:0x1 192.168.21.1 58710 -> 8.8.8.8 443 6 AS=0 ID=0 GR=1-1 allow action 192.168.21.1 58710 -> 8.8.8.8 443 6 AS=0 ID=0 GR=1-1 InsightDnsListEventHandler: No active DNS entries 192.168.21.1 58710 -> 8.8.8.8 443 6 AS=0 ID=0 GR=1-1 InsightUrlListActiveHandler: No active URL entries 192.168.21.1 58710 -> 8.8.8.8 443 6 AS=0 ID=0 GR=1-1 app event with client no change, service changed, payload no change, referred no change, misc no change, url no change, tls host no change, bits 0x5 192.168.21.1 58710 -> 8.8.8.8 443 6 AS=0 ID=0 GR=1-1 flow tcp established event 192.168.21.1 58710 -> 8.8.8.8 443 6 AS=0 ID=0 GR=1-1 Starting with minimum 2, 'SGT RULE', and IPProto first with zones 2 -> 1, geo 0 -> 0, vlan 0, src sgt: 4, src sgt type: session_directory, dst sgt: 0, dst sgt type: unknown, svc 4624, payload 0, client 2000004624, misc 0, user 9999997
View the GUI Event Logs
- From the FMC GUI navigate to Analysis > Connection > Events
From the screenshot below we can confirm the connection request correctly identifies the Source SGT and Endpoint Profile, which was learnt from ISE. We can also confirm the traffic matched the correct rules.

Verify SGT/IP Mappings on FTD
When an endpoint authenticates through ISE, its IP address and assigned SGT are automatically sent to the FMC. FMC updates its SGT/IP mapping database and then pushes these mappings down to the FTD devices. Without this database, the FTD would have no way to associate incoming traffic with the correct SGT, and SGT-based access control would not function.
- From the CLI of the FTD run the command system support firewall-engine-dump-user-identity-data
- Connect to expert, run the command expert
- Run the command sudo cat /ngfw/var/sf/user_enforcement/user_identity.dump to view the SGT/IP bindings
admin@FTD77:~$ $ sudo cat /ngfw/var/sf/user_enforcement/user_identity.dump We trust you have received the usual lecture from the local System Administrator. It usually boils down to these three things: #1) Respect the privacy of others. #2) Think before you type. #3) With great power comes great responsibility. For security reasons, the password you type will not be visible. Password: ------------------- Memory totals: ------------------- total available (bytes): 20000000 total used (bytes): 741054 ------------------- IP cache: ------------------- num hosts: 1 num ip/user mappings: 3 num shared users: 0 num ip sxp bindings: 0 num ip abp bindings: 0 host_hash (bytes): 532030 user_ip_hash (bytes): 0 fqdn_to_ips (bytes): 72 ------------------- Subnet cache: ------------------- num subnet sxp bindings: 0 num subnet abp bindings: 0 sxp tree size (bytes): 32 ------------------- User/Group cache: ------------------- num groups: 0 num user/group mappings: 0 group_bit_hash (bytes): 69640 user_group_hash (bytes): 69640 ------------------- Full User/Group cache: ------------------- num user/group mappings: 0 full_user_group_hash (bytes): 69640 ------------------- DNS cache: ------------------- dns_cache_grace_period (seconds): 2 ---------------- IP:USER ---------------- ---------------- Host ::ffff:192.168.21.1 ---------------- ::ffff:192.168.21.1:10000006 realm 0 type 5, username user1 ::ffff:192.168.21.1:10000006 realm 0 type 1, username user1 ::ffff:192.168.21.1:10000007 realm 1 type 5, username user1 ::ffff:192.168.21.1: initialized 1 sgt 4, device_type 446, location_ip ::ffff:192.168.10.41 ::ffff:192.168.21.1: SXP initialized 0 sgt 0 ABP values: None Oid value: None ------------------
As we can see from the output above, we can confirm the IP (192.168.21.1) and SGT (4) binding. For each endpoint connecting, there will be an IP/SGT binding in the mapping database.
Verify FMC receives bindings
When the endpoints are authenticated by ISE, ISE will near instantaneously send the information to the FMC. You can confirm these connection events are received by the FMC.
- From the CLI of the FMC connect to expert mode
- Run the command sudo adi_cli session
> expert admin@FMC77:~$ sudo adi_cli session Password: press 'Ctrl-c' to quit received user session: username user2, ip ::ffff:192.168.21.2, location_ip ::ffff:192.168.10.41, realm_id 0, domain lab.local, type Delete, identity Passive. received user session: username user1, ip ::ffff:192.168.21.1, location_ip ::ffff:192.168.10.41, realm_id 0, domain lab.local, type Add, identity Passive.
From the output above, we can see the delete and add session information received by the FMC for the connection events.
