<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Modernworkplaceconcierge on Nicola Suter</title><link>https://nicolasuter.ch/tags/modernworkplaceconcierge/</link><description>Recent content in Modernworkplaceconcierge on Nicola Suter</description><generator>Hugo -- gohugo.io</generator><language>en-US</language><copyright>© 2026 Nicola Suter</copyright><lastBuildDate>Mon, 20 Apr 2020 19:22:33 +0000</lastBuildDate><atom:link href="https://nicolasuter.ch/tags/modernworkplaceconcierge/rss.xml" rel="self" type="application/rss+xml"/><item><title>Document Conditional Access Configuration with my Modern Workplace Concierge</title><link>https://nicolasuter.ch/document-conditional-access-configuration/</link><pubDate>Mon, 20 Apr 2020 19:22:33 +0000</pubDate><guid>https://nicolasuter.ch/document-conditional-access-configuration/</guid><description>&lt;p&gt;Documenting things sucks. If it involves a lot of klick(edi klack klack) in portals and copying information around even more. But there&amp;rsquo;s hope. And it&amp;rsquo;s called automation. For the Intune part Thomas Kurt did already an awesome job with his &lt;a href="https://github.com/ThomasKur/IntuneDocumentation" target="_blank" rel="noreferrer"&gt;IntuneDocumentation&lt;/a&gt;.  Now the &lt;a href="https://mwconcierge.azurewebsites.net/" target="_blank" rel="noreferrer"&gt;Modern Workplace Concierge&lt;/a&gt; is ready to help you with documenting your Conditional Access configuration. I promise you: we will get through this within under 15 minutes! Afterwards you can make an impression on your fellow Enterprise Mobility teammates.&lt;/p&gt;

&lt;h3 class="relative group"&gt;What&amp;rsquo;s inside?
 &lt;div id="whats-inside" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#whats-inside" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;p&gt;A Conditional Access policy is returned by the Microsoft Graph API in the following JSON representation:&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;
{
 "id": "714b5737-5f13-415e-bf96-d659f3a5928e",
 "displayName": "PROD - Admin protection - Azure management: Require MFA",
 "createdDateTime": null,
 "modifiedDateTime": null,
 "state": "enabled",
 "grantControls": {
 "operator": "OR",
 "builtInControls": [
 "mfa"
 ],
 "customAuthenticationFactors": [],
 "termsOfUse": []
 },
 "conditions": {
 "signInRiskLevels": [],
 "clientAppTypes": [],
 "platforms": null,
 "locations": null,
 "deviceStates": null,
 "applications": {
 "includeApplications": [
 "797f4846-ba00-4fd7-ba43-dac1f8f63013"
 ],
 "excludeApplications": [],
 "includeUserActions": []
 },
 "users": {
 "includeUsers": [
 "All"
 ],
 "excludeUsers": [],
 "includeGroups": [],
 "excludeGroups": [
 "04988d96-ad01-4569-9aee-a199a1cb4f8e"
 ],
 "includeRoles": [],
 "excludeRoles": []
 }
 },
 "sessionControls": null
}
&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;That&amp;rsquo;s not really human readable. Especially the object id&amp;rsquo;s  (32 character UUIDs) make it difficult to guess to which users or apps a policy is assigned. But an API has definitely other goals than showing pretty formatted reports.&lt;/p&gt;</description></item></channel></rss>