Gerenciar Perfis de Usuário com o Autonomous Database

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

Observação

O Autonomous Database tem restrições na cláusula de perfil. Consulte Comandos SQL para obter informações sobre 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, conforme o usuário ADMIN executa 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 o 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 se conectar ao banco de dados e executar consultas. Para conceder privilégios adicionais aos usuários, consulte Gerenciar Privilégios do Usuário no Autonomous Database - Estabelecendo Conexão com uma Ferramenta Cliente.

Consulte CRIAR PERFIL para obter informações sobre como usar 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 fazer log-in pela primeira vez, o log-in é tratado da seguinte forma:

  • As restrições de complexidade de senhas são as mesmas que as restrições de 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 a senha antes do término do período de tolerância.

Observação

Não é possível modificar as designações de perfil para usuários com o perfil ORA_PROTECTED_PROFILE e ORA_ADMIN_PROFILE.

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. Consulte Gerenciar Complexidade de Senhas no Autonomous Database para obter mais informações.

Gerenciar Complexidade de Senhas no Autonomous Database

Você pode criar uma função de verificação de senha (PVF) e associar o PVF 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 minúscula e um caractere numérico. O tamanho mínimo da senha para o perfil DEFAULT é de 12 caracteres (o perfil DEFAULT usa o CLOUD_VERIFY_FUNCTION PVF). A senha não pode conter o nome de usuário.

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

Por exemplo, para especificar um 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, você deverá conceder o privilégio EXECUTE no PVF. Se você criar um PVF e a verificação de senha falhar, o banco de dados reportará o erro ORA-28219.

Você pode especificar um PVF fornecido pela Oracle, de um dos seguintes:

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

    Esta 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 utilizadas para o mesmo nome.

    • 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

    Esta 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 caractere minúsculo e pelo menos 1 caractere maiúsculo.

    • A senha tem pelo menos 1 dígito.

    • A senha tem pelo menos 1 caractere especial.

    • A senha difere da senha anterior em pelo menos 8 caracteres.

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

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

  • Se você especificar um perfil de usuário, o tamanho mínimo da senha dependerá de como você define o PVF associado, 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 minúscula 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 de senha imposto será de 8 caracteres com 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.

    • Se o perfil não tiver um PVF definido, o PVF do perfil DEFAULT (CLOUD_VERIFY_FUNCTION) será atribuído e o tamanho mínimo de senha imposto será de 12 caracteres.

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

  • Qualquer PVF criado deve ser criado no esquema do usuário ADMIN. Se um PVF de propriedade do usuário não ADMIN for fornecido como entrada para CREATE ou ALTER PROFILE, o erro ORA-28220 será gerado.

  • Um PVF não pode ser alterado ou eliminado por um usuário não ADMIN. Ou seja, qualquer usuário com o privilégio CREATE ou DROP ANY PROCEDURE não tem permissão para alterar ou eliminar um PVF.

  • Se o PVF associado a um perfil for eliminado, qualquer tentativa de alterar a senha de um usuário que usa o PVF em seu perfil gerará o erro ORA-7443. Os usuários ainda podem fazer login quando o PVF associado ao perfil for eliminado. No entanto, se a senha de um usuário tiver expirado e o PVF for eliminado, o usuário não poderá fazer log-in.

    Para se recuperar do erro ORA-7443, o usuário ADMIN deve recriar o PVF eliminado e atribuí-lo ao perfil ou atribuir um PVF existente ao perfil. Isso permite que um usuário altere sua senha e faça login.

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

Consulte Gerenciando a Complexidade de Senhas para obter mais informações.

Prorrogação Gradual da Senha do Banco de Dados para Aplicativos

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

Para fazer isso, você pode associar um perfil com 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 permaneça válida pelo tempo especificado pelo limite PASSWORD_ROLLOVER_TIME. Durante o período de reinvestimento, 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 rolagem expirar, somente a nova senha será permitida.

Consulte Gerenciando Rollover de Senha do Banco de Dados Gradual para Aplicativos para obter mais informações.