2017-12-01 2 views
0

Ich habe folgenden Link zum Sichern von Spark UI gefolgt. http://lambda.fortytools.com/post/26977061125/servlet-filter-for-http-basic-authSo aktivieren Sie die Spark-UI-Sicherheit

Dann exportierte der Job als Glas und legte es in Sparks Gläser Verzeichnis. Ich habe auch Änderung der Funken defaults.config wie unten,

spark.ui.filters sparkauth.SparkBasicAuth

spark.test.SparkBasicAuth.params user=foo,password=cool,realm=realmname

gemacht, aber als ich versuchte, den Funken Master zu starten, immer Fehler,

17/12/01 13:48:40 INFO JettyUtils: Adding filter: sparkauth.SparkBasicAuth 17/12/01 13:48:41 ERROR MasterWebUI: Failed to bind MasterWebUI javax.servlet.ServletException: No user provided in filter configuration at sparkauth.SparkBasicAuth.init(SparkBasicAuth.java:66)

Brauche Hilfe.

+0

Können Sie erklären, warum Du hast diesen Config-Schlüssel benutzt: 'spark.test.SparkBasicAuth.params' Für mich sieht es so aus, als würde das nicht geparst. –

+0

Ich bin mir nicht sicher, ich wollte nur einen Weg, Parameter an Servlet zu übergeben, aber es scheint, dass es diese nicht passiert. Ich bekomme nicht, was genau der Schlüssel und sein Wert sein sollte. – Vish

Antwort

0

Ich würde empfehlen, die Kerberos verwenden, da es für passwordless Genehmigung erlaubt, finden Sie diese Frage und Antwort: Spark History Server Authentication in Kerberized Cluster Dies bedeutet auch Sie nicht als verpflichtet sind, für die Verbindung SSL zu verwenden. Plaintext-Passwörter sind im Wesentlichen die Abwesenheit von Sicherheit, also können Sie http-basic-auth überspringen, wenn Sie nicht HTTPS verwenden - und selbst dann ist es mehr wie Pseudo-Authentifizierung.

+0

Ich habe Kerberos in Hadoop Authentifizierung versucht, aber ich habe einige Schwierigkeiten dort und das steht noch aus. Also für Spark dachte ich, es wäre besser, einen anderen Ansatz zu haben. Jedenfalls werde ich das auch überprüfen. – Vish

+1

HTTPS ist nicht erforderlich, wenn Kerberos verwendet wird? Im Jahr 2017 ist SSL keine Frage mehr. Es ist ein Standard und sollte aktiviert werden Es gibt auch Angriffe gegen Kerberos-Ticket: https://blog.stealthbits.com/complete-domain-compromise-with-golden-tickets/ –

+0

Ja, es gibt, aber sie sind viel weniger trivial als Klartext Passwort abfängt;) - Ich befürworte nicht die Verwendung von SSL - aber für Spark 1.6 (die immer noch einen großen Prozentsatz der Codebasis macht) zum Beispiel ist SSL-Verschlüsselung für UIs einfach nicht verfügbar. –

0

Beitrag eine andere Antwort, da meine erste Antwort ethisch korrekt war, aber nicht die eigentliche Antwort auf die Frage.

Angenommen, Sie den Beispielcode verwenden wörtlich Sie setzen

spark.ui.filters-com.fortytools.servlet.BasicAuthFilter

und

spark.com.fortytools.servlet.BasicAuthFilter.params-user=foo,password=cool,realm=realmname

Dann haben Sie einen langen harten denken, über das, was du bist tatsächlich hier zu tun;)

+0

Ich kann Authentifizierung für Spark-Master-UI aktivieren. Anfangs benutzte ich den Schlüssel 'spark.test.SparkBasicAuth.params', der' spark.sparkauth.SparkBasicAuth.params' sein sollte. Vielen Dank! – Vish

Verwandte Themen