Still only me out here
A bean's method can only get client security information if there is a client. This is why it is possible from the ejbCreate() and ejbRemove() methods of a stateful session bean and an entity bean but not of a stateless session bean.
As for the ejbActivate() and ejbPassivate() methods of an entity bean ... When ejbActivate() is run, it is still not ready to deal with a business method, ejbLoad() must then be invoked. So, you can therefore get client security information from ejbLoad().
When ejbPassivate() is run, ejbStore() will already have been run. You can get client security information from ejbStore(). ejbPassivate() is really about transitioning the bean from the ready to the pooled state, and at this point in the life cycle it has no client.
I'm ready to be corrected on this ...