Come sottolinea Guido nel suo commento, dipende in gran parte dal sistema di destinazione. Se il sistema di destinazione ha API / interfacce chiaramente definite che è possibile proteggere, XACML avrebbe più senso (XACML ha un'architettura in cui un punto di applicazione della politica intercetta un flusso e invia una richiesta di autorizzazione a un punto di decisione della politica).
Se, d'altra parte, il sistema di destinazione non ha API (ad esempio, è principalmente un'interfaccia utente / portale Web) e se il sistema di destinazione dispone di un modello di autorizzazione basato su ruoli / attestazioni basato su ruoli, quindi dovresti mirare a dichiarazioni di attributi all'interno della tua asserzione SAML che possono essere usate come asserzioni / rivendicazioni nel sistema di destinazione.
Il vantaggio di SAML su XACML in questo scenario è che probabilmente è meno dirompente. Il vantaggio di XACML rispetto a SAML è che è più a grana fine e può occuparsi del contesto (ora del giorno, dispositivo ...)
È ancora possibile utilizzare XACML sul lato IdP quando il token SAML viene emesso per eseguire il provisioning delle attestazioni all'interno del token SAML.
Quindi, che cosa vuoi proteggere? Controlli il sistema di destinazione?