Notice

The examples and use cases described here are intended to show the different ways SURF Research Access Management can be used and connected to application. These examples and use cases are not always validated by SURF.

Deze intergratie maakt gebruik van Apache Guacamole 

We kunnen Guacamole zelfstandig gebruiken of geïntegreerd met SRAM

Zelfstandige opstelling

Guacamole werkt in grote lijnen met 3 componenten:

  • Rendering voorziening
  • Persistent opslag voor desktop configuraties (bijvoorbeeld een postgres database)
  • een Web applicatie waarin de Desktop aan de gebruiker zal worden gepresenteerd

In de test opstelling zijn deze componenten in de vorm van Docker containers gespecificeerd.

Nog zonder verdere integratie met SRAM is bovenstaande al onmiddellijk functioneel te gebruiken. Een administrator (privileged user) van Guacamole kan een gebruiker opvoeren en deze gebruiker kan zelf een desktop configureren door alle details van een bestaande desktop in Guacamole  in te geven. Als dat succesvol is gebeurd kan deze desktop via Guacamole web venster worden gebruikt. Dit is met name functioneel wanneer de Windows machine in een private network is opgenomen en niet via publiek internet rechtstreeks te benaderen. Je kan de Guacamole web applicaties als enige toegangspunt via HTTPS gebruiken.

In deze opstelling moeten de gebruiker zowel een geldige gebruiker (userid / password) zijn binnen Guacamole en bovendien een geldig account (userid / password) hebben op de Windows machine waarmee wordt gekoppeld

Integratie met SRAM

We kunnen bovenstaande opstelling verdergaand integreren met SRAM en dan bereiken we volgende:

  • Gebruikers authenticeren niet meer rechtstreeks aan Guacamole maar federatief via SRAM (en hebben dus ook geen guacamole password nodig)
  • Just-in-time provisioning van de Desktop configuratie voor deze gebruiker in Guacamole als ook Just-in-time provisioning van deze gebruiker op de Active Directory


Extra componenten die nodig zijn om deze configuratie te laten functioneren.

  • Active Directory: De windows machine moet "domain joined" zijn met deze Active Directory. In onze test-opstelling hebben we SAMBA gekozen als Active Directory component.
  • Extra Web Paging: Start pagina die de OIDC-login initieert en bij succesvolle login de provisioning afroept en vervolgens redirect naar de Guacamole landings pagina
  • Provisioning component die schrijft naar de Guacamole database (desktop configuratie) en ook schrijft naar de Active Directory (Account)


Ook deze functies zijn uitgevoerd in de vorm van docker containers