Como implementar datas de vencimento senha para logon do SQL Server 2000 ou o SQL Server 7.0 identificações

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 80397
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Introdução
Este artigo descreve um método que você pode usar para implementar as datas de expiração de senha para logins do Microsoft SQL Server. O método usa uma única tabela criadas pelo usuário e três procedimentos armazenados. Esse método é apenas uma variação que você pode usar, e você pode modificar o método para atender às suas necessidades.
Mais Informações
Se você tiver o Microsoft SQL Server em execução no modo de segurança integrada no Microsoft Windows 2000 ou uma versão posterior, você pode confiar no Windows para a expiração da senha. Sempre que possível, recomendamos que você use o modo de segurança integrada para conexões ao SQL Server. Autenticação do Windows ajuda a fornecer mecanismos de imposição, como protocolos de autenticação mais fortes e complexidade de senha obrigatória e expiração de segurança.

O método discutido neste artigo se aplica a uma instância do SQL Server que está sendo executado no modo de segurança misto.
  1. Crie uma tabela no banco de dados mestre que irá conter o seguinte:
    • A identificação de logon do usuário.
    • A data que a senha foi alterada pela última vez.
    • A última senha que foi usada.


    Observação Somente o administrador do sistema ( sa ) deve ter acesso a essa tabela.
          CREATE TABLE PW_DATE      (SID   VARBINARY(85),       DATE   DATETIME,       OLD_PW SYSNAME NULL)
  2. Crie um procedimento armazenado que irá determinar se a senha expirou. Se a senha expirou, o procedimento, em seguida, atribuir a identificação de logon uma nova senha e o usuário deve ter o sa alterá-lo novamente. Além disso, você talvez queira incluir outras verificações que considerar apropriado para seu ambiente. Os logins apenas dois que o procedimento não irá alterar a senha para são sa ou os logons de SONDAGEM. O exemplo a seguir define a senha para expirar após 30 dias, e ela lista todos os usuários cujas senhas expiraram.

    Observação Apenas o sa deve ter a permissão EXECUTE.
    	CREATE PROCEDURE SP_PASSWORD_CHECK(@secret nvarchar(128)) AS	DECLARE @sid varbinary(85)	DECLARE @date datetime	DECLARE @name nvarchar(128)	DECLARE crsPW CURSOR FOR 		SELECT SID,[DATE] FROM PW_DATE		WHERE DATEADD(DAY, 30, PW_DATE.DATE) <= GETDATE()	OPEN crsPW	FETCH NEXT FROM crsPW INTO @sid, @date	WHILE (@@FETCH_STATUS=0)	BEGIN		SELECT @name = [NAME] 		FROM syslogins		WHERE sid = @sid 			AND syslogins.[name] NOT IN ('sa', 'probe')		IF @@ROWCOUNT = 1			EXEC sp_password NULL, @secret, @name			FETCH NEXT FROM crsPW INTO @sid, @date	END	CLOSE crsPW	DEALLOCATE crsPW
  3. Execute o procedimento SP_PASSWORD_CHECK noturna usando um script Transact-SQL que é semelhante à seguinte:
    	USE MASTER	GO	EXEC SP_PASSWORD_CHECK 'gulliver'	GO
    Para executar o script Transact-SQL executado à noite, adicionar uma etapa Transact-SQL para um Novo trabalho no SQL Server Agent e, em seguida, agendar o trabalho a ser executado à noite.
  4. Em vez de usar o SP_ADDLOGIN e o SP_PASSWORD armazenado procedimentos, você usará dois novos procedimentos armazenados. O SP_CORP_ADDLOGIN armazenados procedimento substitui o SP_ADDLOGIN armazenados procedimento e SP_CORP_PASSWORD armazenados procedimento substitui o procedimento armazenado SP_PASSWORD. Para certificar-se que os procedimentos antigos não são usados, revogar executar permissões para ambos o SP_ADDLOGIN procedimento armazenado e para o SP_PASSWORD procedimento armazenado.

    Observação Você pode modificar o SP_ADDLOGIN e os procedimentos armazenados SP_PASSWORD. No entanto, se você instalar uma atualização, certifique-se de que você não remover o SP_ADDLOGIN ou os procedimentos armazenados SP_PASSWORD.
          CREATE PROCEDURE SP_CORP_ADDLOGIN      @LOGIN_ID VARCHAR(30),      @PASSWD VARCHAR(30) = NULL,      @DEFDB  VARCHAR(30) = NULL      AS      EXEC SP_ADDLOGIN @LOGIN_ID, @PASSWD, @DEFDB      INSERT INTO PW_DATE (SID, DATE, OLD_PW)        VALUES (SUSER_SID(@LOGIN_ID), GETDATE(), NULL)      GO      CREATE PROCEDURE SP_CORP_PASSWORD      @OLD VARCHAR(30) = NULL,      @NEW VARCHAR(30),      @LOGIN_ID VARCHAR(30) = NULL      AS      EXEC SP_PASSWORD @OLD, @NEW, @LOGIN_ID      IF (@LOGIN_ID = NULL)      BEGIN        UPDATE PW_DATE        SET DATE = GETDATE(), OLD_PW = @OLD        WHERE SID = SUSER_SID ()      END      ELSE BEGIN        UPDATE PW_DATE        SET DATE = GETDATE(), OLD_PW = @OLD        WHERE SID = SUSER_SID(@LOGIN_ID)      END				
  5. A etapa final é inicializar o sistema. Se você tiver um sistema ativo com identificações de logon de usuário, a sa deve executar a consulta seguinte para carregar a tabela PW_DATE com os valores iniciais:
          INSERT INTO PW_DATE (SID, DATE, OLD_PW)      SELECT SYSLOGINS.SID, GETDATE(), SYSLOGINS.PASSWORD      FROM SYSLOGINS
Agora, o sistema deve estar pronto. Você pode variar esse método para atender às suas necessidades.

importante A sa não deve usar Enterprise Manager, ou usar qualquer outro aplicativo que usa métodos orientados por menus para adicionar logons.
Referências
Para informações sobre como ajudar seguro Microsoft SQL Server 2000, visite os seguintes sites:
SQL2000 MBSA

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 80397 - Última Revisão: 12/04/2015 09:11:34 - Revisão: 2.4

Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 7.0 Standard Edition

  • kbnosurvey kbarchive kbmt kbsqlprog kbhowto kbusage KB80397 KbMtpt
Comentários