Passa al contenuto principale
Versione: 0.5.3

Authentik su Aruba Cloud

Esegui il deployment di Authentik — un provider di identità moderno e open-source con supporto a SSO, OIDC, OAuth2, SAML, LDAP e SCIM — su Aruba Cloud tramite Terraform e cloud-init. Distribuito via Docker Compose con PostgreSQL e Redis.

Versione provider: arubacloud/arubacloud ~> 1.0 | Terraform: ≥ 1.9


Introduzione​

Authentik è un'alternativa più leggera a Keycloak, con un'interfaccia admin raffinata e flussi di autenticazione flessibili. Questo esempio esegue il deployment di:

  • Server Authentik e worker tramite l'immagine Docker ufficiale
  • PostgreSQL 16 per la persistenza dei dati
  • Redis per il caching e la gestione dei task
  • Interfaccia web su HTTP porta 9000 e HTTPS porta 9443 (certificato autofirmato)
  • Wizard di configurazione al primo accesso

Confronto con Keycloak: Consulta l'esempio Keycloak per un provider di identità alternativo. Authentik eccelle nei deployment leggeri e ha un'interfaccia più moderna; Keycloak è più adatto per federazione enterprise e conformità agli standard.


Panoramica dell'architettura​


Infrastruttura creata​

RisorsaPattern del nomeDescrizione
arubacloud_projectauth-prodContenitore del progetto
arubacloud_vpcauth-prod-vpcVirtual Private Cloud
arubacloud_subnetauth-prod-subnetSubnet base
arubacloud_securitygroupauth-prod-vm-sgSecurity group
arubacloud_securityruleauth-prod-vm-sshRegola ingress SSH
arubacloud_securityruleauth-prod-vm-httpPorta HTTP 9000 di Authentik
arubacloud_securityruleauth-prod-vm-httpsPorta HTTPS 9443 di Authentik
arubacloud_elasticipauth-prod-vm-eipIP pubblico della VM
arubacloud_blockstorageauth-prod-bootDisco di boot da 20 GB (Performance)
arubacloud_keypairauth-prod-keypairChiave pubblica SSH
arubacloud_cloudserverauth-prod-vmVM CloudServer

Costo mensile stimato​

RisorsaSpecificheCosto stimato/mese
VM CloudServerCSO2A4 — 2 vCPU / 4 GB~€20
Disco di boot20 GB Performance~€3
Elastic IP—~€3
Totale~€26/mese

Requisiti​

  • Terraform ≥ 1.9
  • ArubaCloud Terraform Provider ~> 1.0
  • Un account ArubaCloud con credenziali API OAuth2
  • Una coppia di chiavi SSH

Variabili​

Obbligatorie​

VariabileDescrizione
arubacloud_client_idClient ID OAuth2 di ArubaCloud
arubacloud_client_secretClient secret OAuth2 di ArubaCloud
ssh_public_keyContenuto della chiave pubblica SSH
pg_passwordPassword PostgreSQL (min 12 caratteri)
authentik_secret_keyChiave di firma Authentik (min 32 caratteri — usa openssl rand -hex 32)

Opzionali​

VariabileDefaultDescrizione
app_name"auth"Nome breve usato in tutti i nomi delle risorse
environment"prod"Etichetta dell'ambiente
location"ITBG-Bergamo"Regione ArubaCloud
zone"ITBG-1"Zona di disponibilità
billing_period"Hour""Hour" o "Month"
vm_flavor"CSO2A4"Flavor del CloudServer
vm_disk_size_gb20Dimensione del disco di boot in GB
ssh_cidr"0.0.0.0/0"CIDR per SSH
authentik_version"latest"Tag dell'immagine Docker di Authentik

Output​

OutputDescrizione
authentik_urlURL dell'interfaccia web di Authentik (HTTP)
authentik_url_httpsURL dell'interfaccia web di Authentik (HTTPS)
vm_public_ipIndirizzo IP pubblico della VM
ssh_commandComando SSH per connettersi alla VM

Istruzioni di deployment​

1. Clona e naviga​

git clone https://github.com/arubacloud/terraform-arubacloud-examples.git
cd terraform-arubacloud-examples/authentik

2. Configura le variabili​

cp terraform.tfvars.example terraform.tfvars

Genera una chiave segreta robusta:

openssl rand -hex 32

3. Esegui il deployment​

terraform init
terraform plan
terraform apply

Il bootstrap richiede circa 3–5 minuti.

4. Configurazione iniziale​

Naviga su http://<IP>:9000/if/flow/initial-setup/ e crea l'account amministratore.


Riferimenti​