Gerenciar Perfis de Usuários com o Autonomous Database

Você pode criar e alterar perfis de usuários no Autonomous Database. Depois de criar ou alterar um perfil, você pode especificar a cláusula de perfil com CREATE USER ou ALTER USER. Você também pode importar perfis de usuário existentes de outro ambiente com o Oracle Data Pump Import.

Observação

O Autonomous Database tem restrições na cláusula de perfil. Consulte Comandos SQL para obter informações sobre as restrições CREATE PROFILE e ALTER PROFILE.

Para adicionar, modificar ou remover um parâmetro de senha em um perfil, incluindo o perfil DEFAULT, você deve ter o privilégio de sistema ALTER PROFILE.

  1. Para adicionar ou alterar um perfil, como usuário ADMIN, execute CREATE PROFILE ou ALTER PROFILE. Por exemplo:
    CREATE PROFILE new_profile
      LIMIT PASSWORD_REUSE_MAX 10
      PASSWORD_LOCK_TIME 5;

    Se você não for o usuário ADMIN, deverá ter o privilégio CREATE PROFILE para executar CREATE PROFILE. Se você executar ALTER PROFILE, deverá ter o privilégio ALTER PROFILE.

  2. Use o perfil novo ou alterado com um comando CREATE USER ou ALTER USER. Por exemplo:
    CREATE USER new_user IDENTIFIED BY password PROFILE new_profile;
    GRANT CREATE SESSION TO new_user;

Isso cria new_user com o perfil new_profile e com privilégios de conexão. O new_user agora pode estabelecer conexão com o banco de dados e executar consultas. Para conceder privilégios adicionais a usuários, consulte Manage User Privileges on Autonomous Database - Connecting with a Client Tool.

Consulte CREATE PROFILE para obter informações sobre o uso de CREATE PROFILE ou ALTER PROFILE.

Você pode importar perfis existentes criados em outros ambientes usando o Oracle Data Pump Import (impdp). Qualquer associação de perfil existente com usuários de banco de dados é preservada após a importação para o Autonomous Database. Quando um usuário recém-criado, criado com base em uma importação do Oracle Data Pump, tenta efetuar log-in pela primeira vez, o log-in é tratado da seguinte forma:

  • As restrições de complexidade de senhas são as mesmas para qualquer usuário do Autonomous Database.
  • Se a senha do usuário violar os requisitos de complexidade da senha, a conta expirará com um período de tolerância de 30 dias. Nesse caso, o usuário deverá alterar sua senha antes que o período de tolerância termine.

Observação

As designações de perfil para usuários com os perfis ORA_PROTECTED_PROFILE e ORA_ADMIN_PROFILE não podem ser modificadas.

Os seguintes usuários compartilham o perfil ORA_PROTECTED_PROFILE e a atribuição de perfil desses usuários não pode ser alterada:

  • ADBSNMP
  • ADB_APP_STORE
  • DCAT_ADMIN
  • GGADMIN
  • RMAN$CATALOG

O usuário ADMIN é designado a ORA_ADMIN_PROFILE.

Ao criar ou alterar um perfil, você pode especificar uma Função de Verificação de Senha (PVF) para gerenciar a complexidade da senha. Para obter mais informações, consulte Gerenciar Complexidade de Senha no Autonomous Database.

Gerenciar Complexidade de Senha no Autonomous Database

Você pode criar uma Função de Verificação de Senha (PVF) e associá-la a um perfil para gerenciar a complexidade das senhas do usuário.

Observação

O tamanho mínimo da senha para um PVF especificado pelo usuário é de 8 caracteres e deve incluir pelo menos uma letra maiúscula, uma letra menor e um caractere numérico. O tamanho mínimo da senha para o perfil PADRÃO é de 12 caracteres (o perfil PADRÃO usa a função PVF CLOUD_VERIFY_FUNCTION). A senha não pode conter o nome de usuário.

A Oracle recomenda o uso de uma senha com no mínimo 12 caracteres. Se você definir o PVF de um perfil e o tamanho mínimo da senha para menos de 12 caracteres, ferramentas como Oracle Database Security Assessment Tool (DBSAT) e Qualys reportarão isso como risco de segurança do banco de dados.

Por exemplo, para especificar uma PVF para um perfil, use o seguinte comando:

CREATE PROFILE example_profile LIMIT PASSWORD_VERIFY_FUNCTION ADMIN.EXAMPLE_PVF

Se o perfil for criado ou alterado por qualquer usuário que não seja o usuário ADMIN, conceda o privilégio EXECUTE na função PVF. Se você criar uma função PVF e a verificação de senha falhar, o banco de dados reportará o erro ORA-28219.

Você pode especificar uma função PVF fornecida pela Oracle, com uma das seguintes opções:

  • CLOUD_VERIFY_FUNCTION (esta é a função de verificação de senha padrão para o Autonomous Database):

    Essa função verifica os seguintes requisitos quando os usuários criam ou modificam senhas:

    • A senha deve ter de 12 a 30 caracteres e deve incluir pelo menos uma letra maiúscula, uma letra minúscula e um caractere numérico.

    • A senha não pode conter o nome de usuário.

    • A senha não pode ser uma das quatro últimas senhas usadas para o mesmo nome de usuário.

    • A senha não pode conter o caractere de aspas duplas (").

    • A senha não deve ser a mesma que foi definida há menos de 24 horas.

  • ORA12C_STIG_VERIFY_FUNCTION

    Essa função verifica os seguintes requisitos quando os usuários criam ou modificam senhas:

    • A senha tem pelo menos 15 caracteres.

    • A senha tem pelo menos 1 letra minúscula e 1 maiúscula.

    • A senha tem pelo menos 1 dígito.

    • A senha tem pelo menos 1 caractere especial.

    • A senha é diferente da senha anterior em pelo menos 8 caracteres.

    Consulte Requisitos de Senha ora12c_stig_verify_function para obter mais informações.

Observe as seguintes restrições para uma Função de Verificação de Senha (PVF) que você cria e designa a um perfil:

  • Se você especificar um perfil de usuário, o tamanho mínimo da senha dependerá de como você define a função PVF associada, da seguinte forma:

    • Se um PVF for definido, o tamanho mínimo da senha imposto será de 8 caracteres com pelo menos uma letra maiúscula, uma letra menor e um caractere numérico. A senha não pode conter o nome de usuário.

    • Se o PVF for definido como NULL, o tamanho mínimo da senha imposto será de 8 caracteres com pelo menos uma letra maiúscula, uma minúscula e um caractere numérico. A senha não pode conter o nome de usuário.

    • Se o perfil não tiver uma PVF definida, a PVF do perfil DEFAULT (CLOUD_VERIFY_FUNCTION) será designada e o tamanho mínimo imposto da senha será de 12 caracteres.

  • Se você especificar uma Função de Verificação de Senha (PVF) mais rigorosa que o padrão CLOUD_VERIFY_FUNCTION, a nova função de verificação será usada.
  • Uma PVF que você cria deve ser criada como função PL/SQL DEFINER RIGHTS. Se uma função PVF de direitos INVOKER for informada como entrada para CREATE ou ALTER PROFILE, o erro ORA-28220 será gerado.

  • Qualquer PVF que você criar deverá ser criada no esquema do usuário ADMIN. Se uma função PVF não-ADMIN do usuário for informada como entrada para CREATE ou ALTER PROFILE, o erro ORA-28220 será gerado.

  • Uma PVF não pode ser alterada nem eliminada por um usuário não ADMIN. Ou seja, qualquer usuário com o privilégio CREATE ou DROP ANY PROCEDURE não pode alterar nem eliminar uma função PVF.

  • Se a função PVF associada a um perfil for eliminada, qualquer tentativa de alterar a senha de um usuário que usa PVF em seu perfil vai gerar o erro ORA-7443. Os usuários ainda podem fazer log-in quando a função PVF associada aos perfis deles é eliminada. No entanto, se a senha de um usuário expirar e a função PVF for eliminada, o usuário não poderá fazer log-in.

    Para recuperar do erro ORA-7443, o usuário ADMIN deve recriar a função PVF eliminada e designá-la ao perfil ou designar uma PVF existente ao perfil. Isso permite que um usuário altere a senha e o log-in.

  • Os privilégios de sistema CREATE ANY PROCEDURE e DROP ANY PROCEDURE são auditados para segurança da função PVF. Consulte a lista PROCEDURES em Lista de Privilégios de Sistema e de Objeto para obter mais informações.

Consulte Gerenciando a complexidade das senhas para mais informações.

Renovação Gradual de Senha do Banco de Dados para Aplicativos

Um aplicativo pode alterar suas senhas de banco de dados sem que um administrador precise programar um período de indisponibilidade.

Para fazer isso, você pode associar um perfil que tenha um limite diferente de zero para o parâmetro de perfil de senha PASSWORD_ROLLOVER_TIME, a um esquema de aplicativo. Isso permite que a senha do banco de dados do usuário do aplicativo seja alterada, permitindo que a senha mais antiga continue válida pelo tempo especificado pelo limite PASSWORD_ROLLOVER_TIME. Durante o período de renovação, a instância do aplicativo pode usar a senha antiga ou a nova senha para estabelecer conexão com o servidor de banco de dados. Quando o tempo de renovação expirar, somente a nova senha será permitida.

Consulte Gerenciando a Renovação Gradual de Senha do Banco de Dados para Aplicativos para obter mais informações.