2016-04-20 4 views
0

In unserem Unternehmensnetzwerk haben alle Benutzer Clientzertifikate bereitgestellt. Also wenn ich den "ssl_verify_client: on;" Direktive, allen Benutzern wird der Zugriff gewährt.Eingeschränkte Benutzerberechtigungen bei Verwendung von Clientzertifikaten

Wie kann ich den Zugriff auf eine Liste von gültigen Benutzern beschränken, z. nur die IT-Abteilung. Ich hätte gerne eine Datei, ähnlich einer htpassword Datei, die die Benutzernamen enthält, die auf die Anwendung zugreifen dürfen.

Wie ist das in nginx möglich?

+0

Sie überprüfen könnten, '$ ssl_client_s_dn' /' ssl_client_i_dn' Variablen $. –

+0

@ Alexey-ten Ich kann die $ ssl_client_s_dn innerhalb einer ** if ** Anweisung, aber ich würde ein einziges "if" für jeden Benutzer oder eine Regex wie/foo | bar | acme/benötigen. Keiner fühlt sich "richtig". Ich bin auf der Suche nach einer Richtlinie für "gültige Nutzer" ... – sumpfgottheit

Antwort

1

Sie $ssl_client_s_dn mit map Richtlinie kombinieren könnte:

map $ssl_client_s_dn $access_denied { 
    default 1; 
    "alice" 0; 
    "bob" 0; 
} 

und überprüfen Sie es mit if

if ($access_denied) { 
    return 403; 
} 
Verwandte Themen