Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
de:shibidp:config-advanced:config-idp-auth-for-entra [2024/10/09 09:12] – angelegt Michael Simonde:shibidp:config-advanced:config-idp-auth-for-entra [2024/10/09 09:18] (aktuell) Michael Simon
Zeile 7: Zeile 7:
 Shibboleth-seitig ist es allerdings möglich eine andere ID als persistente NameID zu übertragen. Dazu definieren wir in der global.xml eine Condition, die nur bei dem MicrosoftOnline Service Provider triggert: Shibboleth-seitig ist es allerdings möglich eine andere ID als persistente NameID zu übertragen. Dazu definieren wir in der global.xml eine Condition, die nur bei dem MicrosoftOnline Service Provider triggert:
  
- <bean id="AzureADCondition" parent="shibboleth.Conditions.RelyingPartyId"+  <bean id="AzureADCondition" parent="shibboleth.Conditions.RelyingPartyId"
     c:_0="#{{'urn:federation:MicrosoftOnline'}}" />     c:_0="#{{'urn:federation:MicrosoftOnline'}}" />
  
Zeile 15: Zeile 15:
  
     <util:list id="shibboleth.SAML2NameIDGenerators">     <util:list id="shibboleth.SAML2NameIDGenerators">
-    +      
         <ref bean="shibboleth.SAML2TransientGenerator" />         <ref bean="shibboleth.SAML2TransientGenerator" />
 +  
         <!-- ref bean="shibboleth.SAML2PersistentGenerator" / -->         <!-- ref bean="shibboleth.SAML2PersistentGenerator" / -->
 +  
  <bean parent="shibboleth.SAML2PersistentGenerator">  <bean parent="shibboleth.SAML2PersistentGenerator">
               <property name="activationCondition">               <property name="activationCondition">
Zeile 35: Zeile 35:
      </property>      </property>
  </bean>  </bean>
-...+   ...
  
 Um die passende ID für MicrosoftOnline zu generieren, benötigen wir einen AttributeSource Generator: Um die passende ID für MicrosoftOnline zu generieren, benötigen wir einen AttributeSource Generator:
  
-...+  ...
  <bean parent="shibboleth.SAML2AttributeSourcedGenerator"  <bean parent="shibboleth.SAML2AttributeSourcedGenerator"
             p:format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent"             p:format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent"
Zeile 71: Zeile 71:
 Das zweite Attribut "IDPEmail" wird von AzureAD erwartet und sollte die primäre E-Mail Adresse des Benutzers enthalten. Auf alle Fälle, muss sie dem entsprechen, was bei der Erstellung der Benutzer im AzureAD verwendet wird. Das Mapping scheint nicht zu funktionieren, wenn einer der beiden Werte nicht stimmt. Das zweite Attribut "IDPEmail" wird von AzureAD erwartet und sollte die primäre E-Mail Adresse des Benutzers enthalten. Auf alle Fälle, muss sie dem entsprechen, was bei der Erstellung der Benutzer im AzureAD verwendet wird. Das Mapping scheint nicht zu funktionieren, wenn einer der beiden Werte nicht stimmt.
  
-Weitere Konfigurationen sind in der relying-party.xml notwendig, da AzuerAD eine signierte Assertion voraussetzt und nicht mit einer signierten SAML Response zufrieden ist. An dieser Stelle sollte man nochmal sicherheitshalber das preferierte NameID Format festlegen. In den Metadaten des MicrosoftOnline SP stehen zwar mehrere zur Auswahl, tatsächlich scheint aber nur die persitente NameID untersützt zu werden.+Weitere Konfigurationen sind in der relying-party.xml notwendig, da AzuerAD eine signierte Assertion voraussetzt und nicht mit einer signierten SAML Response zufrieden ist. An dieser Stelle sollte man nochmal sicherheitshalber das preferierte NameID Format festlegen. In den Metadaten des MicrosoftOnline SP stehen zwar mehrere zur Auswahl, tatsächlich scheint aber nur die persistente NameID untersützt zu werden.
  
     <util:list id="shibboleth.RelyingPartyOverrides">     <util:list id="shibboleth.RelyingPartyOverrides">
          
-... +  ... 
 +  
         <bean parent="RelyingPartyByName"         <bean parent="RelyingPartyByName"
               c:relyingPartyIds="#{{ 'urn:federation:MicrosoftOnline' }}">               c:relyingPartyIds="#{{ 'urn:federation:MicrosoftOnline' }}">
Zeile 102: Zeile 102:
 Jetzt fehlen noch die Metadaten des MicrosoftOnline SPs. Diese können durch folgende Konfiguration in der metadata-providers.xml geladen werden: Jetzt fehlen noch die Metadaten des MicrosoftOnline SPs. Diese können durch folgende Konfiguration in der metadata-providers.xml geladen werden:
  
-<MetadataProvider id="ShibbolethMetadata" xsi:type="ChainingMetadataProvider" +  <MetadataProvider id="ShibbolethMetadata" xsi:type="ChainingMetadataProvider" 
- +   
-... +  ... 
 +  
     <MetadataProvider id="URLMD-MicrosoftAzureAD"     <MetadataProvider id="URLMD-MicrosoftAzureAD"
                       xsi:type="FileBackedHTTPMetadataProvider"                       xsi:type="FileBackedHTTPMetadataProvider"
Zeile 111: Zeile 111:
                       metadataURL="https://nexus.microsoftonline-p.com/federationmetadata/saml20/federationmetadata.xml"                       metadataURL="https://nexus.microsoftonline-p.com/federationmetadata/saml20/federationmetadata.xml"
                       maxRefreshDelay="PT2H">                        maxRefreshDelay="PT2H"> 
 +  
  <MetadataFilter xsi:type="EntityRoleWhiteList">  <MetadataFilter xsi:type="EntityRoleWhiteList">
             <RetainedRole>md:SPSSODescriptor</RetainedRole>             <RetainedRole>md:SPSSODescriptor</RetainedRole>
         </MetadataFilter>         </MetadataFilter>
-        +          
     </MetadataProvider>     </MetadataProvider>
          
-</MetadataProvider>+  </MetadataProvider>
  
 Damit der MicrosoftOnline SP das IDPEmail Attribut erhält, wird noch eine Freigabe in der attribute-filter.xml benötigt: Damit der MicrosoftOnline SP das IDPEmail Attribut erhält, wird noch eine Freigabe in der attribute-filter.xml benötigt:
  
- <AttributeFilterPolicy id="releaseMicrosoftWindowsAzureAD">+    <AttributeFilterPolicy id="releaseMicrosoftWindowsAzureAD">
         <PolicyRequirementRule xsi:type="Requester" value="urn:federation:MicrosoftOnline" />         <PolicyRequirementRule xsi:type="Requester" value="urn:federation:MicrosoftOnline" />
                                
Zeile 131: Zeile 131:
                 <PermitValueRule xsi:type="ANY"/>                 <PermitValueRule xsi:type="ANY"/>
         </AttributeRule>         </AttributeRule>
- </AttributeFilterPolicy>+    </AttributeFilterPolicy>
  
 Mit diesen Änderungen an der Konfiguration konnten wir z.B. office.com mit AzureAD und Authentifizierung gegen einen Shibboleth Identity Provider verwenden.  Mit diesen Änderungen an der Konfiguration konnten wir z.B. office.com mit AzureAD und Authentifizierung gegen einen Shibboleth Identity Provider verwenden. 
  • Zuletzt geändert: vor 6 Monaten