2017-01-03 7 views

Antwort

5

Sie Software und Konfigurationsdaten an eine andere Partei zu geben, für die sie in ihrer Umgebung ausgeführt werden. Da sie diese Umgebung kontrollieren, gibt es keinen Grund zu der Annahme, dass Sie alles, was Sie vertraulich behandeln, behalten können. Insbesondere wenn Sie einen Weg mußten persistence.xml zu verschlüsseln, würde es wahrscheinlich wenig hilfreich gegen jeden anständigen Hacker sein, weil Ihr Programm muss de Krypta die Inhalte, bevor sie verwendet werden kann.

Ich nehme an, Sie sind am meisten besorgt über die Datenbank-Zugangsdaten und damit, dass Ihre Anwendung eine Verbindung zu einem zentralen von Ihnen verwaltet DB. Wenn Sie für Ihre Benutzer kein Mindestmaß an Vertrauen haben, ist dies ein eher fragwürdiger Plan.

Dennoch, wenn Sie auf diese Weise vorgehen, dann würde ich für jeden Benutzer separate Datenbank-Anmeldeinformationen zu schaffen vorschlagen, denen Sie Zugriff gewähren, und die für diese Benutzer so viel wie möglich gewährt Zugang Sperren. Die Verwendung einer Datenbank, die eine fein abgestimmte Zugriffskontrolle ermöglicht, kann hier helfen. Sie sollten auch in Erwägung ziehen, einen Audit-Trail/ein Transaktionslog ausreichend zu halten, um Schäden zu erkennen und zu korrigieren, die ein Benutzer möglicherweise ausführt (sei es durch einen Versuch, Sie zu hacken oder aufgrund eines Fehlers in der Software).

1

Sie können die Datei persistence.xml nicht verschlüsseln. Aber statt die Eigenschaften in der persistence.xml setzen können Sie eine Karte übergeben, wenn die EntityManger Schaffung

EntityManager createEntityManager(SynchronizationType synchronizationType, Map map) 

http://docs.oracle.com/javaee/7/api/javax/persistence/EntityManagerFactory.html#createEntityManager-javax.persistence.SynchronizationType-java.util.Map-

So Sie in der Lage sind, die Eigenschaften in einer anderen Datei verschlüsselt haben. Aber Sie müssen die Anmeldeinformationen entschlüsseln und alles, was John gesagt hat, anwenden.

Verwandte Themen