Migração do repositório de usuários

IBM® Verify oferece uma maneira simples de migrar repositórios de usuários. O processo padrão para integrar usuários do Verify consiste em utilizar a API REST fornecida. Você pode usar o método de importação CSV para integrar usuários rapidamente.

IBM Verify suporta as seguintes formas de importar dados do usuário.
  • Entrada manual.
  • CSV API de importação
  • API do usuário (única)
  • API de carregamento em massa (múltiplo)
O método de importação ` CSV ` é a abordagem mais comum.

Informações sobre os dados

Formato dos dados
Para importar usuários com o método CSV, Verify é necessário converter seu repositório de usuários — seja um banco de dados do tipo “ LDAP ” ou um banco de dados SQL — para o formato CSV, compatível com o UTF-8. Certifique-se de que o método que você pretende usar para converter seus dados seja compatível com esse formato.
Tipo de usuário
É importante observar o tipo de usuários que você está importando. Se você não estiver familiarizado com o Verify modelo do Cloud Directory, leia o artigo sobre a estrutura do Verify diretório. Para essa tarefa, os usuários que estão sendo importados recebem uma conta de usuário padrão do diretório na nuvem, com uma senha local, gerada no momento da criação do usuário. O tipo de regular usuário determina esse tipo de usuário. Se você quiser importar apenas os metadados do usuário sem uma senha local, é necessário substituir os valores dos realm atributos e userCategory.
Token de acesso
O cliente da API usado para importar usuários deve ter pelo menos uma das seguintes permissões em IBM Verify.
  • Gerenciar usuários e grupos
  • Sincronizar usuários e grupos
  • Gerenciar usuários e grupos padrão
O aplicativo deve obter um token de acesso utilizando o fluxo de credenciais do cliente.

Obter cabeçalhos do ` CSV `

Para estruturar corretamente seu arquivo ` CSV ` para importação, você precisa primeiro entender quais são as opções de cabeçalho disponíveis. Se você estiver familiarizado com o esquema de usuários, o nome do cabeçalho corresponde ao identificador do atributo no SCIM. Se você estiver usando um atributo personalizado, então o valor especificado durante a criação do atributo.

curl -X GET "https://${tenant_url}/v2.0/CSV/headerNames?filter=user" -H "Authorization: Bearer ${access_token}"
Esta resposta inclui todos os nomes de cabeçalho possíveis. O nome que você usa na coluna “a” do arquivo “ CSV ” é o nome do name objeto. No exemplo de chamada, foi adicionado um filtro de usuário para impedir que os nomes dos atributos dos Grupos fossem retornados.

Crie o arquivo ` CSV `

Para criar um arquivo ` CSV ` simples e rápido contendo os campos básicos do usuário, com uma senha gerada automaticamente, use este exemplo.

preferred_username given_name family_name email
user1 John Doe jdoe@example.com
user2 Jane Smith jsmith@example.com
user3 John Jones jjones@example.com
Adicione mais colunas, conforme necessário. Os valores dos atributos sempre podem ser atualizados posteriormente no painel de administração. Salve este arquivo como um arquivo de texto com codificação UTF-8 e formato CSV. O tamanho máximo do arquivo é de 10 MB. Se o seu arquivo for muito grande, divida-o em vários arquivos CSV.
Observação: Se você exportou seu arquivo ` CSV ` do Excel, a codificação muitas vezes inclui alguns caracteres estranhos no início do arquivo. Abra o arquivo em um editor de texto simples e apague os caracteres. Os caracteres têm a seguinte aparência:  e são conhecidos como Byte Order Mark (BOM). Se você não conseguir ver os caracteres no editor de texto, copie e cole o texto em um novo editor de texto e salve como um novo arquivo.

Migração de senha

Verify suporta a integração de migração de senhas existentes e senhas fornecidas em texto simples. Se você quiser criar usuários com uma senha conhecida ou criptografada, adicione uma coluna chamada password a cada linha de usuário; Verify isso cria um usuário com essa senha. {TYPE}Se o seu banco de dados ou LDAP fornecer o hash unidirecional em um dos formatos compatíveis, você deverá obter o valor e adicionar o prefixo. Por exemplo, se você estiver usando Salted-SHA256, o valor deve ser precedido por {SSHA256}.
Observação: Se sua senha contiver o '+' símbolo, substitua todos “+” os símbolos por “%2B”.

Exemplo de arquivo ` CSV `

Este exemplo é um arquivo ` CSV ` com o mínimo de informações.
preferred_username,given_name,family_name,email
user1,John,Doe,jdoe@example.com
user2,Jane,Smith,jsmith@example.com
user3,John,Jones,jjones@example.com
Observação: os espaços após as vírgulas interrompem a importação.

Importar o arquivo

Depois que o arquivo for criado, há mais algumas configurações disponíveis. Na chamada a seguir, todas as notificações por e-mail sobre novas contas são suprimidas por meio do parâmetro notifyType=NONE. Uma senha aleatória é criada no primeiro login, mas o usuário não precisa redefini-la (ele pode redefini-la mais tarde). Para desativar a exigência de alteração de senha no primeiro login, adicione o cabeçalho usershouldnotneedtoresetpassword: true.
curl --location -X POST "https://${tenant_url}/v2.0/CSV/importUsers?notifyType=NONE" \
--header "Authorization: Bearer ${access_token}" \
--header 'usershouldnotneedtoresetpassword: true' \
--form 'file=@/path/to/file/user_import.csv'

Se o arquivo tiver sido formatado corretamente e aceito, você receberá um ID de volta. Esse ID pode ser usado para consultar a API de status e verificar se tudo está funcionando corretamente. Os usuários são processados linearmente. Um arquivo com tamanho máximo de 10 MB pode levar cerca de 15 a 20 minutos para ser processado.

Observação: no caso de uma senha aleatória, o usuário sempre recebe um e-mail, independentemente da configuração de notificação. Se a senha estiver definida no arquivo ` CSV `, a opção `notify` será definida como `NONE` e o usuário não receberá um e-mail.

Verificar o status da importação

Enquanto os usuários estão sendo processados, você pode verificar o status atual da importação acessando a API de tarefas do CSV.
curl --location --request GET "https://${tenant_url}/v2.0/CSV/jobs/${id}" \
--header "Authorization: Bearer ${access_token}"
A resposta fornece o número state atual e as estatísticas sobre o número de usuários que ainda não foram processados (unprocessedCount), bem como sobre os usuários que foram processados e adicionados (processedCount). Caso ocorram erros, é fornecida uma contagem (errorsCount).

Carregamento em Massa

Você pode migrar milhões de usuários usando as APIs em massa. Consulte https://docs.verify.ibm.com/verify/reference/bulkrequest. No entanto, é mais eficiente entrar em contato com a equipe do Verify para que eles programem o carregamento em massa para você. Você pode abrir um ticket de suporte com a equipe de suporte da IBM usando a Comunidade de Suporte IBM, disponível na web, ou por telefone (1-800- IBM -SERV (800-426-7378). A equipe de gerenciamento de serviços oferece a você um local seguro para fazer uploads. VerifyVocê pode então enviar seus dados de usuário para este local, e a equipe de gerenciamento do serviço fará o carregamento dos seus dados.