Gibt es einen Grund, warum Software-Entwickler nicht genehmigungs Externalisierung werden?

StackOverflow https://stackoverflow.com/questions/955399

Frage

Die Value Proposition Identität der Externalisierung beginnt zu erhöhen, wo viele Websites jetzt OpenID akzeptieren, Cardspace oder föderierte Identität. Allerdings haben viele Entwickler noch nicht den nächsten Schritt zur Zulassung und Verwendung Ansätze basieren auf XACML externalisieren.

Ist der Grund, Mangel an Bewusstsein oder etwas anderes? Wie würden Sie über XACML basierte Ansätze zur Software-Entwicklung zu lernen, erwarten?

Bitte beachten Sie, dass ich über Genehmigung bin zu fragen, keine Authentifizierung.

War es hilfreich?

Lösung

ich glaube, die Aussicht auf externalize Genehmigung eine viel schwierigere Sache ist, als Externalisierung Authentifizierung (OpenID, Cardspace, etc.). Dies ist vor allem aufgrund der Tatsache, dass eine Genehmigung viel mehr Anwendung spezifisch ist. Welche Person A ist berechtigt, in meiner Anwendung zu tun, die er nicht in der Lage sein kann, in der Anwendung zu tun, und dass selbst ist vorausgesetzt, es gibt einige gemeinsamen parrallel zwischen meiner Anwendung und Ihrem, die höchstwahrscheinlich wird es nicht sein.

Ich will nicht sagen, dass eine Genehmigung Externalisierung wird nie getan werden, aber ich habe ehrlich gesagt eine harte Zeit mit Gründen kommen, warum Sie wirklich das tun würden. Vielleicht für eine Reihe von Anwendungen, die nebeneinander arbeiten, aber wieder, die am ehesten intern unterstützt werden würden, anstatt nach außen.

Andere Tipps

Denken Sie auch daran, dass die Genehmigung! == Authentifizierung. Nur weil ein Benutzer authentifiziert wird, bedeutet nicht, dass Sie die Berechtigung Teil Ihrer Website gelöst haben. Sie müssen noch bestimmen, wer was zu tun bekommt und wann.

Der Hauptgrund, warum wir weiterhin unsere eigene Rolle ist, dass die Optionen wie openid et al sind nur scheinbar von Tech-Standorten unterstützt. Wir sind ein kleiner Spieler, so dass wir nicht mit einem externen Anbieter bis zu dem Zeitpunkt starten, dass es eine viel größere Benutzerakzeptanz.

Wir wollen nicht das erste, was ein Benutzer auf unserer Seite zu tun hat, zu beteiligen an einem anderen Ort gehen.

scheine ich in das Mißverständnis gefallen zu sein, dass die andere haben - die Frage nach externer Zulassung benötigt wurde. Persönlich würde ich nur in einem lokalen Netzwerk verteilt Ermächtigungstreuhand, wo ich die Kontrolle über den Authentifizierungs- und Autorisierungsserver habe. Ich würde nie die externe Autorisierung auf einer Website verwendet werden.

Hier sind meine Kommentare zu OpenID als Authentifizierungsdienst.

1) Wie wurde darauf hingewiesen, Autorisierung! = Authentifizierung. OpenID führt die Authentifizierung, aber der Web-App Besitzer hat noch die volle Kontrolle über die zu diesem Login zugewiesenen Rechte. Dies ist eine positive, aber die Verwirrung darüber, das ist ein negativ.

2) Ich kann den Link nicht finden, aber OpenID ist offen für Social Engineering / main in der Mitte / Phishing-Attacken. Die Anbieter versuchen, diese (ID Bilder, Browser-Zertifikate, Rückruf Verifizierung, etc.) zu verhindern, aber es hilft nicht, wenn die schwarzen Hut Seite nach oben öffnet sich ein Dialog / Seite, die „geben Sie Ihren OpenID-Benutzernamen und das Passwort“ und das Genie sagt Benutzer entspricht.

3) Jeder Anbieter einer föderierten ID hat die Fähigkeit (und einige würden zu sagen, Verantwortung), um alle Aktivitäten ihrer Nutzer zu verfolgen, unabhängig davon, welche Stelle sie für die ID verwenden. Aus diesem Grund Google und Yahoo sind Gung ho bieten föderierten IDs, aber nicht so begeistert von raubend sie.

4) Im Gegensatz zu einem über Kommentar, ist es häufig der Fall, dass die Verwendung von OpenID, die Barriere zu Registrierung reduziert, vor allem, wenn eine hilfreiche UI weist darauf hin, dass ein neuer Benutzer wahrscheinlich bereits eine OpenID hat. Dies gilt umso mehr, wenn Sie eine kombinierte OpenID / OAuth-Lösung wie RPX verwenden.

Also, aus meiner Sicht, die Risiken von OpenID sind auf dem Benutzer, nicht die Web-Site. Ich kann den Benutzer nicht verhindern, indem sie fischt werden versuchen, noch ein weiteren Benutzer-ID und das Passwort zu erinnern. Ferner Schwarz Hüte müssen nichts mehr ruchlosen als Benutzerkennwörter für ihre Website in Klartext tun, den Zugriff auf einen Benutzer anderen Konten zu erhalten. Wie viele Menschen nutzen ein anderes Passwort für jede Web-Seite das Protokoll in?

Die meisten Projekte, die ich getan habe, wurden proprietäre Anwendungen für den Einsatz in großen Unternehmen, und in diesen Fällen externe Authentifizierungsdienste sind selten eine Option, aber die Authentifizierung wird stattdessen durch einige interne Service (wie zB Active Directory) behandelt.

Soll ich passieren Teil eines Projekts werden, die eine öffentliche Website bauen würde ich auf jeden Fall versuchen, würde die Verwendung von so etwas wie OpenID zu machen, anstatt meine eigene Authentifizierung von Hosting.

Ein Problem ist eine Kombination aus nicht hier und Misstrauen gegenüber Behörden externalisierte Erfunden für (auch pseudonomous) Identität. Eine gute Zuschreibung ist hier:

Außerdem glaube ich, es Trägheit sein kann. Ohne eine Killer-Applikation an der Macht, die Menschen langsam zu wandern. der Anstieg der Zahl der Facebook-Integrationen I in letzter Zeit gesehen habe ich denke, wir auf der Spitze eines steilen Hanges sind, um diese Welt zu betreten.

Als ein weiteres Plakat erwähnt, Zulassung ist in der Regel anwendungsspezifisch. Was können Sie in einer Anwendung DO variiert erheblich von dem, was Sie in ein anderes tun können. Vor allem in den Kunden off-the-shelf-Anwendungen, Genehmigung wird in der Regel mehr auf natürliche Weise durch die Anwendung behandelt.

Performance ist ein weiteres Anliegen. Dies kann durch den Erwerb von Sun XACML Implementierung zu sehen und mit ihm eine gewisse Berechtigung externalisieren. Sie entstehen Netzkosten auf beiden Seiten der Anforderung, die (je nach Art und Weise Sie Architekt Request / Response, etc.) die tatsächlichen Kosten der Genehmigungsentscheidung weit übersteigen kann. Bauen Sie, dass in eine COTS-Anwendung, wo Sie weniger Freiheit für Performance-Optimierung haben und die Dinge noch schlimmer.

Aber ich denke, einige der vielversprechenden Bereiche um die Einhaltung gesetzlicher Vorschriften sind. Es gibt einige Berechtigungen, die durch die Anwendung nicht variieren. Übertragung von Eigentums- oder klassifizierten Informationen oder Materialien, zum Beispiel. In diesen Fällen kann ein starkes Argument für die gleiche Steuerung erfolgt in jeder Anwendung vorhanden, weil die Umkehrung so schlecht ist. eine beliebige Anzahl von Implementierungen und Regeln für die gleiche Zutrittskontrolle zu haben, ist ein Management-Alptraum. Ein einfacher Ort mit einem Kontrollrahmen wie XACML beginnen kann, um zu starten, was jemand sehen kann, und dann herauszufinden, was jemand tun kann.

Ich denke, es ist von der Art des Projekts ab, die Sie auf zu arbeiten. Wenn der Kunde die Berechtigung will speichert es keine Möglichkeit gibt OpenID zu verwenden ... Ich entwickle ein kleines Projekt mit Google-Engine-Apps und dafür ich Google, um die Genehmigung zu tun. Es hängt also stark von der Art des Projektes.

Mehrere Gründe:

  1. Wie einige der Kommentare gezeigt, gibt es eine allgemeine Wahrnehmung, dass was bedeutet „Genehmigung lokal“, dass es von der Wiederverwendung von dem teueren pflegenden-at-high-quality „Thema Attributen“ benötigen wenig Potenzial ist für wichtige Zugriffsentscheidungen. (Ich glaube, dass es eine hohe Wiederverwendungspotenzial, da einige Gesetze / regs breit anwendbar sind, aber vollständige Diskussion dieser ist zu lang für dieses Format.)
  2. Mangel an Dateninfrastruktur: richtlinienbasierte Zugriffskontrolle zwischen Organisationen (mich mit / Vertrauen auf einigen anderen org der Genehmigung ( „AuthZ“) Daten zu entsperren Zugriff auf meine Daten) erfordert, auf ein Minimum zu beantragen, dass ich die Semantik verstehen des Attributs (was eine „gesetzes enforcemment Offizier“ ist? Was ist ein „US-Bürger“). Danach wäre es schön, einfach zu haben Attribut Qualitätsstandards und Zertifizierung durch dritte von derselben zu verstehen. (Einige können beobachten, dass diese Anforderungen sind analog zu den Anforderungen für die PKI-Interoperabilität:., Wie das ist, kommt entlang Und das ist nur für ein Stück von Daten, sowie der Unterstützung Sachen)
  3. Auswirkungen auf den Rollen / Verantwortlichkeiten: Externalisierung Genehmigung, ob auf „Rollen“ oder „Attribute“ oder „Attribute mit digitaler Politik“, bedeuten, dass die lokalen „Daten Eigentümer“ die Kontrolle über die Ressource verlieren. Er entlastet auch erhebliche Arbeit und Verantwortung für Listen Benutzer beibehalten wird. Diese Art der Änderung erhöht Implementierung externer AuthZ von einem technischen Problem zu einer Organisations Angelegenheit mit einer Seite der Politik.
  4. Die meisten Unternehmen wissen nicht, und haben nicht aufgeschrieben, was ihre Politik sind. Der Zugriff kann sein: „Wer fragt“ oder „wer fragt und Ich mag“ oder „wer kann mir etwas, wie der Zugang zu ihren Daten.“ Die wirklichen Regeln können angewandt werden, ziemlich hässlich, wenn sie in die offenen gezwungen werden, indem sie in einer Politik Sprache auszudrücken. Und die Fähigkeit, für eine gute Wiedergabe schriftlicher in digitale Politik gesetzt wächst nicht auf Bäumen, auch nicht. In der Tat ist die Fähigkeiten Business Analyst oder Anwalt, nicht IT-Mann und Werkzeuge für die Leute sind selten bis nicht vorhanden.
  5. Wenn Sie eine solide Politik haben in der Regel tun, werden Sie wahrscheinlich feststellen, dass die Attribute es existiert nicht zu verarbeiten, benötigt - sie sind normalerweise nicht die Art von Sache, die Sie bereits in AD finden. Die Telefonnummer ist nicht sinnvoll, als AuthZ Attribut, und sogar „Organisation“ ist wahrscheinlich nicht geeignet für die meisten Gesetze oder regs Sie tatsächlich dokumentieren. Das ist nicht einmal die Umgehungen zu erwähnen und Annäherungen Sie implementieren müssen (und genehmigt zu bekommen) politische Anforderungen wie zum Ausdruck bringt „wahrscheinliche Ursache“.
  6. Relativ lenkbar, aber immer noch real, ist, dass viele sehr weit verbreitet COTS-Anwendungen unterstützen keine externen Autorisierung und viele App-Entwickler zu tun Externalisierung nicht verwendet wird, und wird so (a) versuchen, Sie davon zu sprechen; oder (b) lernen Sie es auf Ihrem Dime, und es schlecht tun.

Klingt ziemlich schlecht, nicht wahr? Also, lassen Sie mich am Ende sagen, ich glaube, das Spiel wert ist die Kerze trotz alledem. Die Liste der potenziellen Vorteile ist für eine andere Stelle zu einer anderen Zeit.

Viel Glück!

Vereinbaren Sie mit Josephs Punkt auf Genehmigung sehr anwendungsspezifisch zu sein.

Aber davon abgesehen, Autorisierung Outsourcing bringt auch in einer größeren Risiko Sorge: Da Zulassung hoch anwendungsspezifisch und körnig ist, wenn Sie die Berechtigung zu einem Dienstanbieter auslagern, die Migration weg oder zu ersetzen, dass Anbieter eine fast unmögliche Aufgabe. Sie sind an den Haken unwiderruflich.

So bei der Bewertung Ihrer Risiken und Nutzen, Geschäfts Argumentation treibt Sie mit solchen harten Abhängigkeit zu vermeiden gehen.

Für mich persönlich ist dies das erste, was ich über externe Authorization je gehört habe .. So könnte es nur Mangel an Bewusstsein sein.

Googeln jetzt ..

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top