Práticas recomendadas em padrões de nome de usuário: evitando problemas

55

Estou interessado em descobrir quais são as experiências das pessoas com nomes de usuário padrão. Eu sempre estive em lugares que usavam {firstInitial} {lastname} (às vezes com um limite de tamanho). Agora eu tenho usuários que querem {firstname}. {Lastname} - e agora surge que o período pode causar problemas.

Especificamente:

  • Qual é o melhor limite de tamanho de nome de usuário a ser usado para manter a compatibilidade em todos os usos?
  • Quais caracteres devem ser evitados?

ATUALIZAÇÃO: A razão pela qual eu não mencionei detalhes é que eu queria ser geral o suficiente para lidar com qualquer coisa que pudesse surgir no futuro. No entanto, isso pode ser muito geral de um requisito (qualquer coisa pode acontecer, certo?).

Este é o nosso ambiente: Ubuntu Server Lucid Lynx 10.04 LTS, Red Hat Enterprise Linux 5.6 e superior, Windows Server 2003 e Windows 2000 Server (com Active Directory no modo nativo do Windows 2000), Zimbra 7.x para correio e OpenLDAP no futuro próximo.

ATUALIZAÇÃO: devo mencionar (por completo) que eu vi esta questão (embora não tenha respondido a minha pergunta) e também este web post , ambos muito informativos.

    
por Mei 11.01.2012 / 16:30

7 respostas

62

Este é um problema crônico com grandes sistemas de gerenciamento de identidades tentando colar sistemas heterogêneos. Invariavelmente, você estará limitado ao menor denominador comum, que muitas vezes é um limite alfanumérico ASCII de 8 caracteres, graças a algum sistema (provavelmente herdado) similar ao Unix em algum lugar nas entranhas do datacenter. Aqueles sofisticados sistemas modernos podem ter um comprimento arbitrário. É improvável que os nomes de usuário UTF8 sejam usados.

Eu passei 7 anos em uma instituição de ensino superior, onde tivemos que descobrir nomes de usuário de 8 caracteres para 5000 novos alunos a cada ano. Conseguimos chegar a nomes exclusivos para 15 anos de estudantes quando eu saí. Isso pode ser feito, Mr. smitj510

Coisas que facilitarão sua vida de maneira incomensurável:

  • Descubra qual é o seu menor denominador comum, o que exige analisar cada parte do seu sistema de gerenciamento de identidades para descobrir quais são os limites.
    • Esse antigo sistema Solaris 7 está forçando o limite de oito caracteres.
    • Aplicativos críticos que usam dados de identidade têm seus próprios limites que você terá que considerar.
      • Talvez eles esperem que os dados do usuário do LDAP estejam em conformidade com um "padrão" exclusivo para eles.
      • Talvez o banco de dados de autenticação que eles usam possa manipular apenas determinados dados formatados.
  • Tenha uma tabela de banco de dados com uma lista do Identificador Único (esse nome de conta com 8 caracteres), com links / campos listando IDs alternativos como firstname.lastname ou qualquer outra coisa que possa surgir.
    • O software pronto para uso pode fazer coisas muito estranhas e hostis ao IDM, como usar um ID numérico para o nome da conta ou gerar automaticamente IDs de conta com base nos dados do perfil. Tudo o que entra na tabela de banco de dados também.
    • Isso também ajuda pessoas com caracteres não-[a-z | 0-9] em seus nomes, como Harry O'Neil, ou não-ASCII, como Alžbêta.
  • Ao criar seus processos de sincronização de conta, aproveite essa tabela de banco de dados para garantir que as contas certas recebam as atualizações corretas. Quando os nomes mudam (casamento, divórcio, outros), você quer que essas mudanças se propaguem para os lugares certos.
    • Configure os bancos de dados de identidade propriamente ditos para evitar alterações locais sempre que possível, e o processo comercial para desencorajar isso quando não for possível. Confie no processo central de sincronização de contas para tudo o que puder.
  • Use os sistemas de alias sempre que possível, como no e-mail.
  • Considere a ID 8-char imutável, já que alterar esse campo pode causar muita dor de coração entre a equipe de TI, já que as contas precisam ser recriadas.
    • Isso sugere uma ID de conta não derivada dos dados de nome, pois casamento / divórcio / ordem judicial podem alterar os dados de nome ao longo do tempo.
  • Tenha um sistema para exceções, pois sempre haverá algumas.
      divórcio horrível e que o nome de dados gerado 8-char UID traz memórias dolorosas toda vez que você tem que entrar nele? Seja gentil com seus usuários e permita um mecanismo para essas mudanças, mas mantenha-o em sigilo.
  • Faça o que puder para permitir vários logins de nome de usuário nos sistemas em que essa é uma opção
    • Algumas pessoas gostam do uid de 8 caracteres, outras como [email protected]. Seja flexível, faça amigos.
    • Às vezes, isso exige frontear seus sistemas baseados na Web com uma CAS . Você ficará surpreso com quantos sistemas externos podem suportar estruturas de SSO como essa, por isso não desanime.

Ou seja, trate-o como um problema de banco de dados porque é isso mesmo. Escolha uma chave primária para compatibilidade máxima com seus sistemas (provavelmente 8 caracteres), crie uma tabela de consulta para permitir que os sistemas convertam IDs locais para a chave primária e projete seus sistemas de sincronização de dados para lidar com vários IDs.

    
por 11.01.2012 / 19:41
24

Suas perguntas especificamente:

  • Qual é o melhor limite de tamanho de nome de usuário a ser usado para manter a compatibilidade em todos os usos?

Não existe tal coisa. Há apenas "seus" usos, que podem incluir seus usos futuros. Não temos ideia do que são esses.

  • Quais caracteres devem ser evitados?

Isso dependerá de quais sistemas de computadores você está lidando. O Windows, por exemplo, não tem problemas com um período no nome de usuário. Na verdade, o UPN é formatado como um endereço de e-mail, o que permite um período.

Meus pensamentos adicionais:

  • Não permita que seus usuários perguntem - informe a eles qual é o padrão e esteja aberto à empresa (e não a usuários individuais) solicitando alterações no padrão à medida que os requisitos mudam.
  • Faça uma "política de exceção" no padrão, para que você possa ajudar a pobre Susan Penington e Mary Utt (a partir dos comentários acima) sem precisar envolver um vice-presidente. Faça com que a TI pareça boa, certo?
por 11.01.2012 / 16:40
19

Minha experiência tem sido que, para uma empresa suficientemente grande, qualquer decisão que você tome sempre terá problemas. Mesmo que funcione hoje, há sempre o sistema que você implementa amanhã que tem problemas com o padrão anterior (problemas de comprimento, problemas de caractere, etc.).

Certifique-se de descobrir se o push de Firstname.Lastname está relacionado a e-mail e não necessariamente a nomes de login. Acho difícil acreditar que o usuário queira digitar "John.Smith" em vez de "jsmith" ao fazer logon, mas estou muito mais vendido com a ideia de que ele queira "[email protected] "como seu endereço de e-mail. Como aponta o @Mfinni, há sempre a opção de os usuários possuírem aliases de e-mail múltiplos, encaminhamentos, etc. Permitir que os usuários saibam que existe a opção de desacoplar seu nome de usuário de seu endereço de e-mail pode alterar a dinâmica da solicitação.

    
por 11.01.2012 / 16:37
13

Para sistemas Unix e Linux, {firstInitial} {lastname} é claramente ideal.

...

por motivos que devem ser óbvios a partir do nome associado a essa conta.

    
por 12.01.2012 / 10:30
7

Uma coisa a ter em conta ao definir padrões de nomenclatura em plataformas é um problema cosmético em particular no ps no Linux (e possivelmente em outros sistemas operacionais Unix). Você pode ou não se importar com isso (mas pode ser alarmante para alguém que não está esperando isso ... Eu tive pessoas de segurança se contorcendo nessa).

A coluna UID exibirá somente até 8 caracteres de um nome de usuário. Se o nome de usuário tiver mais de 8 caracteres, ele será alternado para a impressão do UID numérico real. Você pode contornar isso tendo um formato de coluna ps personalizado que contém o campo USER, mas SOMENTE se USER for a última coluna (do meu teste empírico).

A maioria das pessoas provavelmente não se importa com isso, mas se você estiver fazendo algum tipo de processamento de saída de ps e esperando que os nomes de usuários reais apareçam, você deve ser cuidadoso com o comprimento dos seus nomes. em seu código para fazer ps fazer a coisa certa).

Por exemplo:

Este é o formato de coluna padrão para a listagem de formato completo. Observe que meu uid está em formato numérico porque meu nome de usuário é > 8 caracteres.

[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

Vamos recriá-lo usando um formato de coluna personalizado. Observe que adicionei a coluna USER. Note que também está no formato numérico.

[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

Vamos mover USER para o final da linha. Ele é expandido para a saída "direita".

[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

Mas, assim que adicionarmos algo novo ao final da lista de colunas, ele volta à forma numérica.

[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
    
por 11.01.2012 / 18:12
-1

[algumas letras do nome] [algumas letras do sobrenome] [nnn]

foreg: Se o nome for Bill Gates, você pode usar ' biga00 ' ou bilgat000

Se os próximos portões de faturamento vierem, ele será 'biga01' ou bilgat001 'para ele

    
por 12.01.2012 / 12:27
-1

Bem, do ponto de vista de Operações, Administração e Manutenção (OAM), o nome de usuário precisa ser facilmente distinguido. No entanto, do ponto de vista comercial, o nome de usuário (um alias de e-mail / a / k / a) deve ser facilmente lembrado ou lembrado por outras pessoas.

Pode ser assim:

  • first.last.index@domain
  • primeiro (inicial) .last.index @ domain
por 12.01.2012 / 06:42