Observação:
- Este tutorial requer acesso ao Oracle Cloud. Para se cadastrar em uma conta gratuita, consulte Conceitos básicos do Oracle Cloud Infrastructure Free Tier.
- Ele usa valores de exemplo para credenciais, tenancy e compartimentos do Oracle Cloud Infrastructure. Ao concluir seu laboratório, substitua esses valores por valores específicos do seu ambiente de nuvem.
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.
-
Se a senha for alterada novamente dentro do período de rollover, somente as senhas mais antigas e mais recentes permanecerão válidas, por exemplo, se o usuário inicialmente tiver a senha p1, que foi alterada para p2 com rollover de senha, e ela for alterada novamente para p3 dentro do período de rollover da primeira alteração, somente p1 e p3 permanecerão válidos e p2 se tornará inválido. Além disso, o tempo de expiração do período de prorrogação da senha não é alterado, ou seja, ele não é atualizado para novas alterações de senha. Isso é muito útil quando a senha é rotacionada várias vezes dentro da janela de rollover de senha, pois os aplicativos ainda podem usar a senha antiga para criar conexões.
-
Os usuários administrativos não podem usar o recurso de rollover de senha mesmo que estejam anexados a um perfil que tenha o conjunto de parâmetros
PASSWORD_ROLLOVER_TIME
, e os privilégios administrativos não podem ser concedidos a usuários anexados a um perfil que tenha o conjunto de parâmetrosPASSWORD_ROLLOVER_TIME
.
Objetivos
- Use o recurso de rollover gradual de senhas no Oracle Database. Aproveite esse recurso para evitar que o tempo de inatividade ou a coordenação do aplicativo ocorram devido à alteração da senha.
Pré-requisitos
-
Uma conta ativa do OCI.
-
Conhecimento de Oracle Database.
-
Uma instância do banco de dados ATP.
-
Privilégios de usuário para poder criar perfil e designar perfil ao usuário no Oracle Cloud Infrastructure Database.
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';
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).
-
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;
-
Execute a consulta SQL a seguir para verificar o limite
PASSWORD_ROLLOVER_TIME
.select * from dba_profiles where profile = 'PW_ROLLOVER_TIME_1HR_PROF';
O limite de recursos para
PASSWORD_ROLLOVER_TIME
é0.416
(1/24 dia) e as tentativas de log-in com falha são definidas como10
.
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.
-
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';
Um usuário existente também pode ser anexado a um perfil usando o comando a seguir.
alter user <user_name> profile <profile_name>;
-
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;
-
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';
Tarefa 4: Alterar a Senha do Usuário
Altere a senha do usuário e veja o status da conta.
-
Execute a consulta SQL a seguir para alterar a senha do usuário.
alter user DB_TEST identified by "New_Pass@2023";
-
Verifique o status da conta.
O status da conta agora mostra
IN ROLLOVER
, o que significa que a conta de usuárioDB_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.
-
Execute a consulta SQL a seguir para expirar o rollover de senha do usuário.
alter user DB_TEST expire password rollover period;
-
Verifique o status da conta.
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 tabelaDBA_USERS
éOPEN & IN ROLLOVER
e o status da conta é alterado paraOPEN
após o período de rollover expirar.
Links Relacionados
Confirmação
- Autor - Satyam Kumar (Membro da Equipe Técnica)
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.
Set up Gradual Password Rollover in Oracle Database on Oracle Cloud Infrastructure
F93098-01
February 2024
Copyright © 2024, Oracle and/or its affiliates.