<div dir="ltr"><div>I am experiencing problems with O365 that some subset of our population can log in just fine while another subset of our population gets treated like they are unknown users after successfully authenticating at our IdP. I know MS uses an ImmutableID to match up users that is based on objectGUID. From my configuration, I have intended to only release UserId and ImmutableID to their SP per the documentation. But looking at my logs/traces, I seem to be releasing 3 attributes in the assertion... the extra one being transientID, something my configuration normally releases to all SPs, but the sample code seems to already want to deny this... but the deny rule appears to be ignored in my setup. What I think is happening is MS is confusing the two name identifiers being released in each assertion... for those users who work, its because of the ImmutableID, and those that don't, its because of the transientID. </div>
<div><br></div><div>My question is, why is the transientID being released? Is it a case of first match wins in policy processing order instead of most restrictive? If that is so, I could use a little help on the XML, how can I modify the transientID release to include multiple basic:NOT conditions (to not release to Google AND Microsoft)?</div>
<div><br></div><div>Here is the relevant sections (in order) of my attribute-filter.xml</div><div><br></div><div> <!-- Release the transient ID to anyone (except Google) --></div><div> <afp:AttributeFilterPolicy id="releaseTransientIdToAnyone"></div>
<div> <afp:PolicyRequirementRule xsi:type="basic:NOT"></div><div> <basic:Rule xsi:type="basic:AttributeRequesterString" value="<a href="http://google.com/a/uncg.net">google.com/a/uncg.net</a>" /></div>
<div> </afp:PolicyRequirementRule></div><div> <afp:AttributeRule attributeID="transientId"></div><div> <afp:PermitValueRule xsi:type="basic:ANY" /></div><div> </afp:AttributeRule></div>
<div> </afp:AttributeFilterPolicy></div><div><br></div><div><div> <!-- Attribute Filter Policy for Windows Azure AD --></div><div> <afp:AttributeFilterPolicy id="PolicyForWindowsAzureAD"></div>
<div> <afp:PolicyRequirementRule xsi:type="basic:AttributeRequesterString" value="urn:federation:MicrosoftOnline"/></div><div> <!-- Release userPrincipalName as Windows Azure AD User ID --></div>
<div> <afp:AttributeRule attributeID="UserId"></div><div> <afp:PermitValueRule xsi:type="basic:ANY"/></div><div> </afp:AttributeRule></div><div> <!-- Release Immutable ID to Windows Azure AD --></div>
<div> <afp:AttributeRule attributeID="ImmutableID"></div><div> <afp:PermitValueRule xsi:type="basic:ANY"/></div><div> </afp:AttributeRule></div><div> <!-- Note: it is not recommended to send transientId to Windows Azure AD --></div>
<div> <afp:AttributeRule attributeID="transientId"></div><div> <afp:DenyValueRule xsi:type="basic:ANY"/></div><div> </afp:AttributeRule></div><div> </afp:AttributeFilterPolicy></div>
</div><div><br></div>-- <br><div dir="ltr"><div>Robert W. Gorrell<br>Systems Architect, Identity and Access Management </div>
<div>University of NC at Greensboro<br><span style="white-space:nowrap">336-334-5954</span><br>PGP Key ID B36DB0CA<br></div></div>
</div>