teknik:infrastruktur:keycloak
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| teknik:infrastruktur:keycloak [2026/07/18 11:41] – created smarken | teknik:infrastruktur:keycloak [2026/07/18 15:07] (current) – [Udfordringer og Overvejelser] smarken | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | kladde | + | ====== Keycloak: Open Source Identitets- og Adgangsstyring (IAM) ====== |
| - | **Keycloak: Open Source Identitets- og Adgangsstyring (IAM)** | ||
| --- | --- | ||
| - | **Hvad er Keycloak?** | + | ===== Hvad er Keycloak? |
| + | |||
| **Keycloak** er et **åbent open source-projekt** udviklet af **Red Hat**, der tilbyder **identitets- og adgangsstyring (IAM)**. Det gør det muligt for organisationer at **sikre applikationer og tjenester** med **autentificering, | **Keycloak** er et **åbent open source-projekt** udviklet af **Red Hat**, der tilbyder **identitets- og adgangsstyring (IAM)**. Det gør det muligt for organisationer at **sikre applikationer og tjenester** med **autentificering, | ||
| Line 14: | Line 15: | ||
| - | **Hovedfunktioner i Keycloak** | + | ===== Hovedfunktioner i Keycloak |
| + | |||
| | **Funktion** | | **Funktion** | ||
| |----------------------------|-----------------------------------------------------------------------------------------------------| | |----------------------------|-----------------------------------------------------------------------------------------------------| | ||
| | **Single Sign-On (SSO)** | | **Single Sign-On (SSO)** | ||
| | **Brugerfederation** | | **Brugerfederation** | ||
| - | | **Multi-Factor Authentication (MFA)** | Ekstra sikkerhedslag som **SMS, TOTP (Google | + | | **Multi-Factor Authentication (MFA)** | Ekstra sikkerhedslag som **SMS, TOTP (Authenticator |
| | **Brugeradministration** | | **Brugeradministration** | ||
| | **Klientadministration** | | **Klientadministration** | ||
| Line 31: | Line 34: | ||
| - | **Hvordan kan Keycloak erstatte Microsoft-miljøprodukter? | + | |
| - | Keycloak kan erstatte **Microsoft Active Directory (AD), Azure Active Directory (Azure AD) og andre identitetsløsninger** i et Linux-baseret miljø. Her er hvordan: | + | ===== Hvordan kan Keycloak erstatte Microsoft-miljøprodukter? |
| + | |||
| + | |||
| + | Keycloak kan erstatte **Microsoft Active Directory (AD), Azure Active Directory (Azure AD) og andre identitetsløsninger** i et Linux-baseret miljø. | ||
| + | |||
| + | ==== Her er hvordan: | ||
| | **Microsoft-Produkt** | | **Microsoft-Produkt** | ||
| - | |-----------------------------|----------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------| | + | |-----------------------------|-------------------------------------------|----------------------------------------------------------| |
| | **Active Directory (AD)** | | **Active Directory (AD)** | ||
| | **Azure AD** | **Keycloak som cloud/ | | **Azure AD** | **Keycloak som cloud/ | ||
| Line 45: | Line 54: | ||
| - | **Overordnet Implementering i et Linux-miljø** | + | ===== Overordnet Implementering i et Linux-miljø |
| Line 51: | Line 61: | ||
| - | **1. Forudsætninger** | + | === 1. Forudsætninger |
| - | - **Server**: En Linux-server (f.eks. **Ubuntu, CentOS, SUSE**) med Java (OpenJDK 11+). | + | |
| + | - **Server**: En Linux-server (f.eks. **Debia, Rhel, SUSE**) med Java (OpenJDK 11+). | ||
| - **Database**: | - **Database**: | ||
| + | |||
| - **Reverse Proxy** (valgfrit): **Nginx** eller **Apache HTTP Server** for SSL-terminering og load balancing. | - **Reverse Proxy** (valgfrit): **Nginx** eller **Apache HTTP Server** for SSL-terminering og load balancing. | ||
| + | |||
| - **Certifikater**: | - **Certifikater**: | ||
| Line 60: | Line 74: | ||
| ---- | ---- | ||
| - | **2. Installation** | + | === 2. Installation |
| Keycloak kan installeres på flere måder: | Keycloak kan installeres på flere måder: | ||
| - | ##### **A. Docker (anbefalet til hurtig opsætning)** | + | **A. Docker (anbefalet til hurtig opsætning)** |
| - | ```bash | + | |
| - | docker run -d --name keycloak | + | < |
| - | -p 8080:8080 -p 8443: | + | bash |
| - | -e KEYCLOAK_ADMIN=admin | + | docker run -d --name keycloak |
| - | -e KEYCLOAK_ADMIN_PASSWORD=strongpassword | + | -p 8080:8080 -p 8443: |
| - | -e KC_DB=postgres | + | -e KEYCLOAK_ADMIN=admin |
| - | -e KC_DB_URL=jdbc: | + | -e KEYCLOAK_ADMIN_PASSWORD=strongpassword |
| - | -e KC_DB_USERNAME=keycloak | + | -e KC_DB=postgres |
| - | -e KC_DB_PASSWORD=dbpassword | + | -e KC_DB_URL=jdbc: |
| - | quay.io/ | + | -e KC_DB_USERNAME=keycloak |
| - | start-dev | + | -e KC_DB_PASSWORD=dbpassword |
| - | ``` | + | quay.io/ |
| - | > *Bemærk*: Erstat | + | start-dev |
| + | </code> | ||
| + | |||
| + | *Bemærk*: Erstat postgres med din database-server og opdater miljøvariablerne. | ||
| + | |||
| + | **B. Native Installation (via .tar.gz eller RPM/DEB)** | ||
| + | |||
| + | 1. Download Keycloak fra [[https:// | ||
| - | **B. Native Installation (via .tar.gz eller RPM/DEB)** | ||
| - | 1. Download Keycloak fra [keycloak.org](https:// | ||
| 2. Udpak og start serveren: | 2. Udpak og start serveren: | ||
| - | ```bash | + | < |
| + | bash | ||
| tar -xvf keycloak-*.tar.gz | tar -xvf keycloak-*.tar.gz | ||
| cd keycloak-*/ | cd keycloak-*/ | ||
| | | ||
| - | ``` | + | </ |
| - | 3. Adgang til admin-konsol: | + | |
| + | 3. Adgang til admin-konsol: | ||
| + | < | ||
| + | |||
| + | **C. Kubernetes (for skalerbare miljøer)** | ||
| - | **C. Kubernetes (for skalerbare miljøer)** | ||
| - Brug **Keycloak Operator** eller Helm-chart til at deploye i et Kubernetes-cluster. | - Brug **Keycloak Operator** eller Helm-chart til at deploye i et Kubernetes-cluster. | ||
| - | --- | + | ---- |
| - | **3. Grundlæggende Konfiguration** | + | |
| + | === 3. Grundlæggende Konfiguration | ||
| + | |||
| 1. **Opret et Realm**: | 1. **Opret et Realm**: | ||
| - Et **realm** er en logisk container for brugere, roller og klienter. | - Et **realm** er en logisk container for brugere, roller og klienter. | ||
| Line 116: | Line 144: | ||
| ---- | ---- | ||
| - | **4. Integration med Linux-tjenester** | + | |
| + | === 4. Integration med Linux-tjenester | ||
| | **Tjeneste** | | **Tjeneste** | ||
| - | |----------------------------|---------------------------------------------------------------------------------------| | + | |----------------------------|---------------------------------------------------------------------------| |
| | **Apache/ | | **Apache/ | ||
| | **SSH (Linux-servere)** | | **SSH (Linux-servere)** | ||
| Line 125: | Line 155: | ||
| | **Jenkins/ | | **Jenkins/ | ||
| - | --- | + | |
| - | **5. Sikkerhedsforanstaltninger** | + | ---- |
| + | |||
| + | === 5. Sikkerhedsforanstaltninger | ||
| + | |||
| - **HTTPS**: Altid brug **TLS/SSL** (f.eks. via Nginx eller direkte i Keycloak). | - **HTTPS**: Altid brug **TLS/SSL** (f.eks. via Nginx eller direkte i Keycloak). | ||
| + | |||
| - **Firewall**: | - **Firewall**: | ||
| + | |||
| - **Backup**: Sikkerhedskopier **databasen** og Keycloak-konfigurationen regelmæssigt. | - **Backup**: Sikkerhedskopier **databasen** og Keycloak-konfigurationen regelmæssigt. | ||
| + | |||
| - **Opdateringer**: | - **Opdateringer**: | ||
| - | --- | + | |
| - | --- | + | ---- |
| - | **Fordele ved at bruge Keycloak i et Linux-miljø** | + | |
| + | |||
| + | ===== Fordele ved at bruge Keycloak i et Linux-miljø | ||
| + | |||
| + | |||
| ✅ **Digital Suverænitet**: | ✅ **Digital Suverænitet**: | ||
| + | |||
| + | |||
| ✅ **Omkostningsbesparelser**: | ✅ **Omkostningsbesparelser**: | ||
| + | |||
| + | |||
| ✅ **Fleksibilitet**: | ✅ **Fleksibilitet**: | ||
| + | |||
| + | |||
| ✅ **Skalerbarhed**: | ✅ **Skalerbarhed**: | ||
| + | |||
| + | |||
| ✅ **Integration**: | ✅ **Integration**: | ||
| + | |||
| + | |||
| ✅ **Community & Support**: **Aktivt community** og kommerciel support tilgængelig via Red Hat. | ✅ **Community & Support**: **Aktivt community** og kommerciel support tilgængelig via Red Hat. | ||
| - | --- | + | |
| - | --- | + | |
| + | |||
| + | ---- | ||
| + | |||
| | | ||
| 1. **Installér Samba** på en Linux-server: | 1. **Installér Samba** på en Linux-server: | ||
| - | ```bash | + | < |
| - | sudo apt install samba | + | sudo apt install samba </ |
| - | ``` | + | |
| 2. **Konfigurer Samba til at bruge Keycloak**: | 2. **Konfigurer Samba til at bruge Keycloak**: | ||
| - Brug **Winbind** til at integrere med Keycloak via LDAP. | - Brug **Winbind** til at integrere med Keycloak via LDAP. | ||
| - Alternativt: | - Alternativt: | ||
| + | |||
| 3. **Opret brugerkonti i Keycloak** og synkroniser med Samba. | 3. **Opret brugerkonti i Keycloak** og synkroniser med Samba. | ||
| + | |||
| 4. **Test login** fra en Linux-klient: | 4. **Test login** fra en Linux-klient: | ||
| - | ```bash | + | < |
| - | | + | |
| - | ``` | + | |
| + | |||
| + | |||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Udfordringer og Overvejelser ===== | ||
| - | --- | ||
| - | --- | ||
| - | | ||
| ⚠ **Migration fra AD**: | ⚠ **Migration fra AD**: | ||
| - Kræver **planlægning** for at flytte brugere, grupper og politikker. | - Kræver **planlægning** for at flytte brugere, grupper og politikker. | ||
| - | - Værktøjer som **[AD2Keycloak](https:// | + | - Værktøjer som **https:// |
| ⚠ **Kompleksitet**: | ⚠ **Kompleksitet**: | ||
| Line 175: | Line 237: | ||
| --- | --- | ||
| - | --- | + | |
| - | | + | |
| + | | ||
| - **Prøv Keycloak i et testmiljø**: | - **Prøv Keycloak i et testmiljø**: | ||
| - | - **SUSE Kurser**: | + | |
| + | - **SUSE Kurser**: | ||
| - **Integrer med dine nuværende systemer**: Prøv at forbinde Keycloak til **Nextcloud, | - **Integrer med dine nuværende systemer**: Prøv at forbinde Keycloak til **Nextcloud, | ||
| + | ---- | ||
| + | **Læs mere** : (eksterne links) | ||
| + | |||
| + | |||
| + | https:// | ||
| + | |||
| + | |||
| + | --- | ||
teknik/infrastruktur/keycloak.1784374909.txt.gz · Last modified: by smarken
