FreeIPA Account Manager (FIPAM) - A tool for managing user-based identities from FreeIPA.
565
This is a web application built with Go (Golang) and Gin framework that allows users to update their public SSH keys and change their passwords in a FreeIPA environment. The application authenticates users via LDAP and provides a secure and user-friendly interface for managing their credentials.
ldapProtocol to ldap for unencrypted connections.ldapProtocol to ldaps for encrypted connections.If you are using ldaps, you need to get the CA trusted fingerprint from your FreeIPA server. Here is how you can retrieve it:
Replace your_ldap_server.corp with your ldaps-FQDN or IP and extract the fingerprint using openssl:
echo | openssl s_client -connect your_ldap_server.corp:636 -showcerts 2>/dev/null | openssl x509 -fingerprint -noout -sha256 | sed 's/://g'
Copy the SHA256 fingerprint and add it to your env-variables:
-e CA_FINGERPRINT="your_ca_fingerprint"
podman run -d -p 8080:8080 --name fipam \
-e LDAP_SERVER="your_ldap_server.corp" \
-e LDAP_PORT=636 \
-e LDAP_BASE_DN="dc=example,dc=corp" \
-e LDAP_USER_DN="cn=users,cn=accounts,dc=example,dc=corp" \
-e LDAP_BIND_USER="uid=ldap_bind,cn=sysaccounts,cn=etc,dc=example,dc=corp" \
-e LDAP_BIND_PASS="**************************" \
-e LDAP_PROTOCOL="ldaps" \
-e CA_FINGERPRINT="your_ca_fingerprint" \
-e SERVER_PORT=8080 \
-e SUBDIRECTORY_PREFIX="/your_custom_subdirectory_if_needed" \
-e DEBUG=false \
swissmakers/fipam:latest
vim /etc/systemd/system/freeipa-account-manager.service
[Unit]
Description=FreeIPA Account Manager
Wants=network.target
After=network.target
Requires=podman.service
[Service]
Environment="SERVICE=Prod-FIPAM"
Type=simple
TimeoutStartSec=30s
ExecStartPre=-/usr/bin/podman rm -f ${SERVICE}
ExecStart=/usr/bin/podman run --name ${SERVICE} \
-p 3030:8080 \
--dns=172.16.10.xx \
--dns=172.16.10.xx \
-e "TZ=Europe/Zurich" \
-e LDAP_SERVER="your_ldap_server.corp" \
-e LDAP_PORT=636 \
-e LDAP_BASE_DN="dc=example,dc=corp" \
-e LDAP_USER_DN="cn=users,cn=accounts,dc=example,dc=corp" \
-e LDAP_BIND_USER="uid=ldap_bind,cn=sysaccounts,cn=etc,dc=example,dc=corp" \
-e LDAP_BIND_PASS="**************************" \
-e LDAP_PROTOCOL="ldaps" \
-e CA_FINGERPRINT="your_ca_fingerprint" \
-e SERVER_PORT=8080 \
-e SUBDIRECTORY_PREFIX="/your_custom_subdirectory_if_needed" \
-e DEBUG=false \
-v /etc/localtime:/etc/localtime:ro \
registry.swissmakers.ch/infra/fipam:latest
ExecReload=-/usr/bin/podman stop ${SERVICE}
ExecReload=-/usr/bin/podman rm ${SERVICE}
ExecStop=-/usr/bin/podman stop ${SERVICE}
Restart=always
RestartSec=30
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable --now freeipa-account-manager.service
http://localhost:8080.This project is licensed under the MIT License.
Content type
Image
Digest
sha256:ea2ec786a…
Size
92.2 MB
Last updated
7 months ago
docker pull swissmakers/fipam