FYI - The more modern approach is to not care about what IP the users have just let them pick up an IP from DHCP. We will identify them by user and create firewall rules based on their AD group etc. You need to have a firewall that is connected to your AD. It also doesn’t work perfectly as all vendors user ID detection are just reading from a log file on the AD DC’s. It can be a little behind reality. There are some issues when users RDP to other servers the identity can get messed up. Also with multiple users logging into an RDS server you need to set a single policy for that server as identity will be changing all the time.
Since you asked I’ve only done it with LDAP auth. I have come across this before and can give you some clues. You need to config the static IP the dial in tab in AD.
You will need to setup two group policies.
NoAccess - Basically a blank policy disable DHCP etc on this. Google will tell you how to create this. Basically if they don’t have an IP in AD we give them the NoAccess policy and they can’t connect/get an IP.
GP-AC - The real policy, don’t need any DHCP here either as we will read the IP for the user from from AD. You will need to fill in your other settings like DNS server etc.
Make your ldap map point to the AD group where the AC users are located in AD. The Framed-IP is the thing we want to read from AD and give that IP to the user. Then assign the correct anyconnect group policy GP-AC:
ldap attribute-map LDAP-MAP
map-name memberOf Group-Policy
map-value memberOf “CN=AC-USERS,OU=Groups,DC=WORK,DC=LOCAL” GP-AC
map-name msRADIUSFramedIPAddress IETF-Radius-Framed-IP-Address
map-value msRADIUSFramedIPAddress msRADIUSFramedIPAddress IETF-Radius-Framed-IP-Address
Setup your aaa LDAP connection and attached the LDAP-MAP we created above
aaa-server AAA-LDAP protocol ldap
aaa-server AAA-LDAP (INSIDE) host 192.168.0.100
ldap-base-dn DC=WORK,DC=LOCAL
ldap-scope subtree
ldap-naming-attribute sAMAccountName
ldap-login-password ThePWGoesHere
ldap-login-dn CN=ASA-USER,OU=Service Users,OU=Users,DC=WORK,DC=LOCAL
server-type microsoft
ldap-attribute-map LDAP-MAP
I’m sure this is possible with radius as well but I’ve never done that. That should give you some clues to start googling. You can setup a separate AnyConnect test profile to work on it don’t mess around with your production anyconnect. Good luck.