kecloak : config bdd et tls, glossaire: ajout infos jdbc

This commit is contained in:
Tom David--Broglio 2023-12-26 12:14:27 +01:00
parent 063c6e8247
commit dca7e88633
2 changed files with 47 additions and 9 deletions

View file

@ -156,6 +156,8 @@ Toutes les pages à propos de [VPN](/_search?patterns=VPN)
## ODBC/JDBC
Java Database Connectivity est une API utilisée dans Java pour communiquer avec des bases de données. Il faut spécifier une URL jdbc pour se connecter à une base.
## OSPF
## PDF

View file

@ -35,7 +35,7 @@ Récupérer et extraire le zip de la release souhaitée
$ keycloak_folder=${keycloak_zip%".zip"}
```
On peut alors lancer Keycloak en mode *dev* pour tester ou développer des theme keycloak en configurant son admin:
On peut alors lancer Keycloak en mode *dev* pour tester ou développer des thèmes keycloak en configurant son admin:
* *Au lancement du serveur*
@ -55,13 +55,21 @@ Pour Lancer en production, il va falloir plus de configuration... voir [configur
## Configuration pour de la production
On peut specifier la configation via des envs, arguments, fichier de configuration ou KeyStore java
Ici simplifier on configurera via son fichier de configuration dans `$keycloak_folder/conf/keycloak.conf`
On supposera que nous nous trouvons dans le dossier d'installation Keycloack
Configuration d'une instance/server en prodution...
On peut spécifier de la configuration via des envs, arguments, fichier de configuration et KeyStore java. Celle-ci sera prise en comte dans cette ordre precedence (des env pourrons surcharger la conf en dur par exemple)
On peut voir la configuration qui sera chargé en jouant `$keycloak_folder/bin/kc.sh show-config`
Ici pour simplifier, on configurera via l'instance via son fichier de configuration dans `$keycloak_folder/conf/keycloak.conf`
>*Remarque* : la configuration par envs et arguments est persisté par Quarkus
La documentation complète de la configuration d'une instance en production : <https://www.keycloak.org/server/configuration>
### Base de données
Keycloak en production à besoin d'un accès à une base de donné
Keycloak en production a besoin d'un accès à une base de donnée
lien : [documentation keycloak configuration bdd](https://www.keycloak.org/server/db)
@ -71,19 +79,47 @@ Il faut créer une base de donnée (par défaut le schéma `keycloak`) et utilis
* [HowtoMySQL](/HowtoMySQL.md#créer-une-base-de-données-et-un-utilisateur-associé)
* Configuration par via fichier configuration
#### Configuration via fichier configuration `keycloak.conf`
> TODO
```{.ini}
# The database vendor.
db=postgres
# The username of the database user.
db-username=keycloak
# The password of the database user.
db-password=CHANGEZMOI
# The hostname of the default JDBC URL of the chosen vendor.
db-url-host=127.0.0.1
```
* Ou démarrer le serveur Keycloak en définissant les options de configuration
On peut spécifier en plus si besoin `db-url-port` pour le port ou même `db-url` pour spécifier entièrement l'URL [jdbc](/Glossaire.md#odbcjdbc)
#### Configuration via arguments au démarrage
```{.bash}
bin/kc.sh start --db mariadb --db-url-host mymariadb --db-username evocloak --db-password change_me
```
#### TLS
<https://www.keycloak.org/server/enabletls>
<https://www.keycloak.org/server/hostname>
Pour s'assurer de la securité sur une instance de production, on ne doit jamais exposer celle-ci en HTTP. Nous allons configurer celle-ci en HTTPS/TLS
Pour allons avoir besoin d'un certificat et de sa clef privé... voir [HowtoSSL](/HowtoSSL.md#générer-un-certificat-auto-signé)
```{.ini}
# The file path to a server certificate or certificate chain in PEM format.
https-certificate-file=/root/keycloak_certificat.crt
# The file path to a private key in PEM format.
https-certificate-key-file=/root/keycloak_private.key
```
### Haute disponibilité
keycloak est conçu pour fonctionner en haute disponibilitée avec [infinispan](https://infinispan.org/) (In-Memory Distributed Data Store)
keycloak est conçu pour fonctionner en haute disponibilité avec [infinispan](https://infinispan.org/) (In-Memory Distributed Data Store)
TODO https://www.keycloak.org/server/configuration-production -> https://www.keycloak.org/server/caching