Projet d'implémentation de l'authentification unique SAP

La fin de l'année, tout le monde fait lentement le point.


Pour moi, cette année a été marquée par le projet d'implémentation de l'authentification unique (SSO) entre SAP et Windows. Dans cet article, je parlerai de l'expérience de la mise en œuvre et de la gestion de projet, des pièges, des constatations et des conclusions.



L'entreprise est une grande entreprise de transport en Belgique, combinant métro, tramway et bus. Il y a plus de 10 000 employés, dont près de 2 000 sont des backoffices, utilisant de nombreux outils: site web d'entreprise, courrier, service applicatif, sharepoint, archiviste et, bien sûr, SAP.


SAP est partout: de la comptabilité et des RH à l'enregistrement des mouvements des unités de transport, la documentation des accidents, l'analyse, l'approvisionnement, l'entreposage, etc.


Problème:


  • L'utilisateur SAP pour PC est une application distincte pour laquelle vous avez besoin de votre mot de passe pour entrer
  • Vous devez d'abord demander un mot de passe, puis n'oubliez pas. Le support technique est obligé de recevoir des appels pour créer et modifier des mots de passe.
  • Du point de vue de l'utilisateur, un mot de passe supplémentaire est un problème supplémentaire. Les gens stockent des mots de passe sur papier ou les rendent trop simples. La sécurité crie au sujet des violations flagrantes.
  • La configuration minimale requise pour un mot de passe pour un PC ne correspond pas aux paramètres de mot de passe dans SAP. Si vous les amenez à un dénominateur commun, il est préférable d'implémenter immédiatement SSO.

Objectif: implémenter un SSO entre Windows et SAP, afin que lors de la connexion à votre compte PC, l'utilisateur puisse se connecter à SAP sans entrer de mot de passe.


Si vous ne traitez pas avec SAP, cet article vous intéressera du point de vue de la gestion de projet, car les sapeurs de ces détails vous seront donnés (entre parenthèses).


Sous la coupe:


  1. Portée
    1.1 Portée des personnes
    1.2 Systèmes de portée
  2. Composants
    2.1 Modification des paramètres système
    2.2 Windows Active Directory (AD)
    2.3 SAP Secure Login Client (SLC)
    2.4 Lier un utilisateur SAP à son AD
    2.5 Modification du fichier SAP logon.ini
  3. Test
  4. SNC est un trou de sécurité
  5. Travail d'équipe
  6. Information commerciale
  7. Difficultés de traduction
  8. Résumé et conclusions

Présentation


À l'avenir, si vous n'êtes pas impatient de remplir des cônes standard, voici une liste de questions que vous devriez clarifier par vous-même au tout début du projet:


  • Portée du projet (systèmes, utilisateurs - dans quel ordre mettons-nous en œuvre, où est la priorité et ce qui peut être jeté en cas de problème, quels utilisateurs devraient avoir accès, etc.)
  • Les principaux services concernés par le projet (Même si le projet est tangentiel, il est toujours important que tout le monde soit informé à l'avance)
  • Vos pouvoirs (il n'est pas très facile de s'enfuir ici - dans une entreprise européenne, tout est basé sur le consentement et le désir volontaire d'aider. Si le ministère dit qu'il n'a pas de ressources, alors il est presque impossible d'appuyer et de «forcer». Mais vous pouvez appeler un consultant externe pour obtenir de l'aide, par exemple)
  • Calendrier (pour l'ensemble du projet dans son ensemble et pour des parties spécifiques)
  • Procédures d'agrément (réglementations bureaucratiques - dans une grande entreprise, ce n'est pas la dernière question)
  • Difficultés possibles (Toutes. Difficultés possibles.)

Nous avons modifié l'appartenance du projet à plusieurs reprises: au départ, il s'agissait uniquement du service des autorisations dans SAP et du service des administrateurs (composants de base). Puis ils ont été rejoints par le département traitant des autorisations sous Windows (Active Directory, AD) et le département de mise en œuvre des mises à jour (Packaging), puis le département des bases de données et le département des applications mobiles, etc.


Un consultant externe a été invité pour le côté technique de la question, et le chef de projet (PM) est devenu moi, en tant que personne impliquée dans l'autorisation dans SAP (par conséquent, il y aura plus de détails sur l'autorisation dans SAP dans cet article que dans les autres).


Une précision importante: tous les accès que nous donnons dans SAP sont personnalisés. Nous n'utilisons pas les rôles standard offerts par le système, mais nous en créons de nouveaux, par département, par poste, par fonction. À ce jour, nous n'avons pas de synchronisation entre les utilisateurs SAP et Windows AD. Par exemple, si votre utilisateur dispose de droits d'administrateur sur le réseau local, cela ne signifie pas qu'il est également administrateur dans SAP.


1. Portée


1.1 Portée des personnes


Les employés de notre entreprise utilisent SAP via une application sur un ordinateur personnel (client léger - SAP Logon GUI), mais pas seulement. Comment compter les utilisateurs tombant sous distribution?


Nous avons pris comme base tous ceux qui se connectent quotidiennement via SAP Logon (SAP user type Dialogue) à partir d'ordinateurs portables. Dans cette catégorie, l'ensemble du backoffice - personnel administratif, bukhs, Ichars, développeurs, testeurs, logistique, etc.


Exclus:


  • ceux qui ont un ordinateur de bureau, pas un ordinateur portable
  • 8 000 utilisateurs qui n'ouvrent jamais la connexion SAP, mais utilisent SAP via le site Web et les applications (type d'utilisateur SAP Communication)
  • tous les utilisateurs externes (pas les employés, mais doivent se connecter au système via VPN)

1.2 Systèmes de portée


Dans notre entreprise, SAP utilise six paysages actifs ( ECC, BI, SRM, Netweaver, PI, Solution manager ), sans compter les bacs à sable. Chacun d'eux a ses propres DEV , ACC , PRD - c'est-à-dire en fait, c'est 6 * 3 = 18 systèmes.


Par vote vocalique, il a été décidé de ne prendre que les quatre premiers paysages. PI et SM sont utilisés par un cercle restreint d'administrateurs et nécessitent la mise à jour du système lui-même (au moins la mise à jour du composant SAP_BASIS vers la version 740). Sinon, la transaction sncwizard n'est pas prise en charge et cette opération manuelle est trop gênante pour 10 à 20 personnes.


2. Composants


Les personnes intéressées par ces détails trouveront des instructions étape par étape sur le site Web SAP , ainsi que les différentes méthodes disponibles (nous avons choisi l' authentification unique basée sur Kerberos , mais ce n'est pas toujours une option évidente).


D'un point de vue très simplifié (le mien), SSO est un add-on dans SAP qui vous permet de vous connecter en utilisant votre compte Windows. Vous allumez l'ordinateur, entrez le mot de passe et pour vous connecter à SAP, il vous suffit de double-cliquer.


Pour que la magie fonctionne, vous avez besoin de 5 composants:



2.1 Modification des paramètres système (instances SAP)


Dans le système SAP ( ECC , BI , SRM , Netweaver ), vous devez activer le paramètre snc / enable = 1. Cela se fait via sncwizard et comprend les étapes de préparation, de redémarrage du système et d'activation finale.



Nous avons déterminé les paramètres avant et après avec l'aide de ces consultants, l'aide d'autres départements et les essais et erreurs. La chose la plus difficile ici était de redémarrer le système.


Il est toujours difficile de redémarrer PRD en production, le travail se poursuit 24h / 24. Et dans une entreprise de transport, cela est doublement plus compliqué: le transport passe de cinq heures du matin à une heure du matin, même le week-end. Toute difficulté avec PRD affecte non seulement les employés de l'entreprise, mais la ville entière et des dizaines de milliers de personnes. En d'autres termes - vous devez minimiser le temps où le système n'est pas disponible et, si possible, combiner avec d'autres mises à jour. Dans le même temps, la bureaucratie ne doit pas être sous-estimée: le redémarrage est une date, une heure, une durée (si les paramètres ne sont pas enregistrés la première fois) et une notification commerciale.


Nous avions quatre systèmes SAP PRD: ECC, Netweaver, SRM, BI - pour le redémarrage


L'ECC est le plus important, toutes les données en temps réel et le transport principal y sont liés: bus, tramways.


Les données du système Netweaver (accidents, applications mobiles), ainsi que des systèmes ECC, sont utilisées même à 3 heures du matin - si les tramways ne fonctionnent pas, les équipes de réparation partent.


Système SRM - principalement utilisé pour l'approvisionnement et était disponible n'importe quel jour après 18h00.


Avec la BI, la difficulté est que le week-end, les flux de données de l'ECC vont au système.En outre, les rapports de la BI sont parfois utilisés par la direction en dehors des heures ouvrables.


Au total, il a fallu 2 semaines pour redémarrer tous les PRD.
PS Le redémarrage de chacun des systèmes PRD a été précédé par des redémarrages de tous les DEV et ACC, qui sont plus faciles à coordonner, mais nécessitent également une planification.


2.2 Windows Active Directory (AD)


Active Directory nécessite la création d'un utilisateur technique spécial (SAP Kerberos). Cet utilisateur contactera Windows pour obtenir une copie du ticket d'entrée pour SAP. Un tel utilisateur du service AD ​​suffit pour tous les systèmes SAP.



Cette partie a été entièrement réalisée par notre consultant externe et l'équipe Active Directory, elle comprenait plusieurs itérations pour affiner les paramètres et configurer la bibliothèque spéciale, mais pour moi elle restait plus une "boîte noire".


2.3 Installation de SAP Secure Login Client (SLC) sur l'ordinateur d'un utilisateur



Ce programme en lui-même ne fait rien. Vous en avez besoin pour stocker un ticket depuis AD qui confirme votre utilisateur lors de la connexion à une session Windows et, si nécessaire, soumettez ce ticket à SAP pour autorisation. SLC peut être installé pour tous les utilisateurs immédiatement au début du projet - sans les autres composants SSO, il ne fonctionnera pas de toute façon.


2.4 Liaison d'un utilisateur SAP à son utilisateur AD


Comme déjà mentionné, dans notre entreprise, il n'y a pas de gestion unique des utilisateurs, l'accès aux différents systèmes est obtenu auprès de différentes équipes. Dans ce cas, la connexion utilisateur dans SAP est différente du nom d'utilisateur dans Windows, par exemple, l'utilisateur # 45011 dans AD est Ivan Ivanov ou IVANOVI . C'est ce groupe qui doit être rempli dans SNC (via la transaction SU01, champ SNC, p: CN = ADname @ domain).



Notre entreprise ne dispose pas de SAP Identity Management. Par conséquent, il était nécessaire de résoudre deux problèmes: créer de nouveaux utilisateurs et mettre à jour les paramètres des utilisateurs existants.


Créer de nouveaux utilisateurs
Dans le système principal (ECC) chaque jour ouvrable, 4 à 6 nouvelles connexions sont créées, ce qui représente près de 1 000 nouveaux utilisateurs par an. Le processus est automatisé: lors de la création d'un utilisateur, le programme renseigne son adresse, son nom, ses paramètres de base. Nous avons décidé que le programme devrait également remplir le champ SNC au stade de la création de l'utilisateur, que la personne ait ou non besoin de l'authentification unique dans SAP par la suite.


Le hic était que pour chaque utilisateur, vous devez saisir un nom unique dans AD, c'est-à-dire ce n'est pas le même paramètre pour tout le monde - c'est-à-dire il est nécessaire que le programme lui-même recherche le nom d'utilisateur dans AD et le remplisse dans SAP.


Le développeur a rapidement mis à jour le programme. Le code et les tests de base ont pris 2 jours, mais les données de vérification dans ACC ne nous convenaient pas (AD n'était pas mis à jour), nous avons donc immédiatement envoyé les modifications à PRD. Il s'est avéré que tout est plus compliqué que nous ne le pensions. Au cours de l'enquête, nous sommes arrivés au schéma suivant:



  1. Tout d'abord, les utilisateurs sont créés dans le système RH (dans SAP, ils peuvent être vus dans PA20 )
  2. Ensuite, ils sont copiés dans la table Z, avec les données sur le département, la position, la position, s'il s'agit du lien principal, etc.
  3. Ensuite, les données utilisateur sont envoyées à AD et ici le système crée un utilisateur dans Windows et lui donne un nom dans AD et mail
  4. Le flux PI dans ce diagramme consiste simplement à comprendre qu'il s'agit d'un processus tiers du troisième système
  5. Les données sont recopiées dans SAP (dans la nouvelle table Z), cette fois uniquement les noms AD et les adresses e-mail
  6. À la dernière étape, le programme Z est lancé, ce qui crée des utilisateurs dans SAP ( SU01 ). Tous les utilisateurs créés dans le système RH ne seront pas créés ultérieurement dans SAP, nombreux sont ceux qui n'utilisent finalement pas SAP

Il a fallu près de deux semaines pour rechercher, coordonner les modifications, convenir d'un calendrier de mise à jour et de chargement / déchargement des tables. C'était une question de synchronisation - le programme de création d'utilisateurs (point 6) devrait être strictement lancé après que tous les autres programmes ont déjà fonctionné et que les données soient copiées dans des tableaux. En conséquence, nous avons suivi pendant deux semaines la date et le moment de la fin du programme et le débogage du programme.


Lorsque les utilisateurs sont créés avec le champ SNC rempli, mais sans les noms AD requis, dans SU01, vous pouvez voir tous les utilisateurs-associés malheureux liés à un utilisateur AD inexistant.



Mise à jour des paramètres utilisateur existants
Précisément parce que nos identifiants SAP et Windows ne correspondent pas, nous n'avons pas pu utiliser la solution SAP standard pour le remplissage en masse dans le domaine SNC ( RSUSR300 via le programme SNC1 ).


En conséquence, j'ai mis à jour les données de 10 000 utilisateurs existants à l'aide d'un script de fortune ( SAP eCATT ), en téléchargeant manuellement les données utilisateur et en créant une variante. Pour réussir, j'ai dû ouvrir pour changer les systèmes eCATT en PRD et ACC et promettre aux développeurs des millions de cookies.


2.5 Modification du fichier SAP logon.ini


Techniquement, c'est 1 minute. Il suffit de noter dans les propriétés du fichier que la connexion via SNC est disponible .



La difficulté est que ce fichier se trouve localement sur le PC de l'utilisateur et que deux mille utilisateurs doivent le changer.


En fait, pour nous, l'implémentation finale était le moment de distribuer le nouveau fichier sap.logon.ini entre les utilisateurs, plutôt que de changer les paramètres PRD. Parce que même si les quatre premiers composants sont déjà terminés et que le dernier cinquième ne l'est pas, la magie ne se produira pas.


Avec le dernier paragraphe est venu un petit incident. J'ai signalé à la direction que nous avons 2 000 utilisateurs qui auront installé la mise à jour et quand le moment est venu de l'implémenter, ils m'ont envoyé un état où il y en avait 3 500. Je me sentais mal à l'aise. En effet, pour ma part, je n'ai vu que des utilisateurs SAP actifs, mais en réalité, la mise à jour a été envoyée à tous les ordinateurs portables personnels, qui sont beaucoup plus dans l'entreprise. Dieu merci, aucun bug technique n'est survenu.


3. Test


Comment tester SSO? Soit ça marche ou pas. Notre développeur a grogné et a dit que vous n'aviez besoin de rien tester, et dès que tout fonctionne dans le bac à sable, vous devez l'envoyer en production. Bien sûr. Personne ne dira qu'il écrit du code avec des bugs.


Vous devez vérifier:


  • La connexion SAP fonctionne-t-elle avec SSO juste après le redémarrage
  • les utilisateurs peuvent-ils utiliser l'authentification unique lorsqu'ils sont connectés avec un VPN
  • difficultés pour les développeurs d'autres systèmes de modification de la connexion SAP

SSO n'est pas un programme, il est difficile de l'implémenter de manière cohérente DEV-ACC-PRD. Néanmoins, des tests initiaux sont nécessaires pour détecter tout ce qui pourrait potentiellement mal tourner. Le test dans ce cas est la distribution du nouveau logon.ini SAP lorsque tous les composants sont déjà en cours d'exécution. Nous avons testé DEV et ACC avec les développeurs et le nouveau SAP logon.ini avec PRD avec une sélection d'utilisateurs professionnels.


Ce qu'ils ont trouvé:


  • parfois (1 cas pour 500) vous devez réinstaller complètement la connexion SAP ou SLC
  • les utilisateurs clés qui ont le droit de changer d'autres utilisateurs (plus à ce sujet dans le paragraphe suivant)

4. SNC est un trou de sécurité


Qu'en est-il de la modification du champ SNC?
Le fait est qu'en changeant le champ SNC d'un autre utilisateur (dans SU01) en votre propre, vous pouvez vous connecter sous le compte de quelqu'un d'autre sans même changer le mot de passe. Le système vous demandera simplement quel utilisateur choisir, le vôtre ou celui de quelqu'un d'autre. Cependant, si vous faites cela, demain personne ne remarquera rien, car le mot de passe est resté inchangé.



Dans toute entreprise, il y a des gens qui s'occupent de la gestion des utilisateurs . En règle générale, ces personnes surveillent la création d'utilisateurs ( SU01 ) et l'accès pour eux ( PFCG ), ainsi que les mises à jour des mots de passe. Il est logique qu'ils puissent également remplir le champ SNC .


Le problème survient lorsque l'entreprise doit séparer la gestion des utilisateurs et uniquement les utilisateurs clés. Les administrateurs créent des utilisateurs, et des utilisateurs clés, si nécessaire, modifient leurs données: paramètres utilisateur, sa langue, son emplacement, etc.


Dans SAP, il n'y a pas d'étape de contrôle distincte pour modifier le champ SNC. Quiconque a le droit de changer d'utilisateur (objet S_USER_GRP, ACTVT 02 ) peut également changer le champ SNC (alors que changer le mot de passe nécessite le même objet, mais avec ACTVT 05 ).



Il peut y avoir plusieurs solutions:


  • retirer les droits d'accès à SU01 aux utilisateurs clés, et en réponse donner à chacun SU2 et SU3, où l'utilisateur peut modifier ses propres paramètres
  • retirer les droits d'accès à SU01, et en échange donner une transaction z où l'onglet SNC ne sera pas affiché
  • quitter SU01, mais protéger le champ SNC avec un contrôle spécial

En conséquence, nous avons choisi cette dernière option en créant un objet d'autorisation personnalisé et en liant le programme SU01 dessus. Cependant, comme il s'est avéré plus tard, SAP a une solution similaire - vous pouvez activer la maintenance étendue ( note 1882254 ) pour les champs SU01 individuels.


5. Travail d'équipe


Au cours du projet, j'ai rencontré toutes les difficultés du travail d'équipe et découvert de nombreuses vérités de base:


  • Il n'y a jamais beaucoup de temps . La marge de temps est la meilleure que le PM puisse offrir.
  • Il devrait y avoir un plan de projet de base , mais il doit être revu chaque semaine, laissant une grande marge de flexibilité. Quelque part nous nous sommes déplacés plus vite, quelque part piétinés sur place.
  • Les oncles adultes du service informatique ne diffèrent parfois pas du comportement des filles en matière de comptabilité : ils refusent de travailler les uns avec les autres, tout simplement parce qu'ils n'aiment pas la personne. Et encore une fois, il est nécessaire de résoudre les problèmes de subordination.
  • Souvent, les ministères entravent l'approbation du projet , car il n'est pas clair qui est responsable de la mise en œuvre et dont le budget des heures supplémentaires tombe. Il est important de laisser les gestionnaires discuter de tout directement.
  • Des situations imprévues surviennent de temps en temps . Le mieux qui puisse être est une communication opportune, une lettre, un appel, un SMS à toutes les personnes impliquées.
  • Il n'y a rien de mieux qu'une rencontre personnelle . Les questions sont résolues plusieurs fois plus rapidement que lorsque discutées par courrier. En revanche, tous les arrangements personnels doivent être immédiatement suivis d'une lettre ultérieure (afin de fixer et de ne pas oublier)
  • Les PM dans un projet informatique ne peuvent faire confiance qu'aux personnes . En fait, vous n'avez aucune idée du temps qu'il faudra pour telle ou telle action: par exemple, créer un utilisateur dans AD pour Kerberos, 10 minutes ou trois jours? Et il n'y a aucun moyen de vérifier si les tests se sont vraiment arrêtés ou si quelqu'un se moquait. Il ne reste plus qu'à faire confiance.

De plus, beaucoup dépend de la persévérance du consultant. Quelqu'un seul, ou consultant en développement ou PM, devrait être aussi impudent qu'une balle et frapper à travers les murs d'une bureaucratie. Dans ce cas, j'ai été en partie chanceux, notre consultant invité était ennuyeux et parfois insupportable (il était difficile de lui faire entendre quelque chose), mais il connaissait son entreprise: il a signalé des problèmes et s'arrête immédiatement et ne s'est pas calmé jusqu'à ce que le problème soit résolu.


6. Informations pour les entreprises


Dans une grande entreprise, les changements affectant les utilisateurs finaux doivent être opportuns et mieux annoncés à l'avance.


Dans notre cas, il était nécessaire d'informer tous les utilisateurs qu'ils n'avaient désormais plus besoin d'un mot de passe pour accéder à SAP. De plus, il était nécessaire de fournir une documentation technique pour la 1ère ligne de support avec toutes les erreurs possibles pouvant survenir après la mise en œuvre.


Je dois admettre qu'avec la communication tout ce qui aurait pu mal tourner.


Premièrement , nous avons annoncé aux utilisateurs à propos de l'authentification unique sur le site Web de l'entreprise, et non par lettre. À quelle fréquence lisez-vous un site Web d'entreprise? SAP .


- , , , , , , , ( - ?) , .


- , Go Live, , ( 2 ), . .


7. fuck-up


5- SSO SAP, , .


: . , — . . 2- , 500 -. .



. “use a default language SAP logon” — , , ( SU01 , Defaults ). « SAP» .


, -, .



- .


8.


SSO — , . , 1-2 , 3- .


. . , , , .


Beaucoup de choses sur l'authentification unique peuvent être connues depuis longtemps, du moins Google. Par exemple, à propos d'une demande de serveur à AD ou du champ SNC. Mais il y a une telle chose comme un manque de temps éternel. En tant que spécialiste, vous devez google, et en tant que chef de projet (surtout si vous ne pouvez pas le comprendre dans la première demi-heure et que vous n'avez pas de formation spécialisée), vous devez trouver le moyen le plus court de trouver une solution.


 ,     ,   . 

Solides:


  • Le principal temps en 3 mois a été consacré à la coordination et à la coordination des actions
  • Les départements impliqués dans ce projet ont commencé à mieux comprendre le travail de chacun.
  • Pendant les tests, vous devez vous présenter à la place de l'utilisateur final - ce que vous aimeriez voir dans le message d'information et dans les paramètres de base.
  • SSO pour SAP est implémenté. Les utilisateurs sont satisfaits et ont déjà oublié les moments où il était nécessaire de mémoriser le mot de passe de SAP. Appelez le support technique moins souvent, applaudissements.

Source: https://habr.com/ru/post/fr434404/


All Articles