Najlepsze praktyki w standardach nazw użytkowników: unikanie problemów

59

Chcę dowiedzieć się, jakie są ludzkie doświadczenia ze standardowymi nazwami użytkowników. Zawsze byłem w miejscach, w których używałem {firstInitial} {nazwisko} (czasami z ograniczeniem długości). Teraz mam użytkowników, którzy chcą {imię}. {Nazwisko} - i teraz okazuje się, że kropka może powodować problemy.

Konkretnie:

  • Jaki jest najlepszy limit długości nazwy użytkownika, aby zachować zgodność we wszystkich zastosowaniach?
  • Jakich postaci należy unikać?

AKTUALIZACJA: Powodem, dla którego nie wspomniałem o szczegółach, jest to, że chciałem być na tyle ogólny, aby poradzić sobie ze wszystkim, co może się wydarzyć w przyszłości. Może to jednak być zbyt ogólny wymóg (wszystko może się zdarzyć, prawda?).

Oto nasze środowisko: Ubuntu Server Lucid Lynx 10.04 LTS, Red Hat Enterprise Linux 5.6 i nowsze wersje, Windows Server 2003 i Windows 2000 Server (z Active Directory w Windows 2000 Native Mode), Zimbra 7.x dla poczty i OpenLDAP w najbliższej przyszłość.

AKTUALIZACJA: Powinienem wspomnieć (dla kompletności), że widziałem to pytanie (choć nie odpowiadało na moje zadane pytanie), a także ten post internetowy , które były bardzo pouczające.

Mei
źródło
4
Nie wspomniałeś o systemie operacyjnym / aplikacji. Czy chcesz, aby był zbyt ogólny, aby można go było zastosować w dowolnym systemie operacyjnym / aplikacji?
Khaled
13
Nasza firma licząca 80 000 osób używała standardu {firstInitial} {lastname} do logowania i adresu e-mail. Zmieniliśmy sytuację po gniewnym telefonie od pana Thomasa Wattsa, którego e-mail blokował nasz firewall. Miej wystarczająco dużo ludzi i będzie problem.
MaskedPlant
13
@MaskedPlant: Uwielbiam śmieszne nazwy użytkowników. Kiedyś mieliśmy klienta, który używał standardu IBM RACFID „pierwsze cztery znaki nazwiska, pierwsza inicjał, druga inicjał”. „Susan Penington” nie była z tego zadowolona, ​​jak można sobie wyobrazić. „Mary Utt” nie była też zadowolona z pierwszego inicjału / nazwiska w innej witrynie ...> uśmiech <
Evan Anderson
4
{first initial} {nazwisko} wydaje się być najczęstszym i jest względnie bezpieczny dla małych i średnich biz. Sprawia, że ​​dział sprzedaży znacznie łatwiej jest mieć wspólną konwencję podczas rozmów telefonicznych i rozmów B2B.
Chad Harrison
2
Przypomina mi się pasek Dilberta: search.dilbert.com/comic/Utthead
KeithS

Odpowiedzi:

65

Jest to chroniczny problem z dużymi systemami zarządzania tożsamością, które próbują skleić ze sobą systemy heterogeniczne. Niezmiennie będziesz ograniczony do najniższego wspólnego mianownika, który zbyt często jest 8-znakowym limitem alfanumerycznym ASCII dzięki niektórym (prawdopodobnie starszym) systemowi uniksowemu gdzieś w trzewiach centrum danych. Te fantazyjne nowoczesne systemy mogą przyjmować dowolne długości nazw użytkowników UTF8, których użycie jest mało prawdopodobne.

Spędziłem 7 lat w szkole wyższej, gdzie musieliśmy wymyślić 8-znakowe nazwy użytkowników dla 5000 nowych studentów każdego roku. Zanim wyjechałem, udało nam się wymyślić unikalne nazwiska dla 15 lat studentów. Można to zrobić, panie smitj510

Rzeczy, które znacznie ułatwią ci życie:

  • Dowiedz się, jaki jest Twój najniższy wspólny mianownik, który wymaga przeanalizowania każdej części systemu zarządzania tożsamością, aby ustalić, jakie są granice.
    • Ten stary system Solaris 7 wymusza limit 8 znaków.
    • Krytyczne aplikacje wykorzystujące dane tożsamości mają swoje własne ograniczenia, które należy wziąć pod uwagę.
      • Być może oczekują, że dane użytkowników z LDAP będą zgodne z unikalnym dla nich „standardem”.
      • Być może używana przez nich baza danych uwierzytelniania obsługuje tylko niektóre sformatowane dane.
  • Mieć tabelę bazy danych z listą One True Identifier (ta 8-znakowa nazwa konta), z linkami / polami zawierającymi alternatywne identyfikatory podobne firstname.lastnamelub cokolwiek innego, co mogłoby się pojawić.
    • Gotowe oprogramowanie może robić naprawdę dziwne i nieprzyjazne dla IDM rzeczy, takie jak używanie identyfikatora numerycznego dla nazwy konta lub automatyczne generowanie identyfikatorów konta na podstawie danych profilu. Wszystko to trafia także do tabeli bazy danych.
    • Pomaga to również osobom z imionami spoza [az | 0-9] w nazwiskach, takich jak Harry O'Neil, lub spoza ASCII, takimi jak Alžbêta.
  • Podczas budowania procesów synchronizacji kont skorzystaj z tabeli bazy danych, aby mieć pewność, że odpowiednie konta otrzymają odpowiednie aktualizacje. Kiedy zmieniają się nazwiska (małżeństwo, rozwód, inne), chcesz, aby zmiany te rozpowszechniły się we właściwych miejscach.
    • Skonfiguruj same rzeczywiste bazy danych tożsamości, aby w miarę możliwości zapobiec lokalnym zmianom, a proces biznesowy zdecydowanie zniechęcaj, gdy nie jest to możliwe. Polegaj na centralnym procesie synchronizacji konta dla wszystkiego, co możesz.
  • Wykorzystaj systemy aliasów, gdziekolwiek możesz, na przykład w wiadomości e-mail.
  • Rozważ niezmienne 8-znakowe ID, ponieważ zmiana tego pola może wywołać wiele bólu serca wśród pracowników IT, ponieważ trzeba odtworzyć konta.
    • Sugeruje to, że identyfikator konta nie pochodzi z danych imienia, ponieważ małżeństwo / rozwód / orzeczenie sądowe mogą z czasem zmienić dane imienia i nazwiska.
  • Przygotuj system wyjątków, ponieważ zawsze będzie jakiś.
    • Okropny rozwód i ten 8-znakowy identyfikator użytkownika generowany na podstawie danych przywołuje szokujące wspomnienia za każdym razem, gdy trzeba go wprowadzić? Bądź miły dla swoich użytkowników i pozwól mechanizmowi tych zmian, ale bądź cicho.
  • Zrób, co możesz, aby umożliwić wielokrotne logowanie się do nazwy użytkownika w systemach, w których jest to możliwe
    • Niektórzy ludzie lubią swój 8-znakowy identyfikator użytkownika, inni jak imię[email protected]. Bądź elastyczny, zaprzyjaźnij się.
    • Czasami wymaga to przestawienia systemów internetowych na strukturę , taką jak CAS . Zdziwisz się, ile gotowych systemów może obsługiwać takie struktury SSO, więc nie zniechęcaj się.

Innymi słowy, traktuj to jak problem z bazami danych, ponieważ tak właśnie jest. Wybierz klucz podstawowy, aby uzyskać maksymalną kompatybilność z systemami (prawdopodobnie 8 znaków), zbuduj tabelę przeglądową, aby umożliwić systemom translację lokalnych identyfikatorów na klucz podstawowy i zaprojektuj systemy synchronizacji danych do obsługi różnych identyfikatorów.

sysadmin1138
źródło
4
Fantastyczna i dobrze napisana (i pouczająca) odpowiedź!
Mei
12
+1 Za nie wyprowadzanie nazw użytkowników z danych nazw. Konieczność zmiany nazwy katalogów domowych z powodu małżeństwa / rozwodu jest irytująca. Twoje stwierdzenie o „dziwnych postaciach” przywodzi mi na myśl Małe Stoły Bobby'ego i woźnego w mojej starej szkole średniej, który, jak jestem pewien, ma problemy z zakupem przez Internet, panie Robert Null (nie żartuję).
Evan Anderson
Lubię „Mieć system wyjątków, bo zawsze będzie jakiś”. część. To zdecydowanie bardzo prawda. Chociaż nie rozumiem, jak smithj510tworzy świetną ośmioznakową nazwę użytkownika;)
scherand
2
+1 za zajęcie się małżeństwem i rozwodem. To spowodowało tak wiele problemów. Wiele firm działa tak, jakby pracownik jako pierwszy musiał zmienić swoje nazwisko.
mhoran_psprep
5
@mhoran_psprep A jeśli jesteś na tyle duże, idziesz do kogoś robi prawną pierwszą zmianę nazwy. W takim przypadku wiele systemów skonfigurowanych pod kątem zmian nazwisk ulega awarii.
sysadmin1138
26

Twoje pytania w szczególności:

  • Jaki jest najlepszy limit długości nazwy użytkownika, aby zachować zgodność we wszystkich zastosowaniach?

Nie ma takiej rzeczy. Są tylko „twoje” zastosowania, które mogą obejmować twoje przyszłe zastosowania. Nie mamy pojęcia, co to jest.

  • Jakich postaci należy unikać?

Będzie to zależeć od systemów komputerowych, z którymi masz do czynienia. Na przykład system Windows nie ma problemów z kropką w nazwie użytkownika. W rzeczywistości UPN jest sformatowany jak adres e-mail, co pozwala na kropkę.

Moje dalsze przemyślenia:

  • Nie pozwól użytkownikom pytać - powiedz im, jaki jest standard, i bądź otwarty na firmę (nie indywidualnych użytkowników), która żąda zmian w standardzie w miarę zmiany wymagań.
  • Opracuj „zasadę wyjątku” w standardzie, aby pomóc biednej Susan Penington i Mary Utt (z powyższych komentarzy) bez konieczności angażowania wiceprezydenta. Spraw, by IT wyglądało dobrze, prawda?
mfinni
źródło
15
Ten ostatni komentarz jest wart +50 :)
Mei
2
Wymyślenie rozsądnych wyjątków ma kluczowe znaczenie. Przez lata istniało wiele wyjątków: wielu użytkowników o tym samym nazwisku i nazwisku, użytkownicy o bardzo długich nazwiskach, użytkownicy o takich samych imionach i nazwiskach, użytkownicy odwiedzający Chiny i dział HR zostali całkowicie zakodowani, ktoś którego imię było napisane „Raymond luksusowych jachtów”, ale wymawiane „Throatwobbler mangrowe” ...
Ward
BobHope, BobHope01, BobHope3, BobHopeAccounting, BobHopeHartford
mfinni
2
Tak, z wyjątkiem! Niektóre kraje w Afryce nawet nie znają pojęcia „imię” i „nazwisko”: imię ojca staje się nazwiskiem syna, a syn otrzymuje nowe imię ...
Konerak
2
Radziłbym wyjść poza zwykłe zasady wyjątków i identyfikować użytkowników, którzy prawdopodobnie skorzystaliby z nich w momencie początkowego tworzenia konta. „Moja nazwa użytkownika jest okropna” nie powinna być czymś, co nowy pracownik powinien martwić pierwszego dnia. Wyjaśnienie standardowej polityki w połączeniu z uznaniem, że może ona nie być odpowiednia dla danej osoby, wraz z sugerowaną alternatywą jest znacznie mniej stresujące. Możliwe nawet uzyskanie informacji kontaktowych od HR, abyś mógł rozwiązać problem przed pierwszym dniem.
Dan Neely
20

Z mojego doświadczenia wynika, że ​​w przypadku wystarczająco dużego przedsiębiorstwa każda decyzja, którą podejmiesz, zawsze będzie miała problemy. Nawet jeśli działa dzisiaj, zawsze będzie system, który wdrażasz jutro, który ma problemy z poprzednim standardem (problemy z długością, problemy z postaciami itp.).

Upewnij się, aby dowiedzieć się, czy wypychanie Firstname.Lastname odnosi się do wiadomości e-mail i niekoniecznie nazw logowania. Trudno mi uwierzyć, że użytkownik chce wpisać „John.Smith” zamiast „jsmith” podczas logowania, ale jestem o wiele bardziej przekonany, że chce „[email protected] ”jako jego adres e-mail. Jak wskazuje @Mfinni, zawsze istnieje możliwość, aby użytkownicy mieli wiele aliasów e-mail, przekazuje dalej itp. Po prostu powiadomienie użytkowników, że istnieje opcja oddzielenia nazwy użytkownika od adresu e-mail, może zmienić dynamikę żądania.

Evan Anderson
źródło
1
I to nie tak, że użytkownicy mogą mieć tylko jeden adres e-mail. Zawsze są aliasy i przekazywanie.
mfinni
3
Nasi użytkownicy UPN i podstawowe adresy e-mail są zawsze identyczne, więc po prostu mówimy naszym użytkownikom, aby logowali się przy użyciu swojego adresu e-mail, gdziekolwiek chcą się zalogować. Działa świetnie, ponieważ nie mamy żadnego starego oprogramowania, które polega na netbios.
pauska
Z mojego doświadczenia wynika, że ​​w przypadku wystarczająco dużego przedsiębiorstwa każda decyzja, którą podejmiesz, zawsze będzie miała problemy. Nawet jeśli działa dzisiaj, zawsze istnieje system, który wdrażasz jutro, który ma problemy. ”- Czy możemy nazwać to prawem Andersona?
Freiheit
@Freiheit: Moje oświadczenie nie zasługuje na swoją własną nazwę ...> uśmiech <Jest tak naprawdę spowodowane ogólnym zastosowaniem Prawa Murphy'ego do IT. Murphy mieszka w IT ...
Evan Anderson
1
Szkoda, że ​​nie miałem tego Wiki Wiki teraz ...> uśmiech <
Evan Anderson
13

W systemach Unix i Linux, {firstInitial} {lastname} jest wyraźnie idealny.

...

z powodów, które powinny wynikać z nazwy powiązanej z tym kontem.

Robert Oot
źródło
3
Nie zgadzam się, ale czy możesz wyjaśnić, dlaczego to mówisz?
mfinni
W rzeczywistości się nie zgodzę. W systemach AIX w mojej ostatniej pracy mieliśmy ograniczoną liczbę znaków do 8. Zatem mfinnigan byłby niemożliwy; Musiałem być mfinniga. Proszę więc nieco rozszerzyć swoją odpowiedź.
mfinni
2
To jest subiektywna odpowiedź bez wyjaśnienia. Równie łatwo można powiedzieć, że w systemie UNIX {firstInitial} {middleInitial} {lastInitial} jest „idealny”, ponieważ od tego zaczął się UNIX i tak było od lat (dopóki korporacje zatrudniające tysiące pracowników o nazwach użytkowników nie zaczęły go używać ...)
Mei
10
Myślę, że to może być żart. Nazywałby się „root”, znaczący użytkownik w systemach uniksowych.
Jeffrey
4
... R obert Oot ... ouch! ZABAWNY! Nie wiem jak mi tego brakowało.
Mei
7

Jedną z rzeczy, o których należy pamiętać przy ustalaniu standardów nazewnictwa na różnych platformach, jest szczególny problem kosmetyczny w ps w Linuksie (i ewentualnie w innych systemach uniksowych). Możesz o to dbać lub nie (ale może to być niepokojące dla kogoś, kto się tego nie spodziewa ... Miałem kłopoty z ochroną).

Kolumna UID wyświetli tylko do 8 znaków nazwy użytkownika. Jeśli nazwa użytkownika jest dłuższa niż 8 znaków, przejdzie do drukowania rzeczywistego numerycznego UID. Możesz obejść ten problem, mając niestandardowy format kolumny ps, który zawiera pole USER, ale TYLKO jeśli USER jest ostatnią kolumną (z moich testów empirycznych).

Większość ludzi prawdopodobnie nie przejmuje się tym, ale jeśli robisz jakieś przetwarzanie danych wyjściowych ps i spodziewasz się, że pojawią się prawdziwe nazwy użytkowników, powinieneś uważać na długość swoich nazw (w przeciwnym razie wstawisz hacki w kodzie aby ps zrobił właściwą rzecz).

Na przykład:

Oto domyślny format kolumny dla pełnego wykazu formatów. Pamiętaj, że mój identyfikator użytkownika ma format numeryczny, ponieważ moja nazwa użytkownika ma> 8 znaków.

[tcampbell@tst-agg1 ~]$ ps -f
  UID        PID  PPID  C STIME TTY          TIME CMD
 2108      1368  1367  0 Jan10 pts/3    00:00:00 -bash
 2108     22303  1368  0 12:07 pts/3    00:00:00 ps -f

Utwórzmy go ponownie, używając niestandardowego formatu kolumny. Pamiętaj, że dodałem kolumnę USER. Pamiętaj, że jest on również w formacie numerycznym.

[tcampbell@tst-agg1 ~]$ ps -o uid,user,c,stime,tty,time,cmd    
  UID USER      C STIME TT           TIME CMD
 2108 2108      0 Jan10 pts/3    00:00:00 -bash
 2108 2108      0 12:05 pts/3    00:00:00 ps -o uid,user,c,stime,tty,time,cmd

Przenieśmy USER na koniec linii. Zostaje rozwinięty do „właściwej” mocy wyjściowej.

[tcampbell@tst-agg1 ~]$ ps -o uid,user,c,stime,tty,time,cmd,user
  UID USER      C STIME TT           TIME CMD                         USER
 2108 2108      0 Jan10 pts/3    00:00:00 -bash                       tcampbell
 2108 2108      0 12:05 pts/3    00:00:00 ps -o uid,user,c,stime,tty, tcampbell

Ale gdy tylko dodamy coś nowego na końcu listy kolumn, powraca do postaci liczbowej.

[tcampbell@tst-agg1 ~]$ ps -o uid,user,c,stime,tty,time,cmd,user,pid
  UID USER      C STIME TT           TIME CMD                         USER       PID
 2108 2108      0 Jan10 pts/3    00:00:00 -bash                       2108      1368
 2108 2108      0 12:05 pts/3    00:00:00 ps -o uid,user,c,stime,tty, 2108     21756
Travis Campbell
źródło
Który system operacyjny ma zastosowanie?
mfinni
Ciekawy! Zawsze się nad tym zastanawiałem - dlaczego używano liczb. lastKomenda ma pokrewny problem: to obcina swoje zapisy do 8 znaków.
Mei
Edytowane, aby odzwierciedlić, że mówiłem o Linuksie. Nie wiem, jak to minęło w moich oryginalnych edycjach.
Travis Campbell,
-1

[niektóre litery od imienia] [niektóre litery od nazwiska] [nnn]

foreg: Jeśli nazywa się Bill Gates, możesz użyć „ biga00 ” lub bilgat000

jeśli przyjdzie kolejna bramka, będzie to dla niego „biga01” lub bilgat001

SKumar
źródło
-1

Z punktu widzenia operacji, administracji i konserwacji (OAM) nazwę użytkownika należy łatwo odróżnić. Jednak z biznesowego punktu widzenia nazwa użytkownika (alias e / k / e-mail) musi być łatwo zapamiętana lub przywołana przez innych.

Może to być:

  • first.last.index@domain
  • first (initial) .last.index @ domain
Eddie
źródło