I was confused about EJBContext.getCallerPrincipal() signature?

Looks like Subject and Principal can both refer to identity. But from following:

Subject may have many Principals. For example, a person may have a name Principal ("John Doe") and a SSN Principal ("123-45-6789"), which distinguish it from other subjects.

Why not use Subject instead of Principal to identify the caller? In J2ee specifications, we are also talking about Principal, not Subject?

Thanks & Best Regards,