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
oh, and I meant to add Primary_Verified_Email is not a boolean attribute from AzureAD. What it is is an attribute used for users with multiple identities spread across multiple AzureADs. I think. I used to have a link to a doc that referred to it but now I can't find it.
jg
thank you @Jeffrey_Goldberg
I’ve lost access to few private sheets after deleting a developer user for updating his email, expecting that as the user idp entity didn’t changed (bad idea, as now I know that user id is what meter) it it will keep the access to all app content...
So, there is any way to retrieve this private sheets as the old user was excluded?
@Jeffrey_Goldberg - thanks for the explanation. Before I saw that I put verified_primary_email (from Azure AD) into the email_verified field (in QS SaaS) and I'm getting email addresses populated in the User list in QS SaaS. Perhaps any value in there is being interpreted as true?
Hi Jeff,
Are there any updates to this issue or maybe a more detailed guide on how to do the aforementioned workaround?
We have the first larger client in Denmark that we are migrating to SaaS, and this is problematic as some core functionality like Alerts and sharing doesn't really work.
Looking forward hearing from you!
I finally got round to setting up the extension attribute for our users. Here's what I did for the record... I could merge some of these commands using some better PowerShell wizardry but I wanted to see it through step by step:
Installed AzureAD PowerShell module (I used the preview version and just in my profile):
Install-Module AzureADPreview -Scope CurrentUser
Completed this as Azure tenant admin:
Connect-AzureAD
Made a note of the ObjectId from here:
Get-AzureADApplication -SearchString "Qlik Cloud"
Ran this to create the Extension Property and noted the ExtensionId:
New-AzureADApplicationExtensionProperty -ObjectId [insert Id from earlier Application Search] -Name "email_verified" -DataType "Boolean" -TargetObjects "User"
Identified a test user:
$MyUser = Get-AzureADUser -SearchString "alex"
Set the property for the test user:
Set-AzureADUserExtension -ObjectId $MyUser.ObjectId -ExtensionName extension_[ExtensionId]_email_verified -ExtensionValue true
Then I added the optional claim in the App Registration in Azure AD.
Then I made sure I had the email_verified claim in Qlik Sense SaaS admin console set to "extn.email_verified".
Then finally I logged in as my test user and saw the email address appear in the user list and could see in api/v1/diagnose-claims it was being passed OK.
Next steps - see if I can automatically set this property for all valid users and then see if I can also use this to send the SAMAccountName!
The issue with Azure AD not using email_verified correctly appears to be fixed now:
@ergustafsson - great spot thanks! Much better than the Extension/PowerShell workaround!
Hi there,
at the end of the article is a script mentioned "Attached to this document is a guide for using script to delete groups from a Qlik Sense Enterprise SaaS tenant."
Where can I find this document?
Cheers,
Maurits
Hello @reinaerts!
I've reached out to Jeff to see if we can find the file ASAP 🙂
Sorry folks, I thought I had changed the attachment to a link to this support kb here: https://community.qlik.com/t5/Support-Knowledge-Base/Deleting-guid-group-values-from-Qlik-Cloud-Serv...
This document has the information required to remove guid groups.
jg