LDAP vs SAML Autorisation
Je suis actuellement à déterminer le déplacement d'un système de suivi des actifs à partir de LDAP pour SAML. Il y a deux principaux domaines où notre logiciel utilise actuellement LDAP. La première est l'authentification. Afin d'accéder au système d'aujourd'hui, vous avez besoin pour réussir à l'authentification avec LDAP et être membre d'un groupe LDAP spécifié. Cette partie est assez simple de passer par dessus pour SAML. Nous avons utilisé une bibliothèque pour gérer la plupart de la sale besogne. Et sur l'IDP, nous pouvons ajouter une demande pour autoriser l'utilisateur. Mais notre deuxième utilisation de LDAP est en me jetant pour une boucle.
Aujourd'hui, tous les actifs que nous maintenir a la capacité d'être lié à un nom d'utilisateur. Par exemple, une imprimante particulière peut appartenir 'someuser'. L'une des options de notre logiciel donne à l'administrateur de vue interagir avec d'actifs basé sur le protocole LDAP groupes d'utilisateurs. Donc, en tant qu'administrateur, vous souhaitez peut-être mettre à jour tous les imprimantes qui sont détenues par des personnes dans un département particulier. Pour ce faire, l'administrateur doit créer une règle dans l'étendue du groupe LDAP 'departmentInQuestion'. Notre logiciel, puis d'utiliser un compte de service pour se connecter à l'annuaire LDAP, créer une requête pour voir quels utilisateurs de notre système sont dans 'departmentInQuestion', exécuter et utiliser les résultats pour déterminer quels biens doivent obtenir la mise à jour.
Si loin de mes recherches, je n'ai pas été en mesure de trouver un SAML analogue à ce. Il semble que la seule possibilité que nous avons d'ânes 'someuser", c'est quand ils s'authentifier et nous avons accès à leurs revendications. Mais dans notre flux de travail 'someuser' ne peut jamais s'authentifier avec nous. C'est presque comme si nous sommes à l'aide d'autoriser un utilisateur sur le nom du compte de service. Il y a un flux de travail existant, que j'ai négligé au cours de mon exploration? Existe-il d'autres technologies que l'appui de l'autorisation de cette manière?
Merci pour toute entrée!
OriginalL'auteur Staros | 2014-04-06
Vous devez vous connecter pour publier un commentaire.
SAML est comme un passeport ou un visa. Il a (de confiance) des informations vous concernant qui peut être utilisé à savoir sur vous (par exemple, votre nom, votre date de naissance) et en déduire ce que vous pouvez y accéder (par exemple, l'entrée d'un pays). Vous pouvez utiliser les propriétés dans le jeton d'interroger d'autres systèmes sur d'autres informations que vous pourriez être associés (par exemple, votre relevé bancaire).
Donc, par analogie, SAML est généralement utilisé pour authentifier les utilisateurs sur un système (une fois que vous avez confiance qu'il est à l'origine), mais il n'y a pas de dispositions pour la gestion des profils utilisateur, ou "ressources".
Des décisions d'autorisation, le cas échéant, sont souvent prises sur la base des attributs associés à l'utilisateur (par exemple, le groupe auquel il appartient) et transmis dans les revendications dans le jeton de sécurité.
Peut-être la 1ère questions à répondre est de savoir pourquoi vous souhaitez déplacer loin de LDAP et de réflexion sur SAML. Est-ce parce que vous voulez accepter les utilisateurs se connectant avec leurs propres informations d'identification? Est-ce parce que vous voulez vous débarrasser du serveur LDAP complètement
Vous pourriez parfaitement bien garder votre serveur LDAP pour la gestion des
resources associated with users
, et à authentifier des utilisateurs à un autre endroit. C'est ce que vous avez maintenant. Vous serait en corrélation les utilisateurs à "l'extérieur" et "intérieur", par l'intermédiaire d'un attribut commun (par exemple un nom d'utilisateur, ou d'une pièce d'identité).Si vous voulez vous débarrasser de LDAP tous ensemble, alors vous auriez besoin d'un autre endroit pour stocker de l'information (par exemple, votre application de base de données).
OriginalL'auteur Eugenio Pace
Bâtiment sur Eugenio Rythme's réponse, et notamment à la suite de ce paragraphe:
Ce Eugenio se réfère ici est ABAC - attribut de contrôle d'accès. SAML ne pas le faire. Pour atteindre ABAC, vous avez besoin de XACML. Les deux SAML et XACML sont les normes définies par l'OASIS et qui interagissent. Avec XACML vous pouvez définir l'attribut à base de règles. Par exemple, nous pourrions revoir votre exemple, et écrire une règle comme suit:
Vous pouvez en lire plus sur XACML sur ABAC à ces sites de référence:
OriginalL'auteur David Brossard
Auth0 met en œuvre prouvée, les courants et les plus populaires de l'identité des protocoles utilisés dans orienté vers les consommateurs des produits de web (OAuth 2.0, OpenID Connect) et dans les déploiements d'entreprise (SAML, WS-Federation, LDAP).
Scouverture Unssertion Markup Langue (SAML) est fondé sur le langage XML cadre pour l'authentification et l'autorisation entre deux entités: un Fournisseur de Service et un Fournisseur d'Identité. Le Prestataire de Services s'engage à faire confiance au Fournisseur d'Identité pour authentifier les utilisateurs. Le Fournisseur d'Identité authentifie les utilisateurs et offre aux Fournisseurs de Services d'Authentification de l'Assertion, qui indique qu'un utilisateur a été authentifié.
Lightweight Directory Unaccès Protocol (LDAP) est un protocole d'application, utilisée pour l'accès et le maintien distribué des informations de l'annuaire des services sur Protocole Internet (IP) de réseau.
Source
OriginalL'auteur Premraj