<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Conditional-Access on Nicola Suter</title><link>https://nicolasuter.ch/tags/conditional-access/</link><description>Recent content in Conditional-Access on Nicola Suter</description><generator>Hugo -- gohugo.io</generator><language>en-US</language><copyright>© 2026 Nicola Suter</copyright><lastBuildDate>Fri, 18 Oct 2019 22:06:04 +0000</lastBuildDate><atom:link href="https://nicolasuter.ch/tags/conditional-access/rss.xml" rel="self" type="application/rss+xml"/><item><title>Conditional Access and Azure Log Analytics in Harmony</title><link>https://nicolasuter.ch/conditional-access-and-azure-log-analytics-in-harmony/</link><pubDate>Fri, 18 Oct 2019 22:06:04 +0000</pubDate><guid>https://nicolasuter.ch/conditional-access-and-azure-log-analytics-in-harmony/</guid><description>&lt;p&gt;Auditing Conditional Access events and changes is crucial regarding your hygiene in Azure AD for your modern workplace. With the goal that we receive appropriate notifications and alerts if special events occur. Thanks to Azure Log Analytics (also referred to as Azure Monitor) we can easily filter and create alerts based on events. This post starts where most of the others end - giving you practical examples of KUSTO queries to search your Azure AD Audit logs with Log Analytics.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Default log retention in AAD
 &lt;div id="default-log-retention-in-aad" 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="#default-log-retention-in-aad" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;A point which get&amp;rsquo;s raised often is the default log retention in Azure Active Directory (AAD). Azure Active Directory stores all activity reports depending on your license for 7 or 30 days:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Azure AD Free and Basic: 7 days&lt;/li&gt;
&lt;li&gt;Azure AD Premium P1  and P2: 30 days&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="https://docs.microsoft.com/en-us/azure/active-directory/reports-monitoring/reference-reports-data-retention#how-long-does-azure-ad-store-the-data" target="_blank" rel="noreferrer"&gt;Source, more Information.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;To retain and further process Azure Active Directory Audit Logs for a longer time period (because a 30 day audit trail is likely too short for most organizations) we can:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Stream to an &lt;a href="https://azure.microsoft.com/en-in/services/event-hubs/" target="_blank" rel="noreferrer"&gt;Azure Event Hub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Archive to Blob Storage&lt;/li&gt;
&lt;li&gt;Forward them to Azure Log Analytics&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;With Log Analytics the KUSTO query language can be used to query the forwarded log entries and we can create alert rules based on custom queries.&lt;/p&gt;</description></item><item><title>5 Ways to Screw Up Conditional Access</title><link>https://nicolasuter.ch/5-ways-to-screw-up-conditional-access/</link><pubDate>Wed, 28 Aug 2019 08:34:02 +0000</pubDate><guid>https://nicolasuter.ch/5-ways-to-screw-up-conditional-access/</guid><description>&lt;p&gt;Nowadays where cloud services are available from all over the world we cannot (only) rely on trusted networks and on identities protected by usernames and passwords. Conditional access allows you to define granular controls whether an identity can access cloud applications. Based on the positive feedback for my &amp;ldquo;&lt;a href="https://nicolasuter.ch/5-ways-to-screw-up-your-intune-tenant/" &gt;5 Ways to Screw up your Intune Tenant&lt;/a&gt;&amp;rdquo; post I felt empowered to get conditional access covered as well.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Chose your platform wisely
 &lt;div id="chose-your-platform-wisely" 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="#chose-your-platform-wisely" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;If you intend to use the device platform filter make sure that you cover all platforms including unknown platforms. Otherwise your might have a lack in your battleship. &lt;a href="https://nicolasuter.ch/bypassing-conditional-access-device-platform-policies/" &gt;Also note that platform detection is based on best effort and can be exploited&lt;/a&gt;.&lt;/p&gt;
&lt;figure&gt;&lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt="Platform"
 src="https://nicolasuter.ch/content/images/2019/08/conditional-access-device-platform.png"
 &gt;&lt;/figure&gt;

&lt;h2 class="relative group"&gt;Long live legacy
 &lt;div id="long-live-legacy" 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="#long-live-legacy" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Mind the client apps configuration to ensure that your conditional access policies also apply to non-modern authentication clients. If you have created your conditional access policies in the early days of the product you didn&amp;rsquo;t have this option available.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Something that has created some confusion is that conditional access policies don&amp;rsquo;t include legacy authentication clients by default, this means that if you have a conditional access policy enforcing MFA for all users and all cloud apps, it doesn&amp;rsquo;t block legacy authentication clients (or &amp;ldquo;Other clients&amp;rdquo;, as the CA UI refers to them) - Sue Bohn, Microsoft&lt;/p&gt;</description></item><item><title>Bypassing Conditional Access Device Platform Policies</title><link>https://nicolasuter.ch/bypassing-conditional-access-device-platform-policies/</link><pubDate>Tue, 02 Jul 2019 17:12:06 +0000</pubDate><guid>https://nicolasuter.ch/bypassing-conditional-access-device-platform-policies/</guid><description>&lt;p&gt;Recently I read &lt;a href="https://techcommunity.microsoft.com/t5/Azure-Active-Directory-Identity/Azure-AD-Mailbag-Conditional-Access-Q-amp-A/ba-p/566492" target="_blank" rel="noreferrer"&gt;a great article from the Microsoft IAM Director Sue Bohn&lt;/a&gt; concerning a Conditional Access Q&amp;amp;A. One question was about the device platform feature - which let&amp;rsquo;s you apply a policy only to a specific device platform like iOS, Android or Windows 10.&lt;/p&gt;
&lt;p&gt;The detection of the device platform relies on the user agent string sent by the application or web browser. Because this one can be spoofed easily better configure your Conditional Access policies wisely.&lt;/p&gt;

&lt;h2 class="relative group"&gt;The problem
 &lt;div id="the-problem" 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="#the-problem" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;As soon as you enable the device platform selection there&amp;rsquo;s the chance that a user doesn&amp;rsquo;t catch any Conditional Access policy.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;As a result, you should &lt;u&gt;not rely&lt;/u&gt; on the User Agent String to be present or to be accurate. Most browsers have a function to set an arbitrary User Agent String for testing purposes. (Microsoft)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 class="relative group"&gt;Bypass example
 &lt;div id="bypass-example" 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="#bypass-example" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;To give you an example, here&amp;rsquo;s a little walk-through:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Conditional Access Policy configured for all cloud apps&lt;/li&gt;
&lt;li&gt;Windows 10 selected as device platform&lt;/li&gt;
&lt;li&gt;Access control: Block&lt;/li&gt;
&lt;/ul&gt;
&lt;figure class="kg-card kg-image-card"&gt;&lt;img src="https://nicolasuter.ch/content/images/2019/07/conditional-access-policy.png" class="kg-image"&gt;&lt;/figure&gt;
&lt;p&gt;If we now try to access the azure portal with a Windows 10 app or browser we get the following result:&lt;/p&gt;</description></item></channel></rss>