PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak przekazać klucz tajny DB AWS do tomcat context.xml?

Jeśli chcesz dynamicznie załadować poświadczenia DB. Możliwe jest tylko na czas, gdy Tomcat ładuje context.xml raz (ponieważ Tomcat odczytuje zmienną środowiskową tylko raz podczas uruchamiania).

Zwróć uwagę, że w czasie wykonywania zawsze, gdy contxt.xml zmienić odpowiednie przeładowania aplikacji internetowych. Tomcat nie jest restartowany.

Sztuczka polega więc na tym, aby dostarczyć poświadczenia bazy danych jako parametr/argument JVM, jak powyższy ${catalina.base}

Istnieją 3 etapy:

  1. Zadeklaruj i ustaw wartość zmiennej środowiskowej:

    export DB_CREDENTIALS='*****'
    

    Dobrym miejscem jest skrypt logowania użytkownika Tomcat.bash_profile lub środowiska Tomcat setenv.sh

  2. Utwórz parametr JVM (zmienna systemowa) dla zmiennej środowiskowej:dodaj następujący wiersz do setenv.sh przed ostatnią linią.

    -Denvironment.db.credentials=${DB_CREDENTIALS} \
    
  3. Użyj/wywołaj zadeklarowany parametr JVM w context.xml. Na przykład:

    url="jdbc:postgresql://**********:****/${environment.db.credentials}"
    



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przekazywanie param do DB .execute dla listy WHERE IN... INT

  2. WYJAŚNIENIE PostgreSQL – Jakie są koszty zapytań?

  3. postgres:Co właściwie robi zapytanie „wybierz * od użytkownika”?

  4. Jak rzutować datę null w natywnym Query w trybie hibernacji?

  5. Alias ​​funkcji dla domyślnej funkcji Postgresa