Assunto

Produto:

Banco de Dados

Versões:

Todas

Ocorrência:

Logins de Banco de Dados e alterações das senhas correspondentes

Ambiente:

RM

Passo a passo:

Para o correto funcionamento do sistema CorporeRM, as parametrizações de segurança e acesso são implementadas no Banco de Dados da seguinte maneira:

Existem, a princípio, dois usuários de Banco, um usuário chamado 'SYSDBA' com senha 'masterkey' e o 'RM' com senha 'rm'. O usuário RM será o Owner das tabelas, nomeado formalmente no Banco de Dados de SYSADMIN e o usuário SYSDBA terá acesso a 14 tabelas, conforme listado abaixo. Qualquer alteração realizada através do Banco de Dados nesses objetos, impossibilitará o acesso ao sistema, pois ocorrerá a quebra do campo Controle:


  • GACESSO (select)
  • GCOLIGADA (select)
  • GDATALOG (insert, select)
  • GMAILPARAMS (select)
  • GPARAMETROSSISTEMA (select)
  • GPARAMS (select)
  • GPERMIS (select)
  • GSERVICO (select)
  • GSESSAOFLUIG (delete, insert, select)
  • GSISTEMA (select)
  • GULTIMOCONTEXTOUSUARIO (delete, insert, select, update)
  • GUPGATUALIZACAO (select)
  • GUSRPERFIL (select)
  • GUSUARIO (select, update)

 

COMO FUNCIONA O LOGIN NO CORPORE:

O acesso ao CorporeRM por um determinado usuário da aplicação, sucede nas seguintes etapas:


Aplicação Dephi (executável do modulo)

a) A .dll de login do sistema acessa (com usuário 'SYSDBA' e senha 'masterkey') os objetos necessários que possuem os dados básicos, criptografados, para liberar ou não o acesso ao sistema. Por esse motivo a senha do usuário SYSDBA só pode ser alterada caso seja criado o arquivo CorporeRM.ini

b) Uma vez que o usuário digitou seu nome e senha correta, o aplicativo acessa tabela GUSUARIO para verificar o CODACESSO correspondente ao usuário que efetuou o login;.

c) Através da identificação do Código de Acesso, o sistema realiza uma consulta no objeto GACESSO para identificar o DBUSERNAME e o DBPASSWORD, que serão utilizados pelo sistema para a comunicação com o Banco de Dados..


Aplicação .net (Nova MDI)

a) Através do arquivo Alias.dat (diretório RM.net), com o login/usuário Sysdba o sistema realize diversas consultas nos objetos globais, como GUPGATUALIZACAO e GULTIMOCONTEXTOUSUARIO;

b) Uma vez que o usuário digitou seu nome e senha correta, o aplicativo acessa tabela GUSUARIO para verificar o CODACESSO correspondente ao usuário que efetuou o login;.

c) Através da identificação do Código de Acesso, o sistema realiza uma consulta no objeto GACESSO para identificar o DBUSERNAME e o DBPASSWORD, que serão utilizados pelo sistema para a comunicação com o Banco de Dados..


Esse processo não é visível para o usuário, sendo assim, é importante garantir a conexão com o Banco de Dados através AliasManager, antes de acessar a aplicação.







As configurações de segurança (incluí-se a criação dos logins/usuários) devem ser realizadas conforme os scripts de Acerta Usuários. A criação de usuários com permissões indevidas, poderá influenciar no desempenho do sistema e ocasionar erros.

http://tdn.totvs.com/x/lqslE (Acerta Usuários - Oracle)

http://tdn.totvs.com/x/naslE (Acerta Usuários - SQL Server)


ALTERANDO A SENHA DO USUÁRIO RM

Para realizar a alteração da senha do usuário RM, é necessário executar o seguinte procedimento:

  1. Realize um backup do banco de dados;
    1. http://tdn.totvs.com/x/qYCPDw
    2. http://tdn.totvs.com/x/bwGxAw

  2. Acesse a aplicação utilizando um usuário supervisor;

  3. Acesse a 'Serviços Globais' / 'Segurança' / 'Códigos de Acesso';



  4. Altere os campos 'Nova Senha' e 'Confirmação de Nova Senha' no ícone correspondente, definindo a futura senha do usuário de banco RM.

  5. Altere no banco a senha do usuário RM.
    1. SQL Server https://social.msdn.microsoft.com/Forums/sqlserver/en-US/39ad1085-6c8c-476b-a84a-01b16f39211e/how-to-change-sql-server-login-password?forum=sqlsecurity
    2. Oracle https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_4003.htm


Em seguida, é orientado realizar o seguinte procedimento:

  1. Finalizar/Fechar o(s) aplicativo(s) CorporeRM aberto(s);
  2. Acessar a pasta ‘RM.Net’ do diretório ‘CorporeRM’;
  3. Executar o aplicativo ‘RM.Host.ServiceManager’ e clicar em ‘Desinstalar’;



  4. Localizar o arquivo "_Broker.DAT" e excluí-lo;
  5. Executar novamente o aplicativo ‘RM.Host.ServiceManager’ e clicar em ‘Instalar’;
  6. Acessar o Aplicativo quando o serviço estiver iniciado.

Observações:

  • Em ambiente 3 camadas é necessária atenção na execução desse procedimento, devido as estações clients, que podem parar de funcionar durante recriação do serviço de host;
  • Favor realizar qualquer procedimento acima em ambiente/base de teste e somente após avaliar os resultados aplicar em produção;
  • Caso utilize o Portal RM, considere reiniciar o serviço de IIS (issreset) - Em caso de dúvidas, favor realizar o contato com o suporte RM Framework)


ALTERANDO A SENHA DO USUÁRIO SYSDBA


Aplicação Dephi (executável do modulo)

A arquivo de login 'CorporeRM.ini' permite ao cliente definir um usuário/senha diferente do SYSDBA para realizar a conexão com o banco de dados, de modo a obter os parâmetros de conexão para o usuário. Esta escolha se dá através da existência do arquivo: \CorporeRM\CorporeRM.ini, que deve ter o seguinte formato:


[LOGIN]

DBUSERNAME=usuario

DBPASSWORD=senha

Assim, a .dll correspondente procurará pela existência deste arquivo. Caso ele exista, ao invés do login SYSDBA/masterkey, serão utilizados os parâmetros de conexão informados no arquivo.


Aplicação .net (Nova MDI)

O arquivo Alias.dat (diretório RM.net), possui os dados de conexão do Alias parametrizados no RM.AliasManager.exe e por default armazena o usuário Sysdba com senha masterkey. Para a nova MDI, será necessário alterar as tags 'UserName' e 'Password' diretamente no arquivo:


<UserName>SYSDBA</UserName>

<Password>masterkey</Password>


ATENÇÃO: A alteração da senha do Sysdba, não é necessária e nem recomendada pela TOTVS, tendo em vista que este usuário só tem permissão nas tabelas globais, que naturalmente são protegidas pelo campo Controle.


Observações:

  • Favor realizar qualquer procedimento acima em ambiente/base de teste e somente após avaliar os resultados aplicar em produção.
  • As alterações realizadas para o login/usuário sysdba, ficaram expostas para o usuários da SO que tiverem acesso aos arquivos CorporeRM.ini e (ou) Alias.dat


Observações:

Todos os procedimentos citados nesse documento, poderão ser realizadas pelo DBA ou responsável pelo Banco de Dados na empresa, caso deseje, podemos realizar tal alteração pelo processo de consultoria (processo tarifado).