A bit of background: We are an all-Google G Suite company. We do not have internal LDAP servers. Everyone auths to Google. We are using PA 3060s as our firewalls and VPN systems.
We are getting ready to turn on SAML authentication for GlobalProtect. We are using Google as our IdP.
I've gotten it working, but I want to make policy decisions based on the user group that we are returning in the SAML assertion.
In Google, I have a user attribute with a "role" specified for each user, and then we are passing this back to the firewalls via a attribute mapping in our SAML App definition in Google.
Within the SAML authentication profile in the firewalls, I have set the User Group attribute to "role", and when I connect to the portal through Burp Suite, I see a SAML "role" attribute being returned from Google and asserted to the firewalls.
However, I have not found a way to use this "role" attribute in client IP pool assignments or in making policy decisions. I have tried making a local group that matches the "role" value, but that does not work.
Has anyone done this, or have any insight on this?
I have been attempting this with Azure SAML. Currently I don't see the group attribute being sent by Azure so I can't test what I was wanting to test.
I found a document that showed an example of Admin Role being used from SAML attribute where the role name matched a GlobalProtect admin role. I wondered if this same concept would work for an empty local user group on GlobalProtect. Even though I can't use the group attribute from SAML assertion, I can use an empty local user group and was hopeful that the group sent from SAML with the same name as a local user group would work the same way admin role assertion does.
Have you created an empty local group in GlobalProtect and put it in a VPN matching policy and see if the SAML group assertion with the same group name would trigger a policy match?
Are you authenticating, but not mapping correctly to AD (authorization)? If so, there is a chrome plugin that allows you to view the SAML assertion to verify the username matches the AD name as seen by the Palo Alto firewall. I provided a link to a site describing the tool. This was very useful when working with Cloud Identity Engine to get the names to match for Azure AD authorization for external users. I used the Chrome tool while logging into the portal web page.
For on-prem AD, we log in with email@example.com format. It just worked with the way AD was set up. For Azure external users, we had to update the Cloud Identity App to use the email address and not the EXT version of the username. It was different if you were already an Azure Tenant or not.
That does sound like an authorization error and could be username not matching issue. Do you also get authentication success before the matching client config message? In the PANOS CLI you can show the user and all alternate usernames. The SAML assertion has to match one of those. In the Azure external user scenario, I would log in successfully with one of the listed usernames (email address), but the SAML assertion coming back, didn't match any of them. It was the EXT version of external Azure users. This was unknown to me until I used the SAML Tracer tool while logging into the web portal.
what's puzzling me is i have an external URL that goes through the whole process i get the Azure login then i get the Duo authentication
and I'm presented with the Palo Alto page to down load the client. if i go into the PAN cli i can check the group and it's formatted with azure login format.
source type: ldap
[1 ] firstname.lastname@example.org
Click Accept as Solution to acknowledge that the answer to your question has been provided.
The button appears next to the replies on topics you’ve started. The member who gave the solution and all future visitors to this topic will appreciate it!
These simple actions take just seconds of your time, but go a long way in showing appreciation for community members and the LIVEcommunity as a whole!
The LIVEcommunity thanks you for your participation!