Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
May 13, 2024 1:21:30 AM
Jan 11, 2021 8:55:44 AM
This article provides step-by-step instructions for implementing Azure AD as an identify provider for Qlik Cloud. We cover configuring an App registration in Azure AD and configuring group support using MS Graph permissions.
It guides the reader through adding the necessary application configuration in Azure AD and Qlik Sense Enterprise SaaS identity provider configuration so that Qlik Sense Enterprise SaaS users may log into a tenant using their Azure AD credentials.
Content:
Throughout this tutorial, some words will be used interchangeably.
The tenant hostname required in this context is the original hostname provided to the Qlik Enterprise SaaS tenant.
Copy the "value of the client secret" and paste it somewhere safe.After saving the configuration the value will become hidden and unavailable.
In the OpenID permissions section, check email, openid, and profile. In the Users section, check user.read.
Failing to grant consent to GroupMember.Read.All may result in errors authenticating to Qlik using Azure AD. Make sure to complete this step before moving on.
In this example, I had to change the email claim to upn to obtain the user's email address from Azure AD. Your results may vary.
While not hard, configuring Azure AD to work with Qlik Sense Enterprise SaaS is not trivial. Most of the legwork to make this authentication scheme work is on the Azure side. However, it's important to note that without making some small tweaks to the IdP configuration in Qlik Sense you may receive a failure or two during the validation process.
For many of you, adding Azure AD means you potentially have a bunch of clean up you need to do to remove legacy groups. Unfortunately, there is no way to do this in the UI but there is an API endpoint for deleting groups. See Deleting guid group values from Qlik Sense Enterprise SaaS for a guide on how to delete groups from a Qlik Sense Enterprise SaaS tenant.
Qlik Cloud: Configure Azure Active Directory as an IdP
Dear Jeff,
thanks a lot for the link. Just got a follow-up question: when I clean unwanted groups from Azure AD, then just some new unwanted groups pop up. Is there a possibility in Azure or Qlik to allow only certain groups to be synchronized and shown in the member list?
Cheers, Maurits
Hey @Jeffrey_Goldberg, I was struggling to get the "friendly" group names to appear in SaaS, however, after a lot digging and hacking about with Azure AD, I found your YouTube video:
https://www.youtube.com/watch?v=d3WpPGTmmC0
In the video, there is a step where you need to activate "Enable creation of groups" within the management console. Without this, you do not get the friendly names in the diagnose-claims nor when changing access in spaces
After un-doing all my hacking about in Azure AD, and creating a new IDP as per the video, it all worked as expected 🙂
Hi,
Wondering if someone can help. We have a scenario where client is moving to hybrid model (QSEoW and QSE on SaaS). on QSEoW they are using SAML authentication against AAD. We have set up the SaaS as well against the same AAD as IDP.
We have issue with user name across both environments. Since they are using signed license key, all their assigned users are showing up in the SaaS tenant, but with "IDB subject" different than the one we can achieve via OpenID tokens in azure. e.g., Their license tab in SaaS shows their "Idp Subject" as - "DOMAINNAME\user.name", where at best we were able to map in email address of each users to the "Idp sub" using the Azure AD token mapping.
Anyone know of any ways to resolve this issue? The same user end up being recognised/treated as two different users between the environments, causing lichenising issues.
Any help would be greatly appreciated, as we need to tackle this. We can of course update/manipulate/use transform on the SAML tokens, but can't do that to OpenID tokens, which is leaving me to wonder how to add the old format "domain\user.name" to each user?
@Jeffrey_Goldberg Can you help and point towards someone who can assist please?
@s_kabir_rab in the configuration for Qlik Sense SaaS IdP change the sub field to use sAMAccountName.
Resources to review: https://securecloud.blog/2019/06/06/add-samaccountname-to-azure-ad-access-token-jwt-with-claims-mapp...
You basically need to create a custom extension claim that includes the onpremisessamaccountname. You can set the realm to be the domain name if it does not appear in this claim.
@s_kabir_rab / @Jeffrey_Goldberg - The alternative is that you can configure both environments to use email address as the User ID and a custom domain as the User Directory/Realm. You can still sync your User Directory Connector but you have to use a Generic LDAP connection instead of Active Directory so you can customise the User ID. I wrote this up in a blog: Setting up a Qlik Sense Hybrid Environment - Ometis Blog
Thanks to both of you.
@AlexOmetis - I have setup the generic LDAP with email as user id, only to get overruled by the client's IT department, who preferred the old setup. I guess now it's time to either go through the hustle of claims mapping policy like @Jeffrey_Goldberg suggested or go back to my original suggestions of using email.
But really appreciate the help guys.
Has anyone put much thought into the on-boarding experience of new SaaS users when using Azure AD as the IDP? From our testing, it seems like the best route is to control access via the Azure 'Enterprise Application', and turning on automatic assignment of analyser licenses. Or if Analyser Capacity is in use, let them consume x minutes before assigning a license.
Unless I'm missing something, the new user needs to present themselves to SaaS before SaaS being aware of the new user. This isn't great.
It would be good to see a User Directory Connector implementation in SaaS, to sync from Azure AD (or whatever IDP) then assign a license (or Capacity). Auto assignment can be dangerous, if not controlling access via Azure (or other means)
Thoughts guys? @Jeffrey_Goldberg @s_kabir_rab @AlexOmetis
@Carl_Hunter - there are some API available but not sure if they are documented that allows running of license allocation rules based on user groups. I will test this next week to confirm. But you are right, we do not want lots of pro and analyser users comsuming capacity allocations on their first land when the other 2 auto allocations are switched off.
Thanks Kab @s_kabir_rab - we'll do some digging too, shall we update this thread with our findings?
We had a similar problem in our test envrionment. we solved it by using the (preview) feature of azure ad which allows for emitting custom claims.
The custom claim we used was email name part which we then mapped as the subject. and used a static domain
then the idp subject was DOMAIN\emailnamepart as was the case in our QSEoW environemnt and so only one license was consumed across both envrionmnets