Observação:

Configurar Rolagem Gradual de Senhas no Oracle Database no Oracle Cloud Infrastructure

Introdução

O rollover de senha gradual é um recurso no Oracle Database que permite alterar a senha de um usuário do banco de dados sem interromper os aplicativos que estão usando a senha antiga no momento. Com o rollover gradual de senha, a senha antiga permanece válida por um período de tempo especificado, após o qual não é mais aceita, ou seja, duas senhas diferentes são permitidas temporariamente para um usuário. Isso permite a propagação de uma nova senha para todos os aplicativos clientes sem tempo de inatividade. O período de reinvestimento da senha começa no momento em que a senha é alterada.

O recurso de rollover de senha gradual é exposto como uma definição de recurso de senha de perfil de usuário (limite de recursos de senha) PASSWORD_ROLLOVER_TIME, que é aplicada às sessões do usuário. Os perfis de usuário no Oracle Database são um conjunto de limites nos recursos do banco de dados - configuração no nível do usuário. O perfil do usuário ajuda a regular a quantidade de recursos usados por cada usuário do banco de dados. Um banco de dados é criado com um perfil padrão chamado DEFAULT, que será designado a todos os usuários do banco de dados se não for especificado de outra forma. Podemos usar o perfil padrão ou criar um novo perfil para adicionar limites de recursos de senha.

Neste tutorial, nos concentraremos apenas em PASSWORD_ROLLOVER_TIME e analisaremos um guia passo a passo para usar esse recurso em um serviço de banco de dados do Oracle Autonomous Transaction Processing (ATP). Usaremos a ferramenta Oracle SQL Developer Web da Console do OCI para essa finalidade.

Há outras coisas que você deve saber antes de usar o recurso de rollover de senha.

Objetivos

Pré-requisitos

Tarefa 1: Verificar o Perfil Padrão no ATP

Veremos o perfil padrão e o valor do recurso PASSWORD_ROLLOVER_TIME em um ATP.

Abra a ferramenta Oracle SQL Developer Web e execute a consulta SQL a seguir para verificar os limites do perfil DEFAULT.

select * from dba_profiles where profile = 'DEFAULT';

Imagem mostrando o resultado da consulta.

Na imagem a seguir, vemos que o perfil DEFAULT tem muitos recursos e o limite (valor) de PASSWORD_ROLLOVER_TIME é 0. Isso significa que o rollover gradual de senhas está desativado para o perfil DEFAULT. O limite de recursos no perfil DEFAULT pode ser alterado, mas criaremos um novo perfil para demonstrar esse recurso.

Tarefa 2: Criar um Novo Perfil de Usuário

Crie um perfil com FAILED_LOGIN_ATTEMPTS definido como 10 e limite PASSWORD_ROLLOVER_TIME como 1 hora (1/24 dia).

  1. Execute a consulta SQL a seguir para criar um perfil chamado PW_ROLLOVER_TIME_1HR_PROF.

    create profile PW_ROLLOVER_TIME_1HR_PROF limit FAILED_LOGIN_ATTEMPTS 10 PASSWORD_ROLLOVER_TIME 1/24;
    

    Imagem mostrando o resultado da consulta.

  2. Execute a consulta SQL a seguir para verificar o limite PASSWORD_ROLLOVER_TIME.

    select * from dba_profiles where profile = 'PW_ROLLOVER_TIME_1HR_PROF';
    

    Imagem mostrando o resultado da consulta.

    O limite de recursos para PASSWORD_ROLLOVER_TIME é 0.416 (1/24 dia) e as tentativas de log-in com falha são definidas como 10.

Tarefa 3: Criar uma Conta de Usuário

Criaremos uma conta de usuário e designaremos o perfil criado PW_ROLLOVER_TIME_1HR_PROF ao usuário.

  1. Execute a consulta SQL a seguir para criar um usuário chamado db_test.

    create user db_test identified by "Pass_Rollover@2023" profile = 'PW_ROLLOVER_TIME_1HR_PROF';
    

    Imagem mostrando o resultado da consulta.

    Um usuário existente também pode ser anexado a um perfil usando o comando a seguir.

    alter user <user_name> profile <profile_name>;
    
  2. Execute a consulta SQL a seguir para conceder o privilégio CREATE SESSION para testar a conexão do banco de dados.

    GRANT CREATE SESSION TO DB_TEST;
    

    Imagem mostrando o resultado da consulta.

  3. Verificaremos o status da conta usando a consulta SQL a seguir.

    select user_name, profile, account_status from dba_users where user_name = 'DB_TEST';
    

    Imagem mostrando o resultado da consulta.

Tarefa 4: Alterar a Senha do Usuário

Altere a senha do usuário e veja o status da conta.

  1. Execute a consulta SQL a seguir para alterar a senha do usuário.

    alter user DB_TEST identified by "New_Pass@2023";
    
  2. Verifique o status da conta.

    Imagem mostrando o resultado da consulta.

    O status da conta agora mostra IN ROLLOVER, o que significa que a conta de usuário DB_TEST está atualmente em rollover e as senhas antiga e nova podem ser usadas para estabelecer conexão com o usuário por 1 hora. Após 1 hora, a senha antiga não será mais aceita e as conexões podem ser estabelecidas usando apenas a nova senha.

Tarefa 5: Expirar Período de Prorrogação Forçadamente

O recurso de rollover de senha nos permite expirar o rollover vigorosamente quando não queremos que a senha antiga seja válida para o período de rollover restante.

  1. Execute a consulta SQL a seguir para expirar o rollover de senha do usuário.

    alter user DB_TEST expire password rollover period;
    

    Imagem mostrando o resultado da consulta.

  2. Verifique o status da conta.

    Imagem mostrando o resultado da consulta.

    O status da conta foi alterado para OPEN e não podemos mais estabelecer conexão com o banco de dados usando a senha antiga. Portanto, quando um usuário está em rollover, como senhas novas e antigas, é funcional, o status da conta na tabela DBA_USERS é OPEN & IN ROLLOVER e o status da conta é alterado para OPEN após o período de rollover expirar.

Confirmação

Mais Recursos de Aprendizagem

Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal Oracle Learning YouTube. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.

Para obter a documentação do produto, visite o Oracle Help Center.