Y at-il une raison pour laquelle l'autorisation des développeurs de logiciels ne sont pas extériorisés?

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

Question

La proposition de valeur de l'identité externalisant commence à augmenter où de nombreux sites acceptent maintenant OpenID, CardSpace ou identité fédérée. Cependant, de nombreux développeurs ont pas encore franchi l'étape suivante pour les approches d'autorisation extérioriser et d'utilisation basées sur XACML.

Le manque de raison de conscience ou autre chose? Comment voulez-vous attendre à en apprendre davantage sur approches à base de XACML pour le développement de logiciels?

S'il vous plaît noter que je demande sur l'autorisation, pas d'authentification.

Était-ce utile?

La solution

Je pense que la perspective d'une autorisation de Externaliser est une chose beaucoup plus difficile que l'extériorisation authentification (OpenID, CardSpace, etc.). Ceci est principalement dû au fait que l'autorisation est beaucoup plus application spécifique. Qu'est-ce que la personne A est autorisé à faire dans ma demande, il peut ne pas être en mesure de le faire dans votre application, et est même en supposant qu'il ya une certaine parrallèle commun entre ma demande et la vôtre, qui très probablement il n'y aura pas.

Je ne veux pas dire que l'autorisation sera externalisant jamais se faire, mais je dois honnêtement un moment difficile à venir avec des raisons pour lesquelles vous voulez vraiment envie de le faire. Peut-être pour une suite d'applications qui travaillent côte à côte, mais encore une fois, qui serait très probablement pris en charge en interne, plutôt que de l'extérieur.

Autres conseils

De plus, rappelez-vous que l'autorisation! == authentification. Tout simplement parce qu'un utilisateur est authentifié ne signifie pas que vous avez résolu la partie d'autorisation de votre site. Vous avez encore besoin de déterminer qui arrive à faire quoi et quand.

La principale raison pour laquelle nous continuons à rouler notre propre est que les options comme Openid et al ne sont pris en charge apparemment par les sites de technologie. Nous sommes un petit joueur, donc nous ne commencerons pas à l'aide d'un fournisseur externe jusqu'au moment qu'il ya une acceptation par les utilisateurs beaucoup plus.

Nous ne voulons pas la première chose qu'un utilisateur doit faire sur notre site pour impliquer aller à un autre site.

Il me semble être tombé dans le malentendu que les autres ont - la question portait sur l'autorisation externe. Personnellement, je ne faire confiance à l'autorisation distribuée sur un réseau local où j'ai le contrôle sur les serveurs d'authentification et d'autorisation. Je ne serais jamais utiliser l'autorisation externe sur un site Web.

Voici mes commentaires sur OpenID en tant que service d'authentification.

1) Comme l'a souligné, l'autorisation! = Authentification. poignées authentification OpenID, mais l'application web propriétaire a toujours le contrôle total sur les droits affectés à cette connexion. C'est un facteur positif, mais la confusion à ce sujet est négatif.

2) Je ne peux pas trouver le lien, mais est ouvert à OpenID ingénierie sociale / principale au milieu / attaques de phishing. Les fournisseurs tentent d'empêcher ce (images d'identité, certificats de navigateur, appelerons vérification, etc.), mais il ne permet pas lorsque le site de chapeau noir ouvre une fenêtre / page qui dit « entrez votre nom d'utilisateur OpenID et mot de passe » et le génie conforme utilisateur.

3) Chaque fournisseur d'un ID fédéré a la capacité (et certains diraient la responsabilité) de suivre toutes les activités de leurs utilisateurs, quel que soit le site qu'ils utilisent l'ID. C'est la raison pour laquelle Google et Yahoo sont fonceurs fournir ID fédérés, mais pas si enthousiasmés par consommation les.

4) Contrairement à un commentaire ci-dessus, il est souvent le cas que l'utilisation réduit la barrière OpenID à l'enregistrement, en particulier lorsqu'une interface utile souligne qu'un nouvel utilisateur a probablement déjà un OpenID. Cela est encore plus vrai lorsque vous utilisez une solution combinée qu'OpenID / OAuth tels que RPX.

Alors, de mon point de vue, les risques d'utilisation sont à l'OpenID utilisateur, et non le site Web. Je ne peux pas empêcher l'utilisateur d'être victime de phishing en leur faisant essayer de se rappeler un autre ID utilisateur et mot de passe. De plus, chapeaux noirs ne ont pas besoin de faire quoi que ce soit plus infâmes que les mots de passe des utilisateurs de stocker leur site dans le texte brut pour accéder à d'autres comptes d'un utilisateur. Combien de personnes utilisent un mot de passe différent pour chaque site web du journal en?

La plupart des projets que je l'ai fait ont été des applications propriétaires pour une utilisation dans les grandes entreprises, et dans ces cas, les services d'authentification externes sont rarement une option, mais l'authentification est plutôt traitée par un service interne (comme Active Directory).

Dois-je arriver à faire partie d'un projet qui construirait un site Web public, je voudrais essayer certainement d'utiliser quelque chose comme lieu d'hébergement OpenID ma propre authentification.

Comme autre affiche indiqué, l'autorisation est généralement spécifique à l'application. Qu'est-ce que vous pouvez faire en une seule application varie considérablement de ce que vous pouvez faire dans un autre. Surtout dans le client impromptu applications, l'autorisation est généralement plus naturellement gérée par l'application.

La performance est une autre préoccupation. Ceci peut être vu en obtenant la mise en œuvre XACML de Sun, et l'utiliser pour extérioriser une autorisation. Vous encourez des coûts de réseau des deux côtés de la demande que (selon la façon dont vous demande d'architecte / réponse, etc.) peuvent largement dépasser le coût réel de la décision d'autorisation. Construire que dans une application COTS, où vous avez moins de liberté pour l'optimisation des performances et les choses deviennent encore pire.

Cependant, je pense que certains des domaines les plus prometteurs sont autour de la conformité réglementaire. Il y a des autorisations qui ne varient pas par l'application. Transfert des renseignements exclusifs ou classifiés ou matériaux, par exemple. Dans ces cas, un cas fort peut être fait pour le même contrôle existant dans chaque application, car l'inverse est si mauvais. Avoir un certain nombre de règles mises en œuvre et pour le même contrôle d'accès est un cauchemar de gestion. Un endroit facile de commencer par un cadre de contrôle comme XACML peut être commencer par ce que quelqu'un peut voir, puis travailler à ce que quelqu'un peut faire.

Je pense que cela dépend du type de projet que vous travaillez. Si le client souhaite conserver l'autorisation il n'y a aucun moyen d'utiliser ... Je développe qu'OpenID un petit projet en utilisant le moteur google apps et celui-ci j'utiliser Google pour faire l'autorisation. Donc, cela dépend fortement du type de projet.

Plusieurs raisons:

  1. Comme certains des commentaires démontré, il y a une perception générale que « l'autorisation est locale » ce qui implique qu'il ya peu de possibilités de réutilisation du coûteux à entretenir-à haute qualité « attributs sujet » nécessaires pour d'importantes décisions d'accès. (Je crois qu'il ya un fort potentiel de réutilisation car certaines lois / regs sont largement applicables, mais toute discussion de c'est trop long pour ce format.)
  2. Le manque d'infrastructures de données: pour appliquer le contrôle d'accès basé sur les politiques entre les organisations (moi en utilisant / confiance d'une autre l'autorisation org (données « AuthZ ») pour déverrouiller l'accès à mes données) nécessite, au minimum, que je comprends la sémantique de l'attribut (ce qui est un « agent-loi enforcemment »? Qu'est-ce qu'un « citoyen américain »). Après cela, il serait agréable d'avoir facile de comprendre les normes de qualité d'attributs et certification par des tiers de même. (Certains peuvent observer que ces exigences sont analogues aux exigences d'interopérabilité PKI:. Comment ça venir le long et qui est juste pour un morceau de données, ainsi que le soutien des choses)
  3. Impact sur les rôles / responsabilités: autorisation externalisant, que ce soit à des « rôles » ou aux « attributs » ou aux « attributs à la politique numérique », signifie que le « propriétaire de données » locale perd le contrôle de la ressource. Il déleste aussi un travail considérable et la responsabilité de maintenir des listes d'utilisateurs. Ce genre de changement de AuthZ élève la mise en œuvre externe d'un problème technique à une question d'organisation d'un côté de la politique.
  4. La plupart des organisations ne savent pas et n'ont pas écrit ce que leurs politiques sont. L'accès peut être « quiconque demande » ou « celui qui demande et je l'aime » ou « celui qui peut me donner quelque chose, comme l'accès à leurs données. » Les vraies règles appliquées peuvent être assez laid quand ils sont contraints à l'air libre en les exprimant dans un langage politique. Et l'ensemble des compétences pour un bon rendu des politiques écrites dans les politiques numériques ne pousse pas sur les arbres, que ce soit. En fait, l'ensemble des compétences est analyste d'affaires ou un avocat, non gars IT, et des outils pour ces gens-là sont rares, voire inexistantes.
  5. Lorsque vous avez une règle de politique solide, vous aurez probablement découvrir que les attributs nécessaires pour le traiter n'existe pas - ils ne sont généralement pas le genre de chose que vous trouvez déjà dans la MA. numéro de téléphone est pas utile comme un attribut AuthZ, et même « Organisation » est probablement pas approprié pour la plupart des lois ou regs vous pouvez réellement document. Ce n'est pas même mentionner les contournements et les approximations que vous avez à mettre en œuvre (et obtenir approuvé) pour exprimer les exigences de la politique comme « cause probable ».
  6. relativement traitable, mais toujours réel, est que beaucoup de très répandues applications COTS ne supportent pas d'autorisation externe, et de nombreux développeurs d'applications-ne sont pas utilisés pour faire extériorisation, et ainsi se (a) essayer de vous parler de lui; ou (b) l'apprendre sur votre pièce de dix cents, et le faire mal.

Sons assez mauvais, non? Alors, permettez-moi de terminer en disant que je pense que le jeu en vaut la chandelle, malgré tout cela. La liste des avantages potentiels est pour un autre poste à un autre moment.

Bonne chance!

D'accord avec le point de Joseph sur autorisation étant très spécifique d'application.

Mais, outre que l'autorisation d'externalisation apporte également une préoccupation de risque majeur: étant donné que l'autorisation est très application spécifique et granulaire, une fois que vous externalisez l'autorisation d'un fournisseur de services, la migration loin ou le remplacement de ce fournisseur devient une tâche presque impossible. Vous êtes sur le crochet de manière irrévocable.

Ainsi, dans l'évaluation de vos risques et les avantages, le raisonnement d'affaires vous pousse à éviter d'aller avec une telle dépendance matérielle.

Pour moi personnellement, c'est la première chose que j'ai jamais entendu parler d'autorisation externe .. Donc, il est peut-être le manque de sensibilisation.

googler maintenant ..

scroll top