ALTER USER - Amazon Redshift

ALTER USER

Muda um usuário do banco de dados.

Privilégios obrigatórios

A seguir estão os privilégios obrigatórios para ALTER USER:

  • Superusuário

  • Usuários com o privilégio ALTER USER

  • Usuário atual que deseje alterar a própria senha

Sintaxe

ALTER USER username [ WITH ] option [, ... ] where option is CREATEDB | NOCREATEDB | CREATEUSER | NOCREATEUSER | SYSLOG ACCESS { RESTRICTED | UNRESTRICTED } | PASSWORD { 'password' | 'md5hash' | DISABLE } [ VALID UNTIL 'expiration_date' ] | RENAME TO new_name | | CONNECTION LIMIT { limit | UNLIMITED } | SESSION TIMEOUT limit | RESET SESSION TIMEOUT | SET parameter { TO | = } { value | DEFAULT } | RESET parameter | EXTERNALID external_id

Parâmetros

nome de usuário

Nome do usuário.

WITH

Palavra-chave opcional.

CREATEDB | NOCREATEDB

A opção CREATEDB permite que o usuário crie bancos de dados novos. NOCREATEDB é o valor padrão.

CREATEUSER | NOCREATEUSER

A opção CREATEUSER cria um superusuário com todos os privilégios de banco de dados, incluindo CREATE USER. NOCREATEUSER é o valor padrão. Para obter mais informações, consulte superuser.

SYSLOG ACCESS { RESTRICTED | UNRESTRICTED }

Uma cláusula que especifica o nível de acesso do usuário para as tabelas e as exibições de sistema do Amazon Redshift.

Usuários regulares que têm a permissão SYSLOG ACCESS RESTRICTED podem ver somente as linhas geradas por esse usuário nas tabelas e visualizações do sistema visíveis ao usuário. O padrão é RESTRICTED.

Usuários regulares que têm a permissão UNRESTRICTED podem ver todas as linhas nas tabelas e visualizações de sistema visíveis ao usuário, incluindo as linhas geradas por outro usuário. UNRESTRICTED não fornece acesso para os usuários regulares às tabelas visíveis para superusuários. Somente superusuários podem visualizar tabelas visíveis para superusuários.

nota

Fornecer acesso ilimitado para um usuário às tabelas de sistema é o mesmo que dar ao usuário visibilidade para os dados gerados por outros usuários. Por exemplo, STL_QUERY e STL_QUERYTEXT contêm texto completo de instruções INSERT, UPDATE e DELETE, e podem conter dados confidenciais gerados pelos usuários.

Todas as linhas em SVV_TRANSACTIONS são visíveis a todos os usuários.

Para obter mais informações, consulte Visibilidade de dados em tabelas e visualizações de sistema.

PASSWORD { 'password' | 'md5hash' | DISABLE }

Define a senha do usuário.

Por padrão, os usuários podem alterar suas próprias senhas, a menos que a senha esteja desabilitada. Para desabilitar a senha de um usuário, especifique DISABLE. Quando a senha de um usuário for desabilitada, ela será excluída do sistema e o usuário poderá fazer logon apenas usando as credenciais temporárias do usuário do AWS Identity and Access Management (IAM). Para obter mais informações, consulte Uso da autenticação do IAM para gerar credenciais do usuário do banco de dados. Apenas um superusuário pode habilitar ou desabilitar senhas. Não é possível desabilitar a senha de um superusuário. Para habilitar uma senha, execute ALTER USER e especifique uma senha.

Para obter detalhes sobre como usar o parâmetro PASSWORD, consulte CRIAR USUÁRIO.

VALID UNTIL 'data_expiração'

Especifica que a senha tem uma data de expiração. Use o valor 'infinity' para evitar ter uma data de expiração definida. O tipo de dados válido para o parâmetro é timestamp.

Somente superusuários podem usar esse parâmetro.

RENAME TO

Renomeia o usuário.

new_name

Novo nome de usuário. Para obter mais informações sobre nomes válidos, consulte Nomes e identificadores.

Importante

Ao renomear um usuário, você também deve redefinir a senha do usuário. A senha redefinida não precisa ser diferente da senha anterior. O nome de usuário é usado como parte da criptografia da senha. Portanto, quando um usuário é renomeado, a senha é eliminada. O usuário só poderá fazer logon depois que a senha for redefinida. Por exemplo:

alter user newuser password 'EXAMPLENewPassword11';
CONNECTION LIMIT { limite | UNLIMITED }

Número máximo de conexões de banco de dados que o usuário pode abrir simultaneamente. Não há aplicação de limite para superusuários. Use a palavra-chave UNLIMITED para permitir o número máximo de conexões simultâneas. Um limite no número de conexões para cada banco de dados pode ser aplicável. Para obter mais informações, consulte CREATE DATABASE. O valor padrão é UNLIMITED. Para visualizar as conexões atuais, consulte a exibição STV_SESSIONS do sistema.

nota

Se limites de usuário e de conexão de banco de dados forem aplicáveis, um slot de conexão não utilizado que esteja dentro de ambos os limites deve estar disponível quando um usuário tenta se conectar.

SESSION TIMEOUT limit | RESET SESSION TIMEOUT

O tempo máximo em segundos em que uma sessão permanece inativa ou ociosa. O intervalo é de 60 segundos (um minuto) a 1.728.000 segundos (20 dias). Se nenhum tempo limite de sessão estiver definido para o usuário, a configuração de cluster será aplicada. Para obter mais informações, consulte “Cotas e limites no Amazon Redshift” no Guia de gerenciamento de clusters do Amazon Redshift.

Quando você define o tempo limite da sessão, ele é aplicado somente a novas sessões.

Para exibir informações sobre sessões de usuário ativas, incluindo a hora de início, o nome de usuário e o tempo limite da sessão, consulte a visualização de sistema STV_SESSIONS. Para exibir informações sobre o histórico de sessões de usuário, consulte a visualização STL_SESSIONS. Para recuperar informações sobre usuários do banco de dados, incluindo valores de tempo limite de sessão, consulte a visualização SVL_USER_INFO.

SET

Define um parâmetro de configuração para um novo valor padrão em todas as sessões executadas pelo usuário especificado.

RESET

Redefine um parâmetro de configuração para o valor padrão original para o usuário especificado.

parameter

Nome do parâmetro a ser definido ou redefinido.

value

Novo valor para o parâmetro.

DEFAULT

Define o parâmetro de configuração para o valor padrão em todas as sessões executadas pelo usuário especificado.

EXTERNALID external_id

O identificador para o usuário, que está associado a um provedor de identidades. O usuário deve ter a senha desabilitada. Para obter mais informações, consulte Federação do provedor de identidades (IdP) nativo para o Amazon Redshift.

Observações de uso

  • Tentativa de alterar o rdsdb: não é possível alterar o usuário chamado rdsdb.

  • Criação de uma senha desconhecida: ao usar a autenticação do AWS Identity and Access Management (IAM) para criar credenciais de usuário de banco de dados, convém criar um superusuário que possa fazer login usando apenas credenciais temporárias. Você não pode desabilitar a senha de um superusuário, mas pode criar uma senha desconhecida usando uma string de hash MD5 gerada aleatoriamente.

    alter user iam_superuser password 'md51234567890123456780123456789012';
  • Definição de search_path: quando você define o parâmetro search_path com o comando ALTER USER, a modificação entra em vigor no próximo login do usuário especificado. Se quiser alterar o valor do search_path para o usuário e a sessão atuais, use o comando SET.

  • Definição do fuso horário: quando você usa SET TIMEZONE com o comando ALTER USER, a modificação entra em vigor no próximo login do usuário especificado.

  • Trabalho com políticas de segurança no nível da linha e de mascaramento dinâmico de dados: quando o cluster provisionado ou namespace sem servidor tem alguma política de segurança no nível da linha ou de mascaramento dinâmico de dados, os seguintes comandos são bloqueados para usuários comuns:

    ALTER <current_user> SET enable_case_sensitive_super_attribute/enable_case_sensitive_identifier/downcase_delimited_identifier

    Somente superusuários e usuários com o privilégio ALTER USER podem definir essas opções de configuração. Para obter informações sobre a segurança por linha, consulte Segurança por linha. Para obter informações sobre o mascaramento dinâmico de dados, consulte Mascaramento dinâmico de dados.

Exemplos

O exemplo a seguir permite que o usuário ADMIN tenha privilégios para criar bancos de dados:

alter user admin createdb;

O exemplo a seguir define a senha do usuário ADMIN como adminPass9, além de definir a data e o horário de validade da senha:

alter user admin password 'adminPass9' valid until '2017-12-31 23:59';

O exemplo a seguir renomeia o usuário de ADMIN para SYSADMIN:

alter user admin rename to sysadmin;

O exemplo a seguir atualiza o tempo limite de sessão ociosa para um usuário para 300 segundos.

ALTER USER dbuser SESSION TIMEOUT 300;

Redefine o tempo limite da sessão ociosa do usuário. Quando você redefinir, a configuração de cluster se aplica. Você deve ser um superusuário do banco de dados para executar este comando. Para obter mais informações, consulte “Cotas e limites no Amazon Redshift” no Guia de gerenciamento de clusters do Amazon Redshift.

ALTER USER dbuser RESET SESSION TIMEOUT;

O exemplo a seguir atualiza o ID externo de um usuário chamado bob. Esse namespace é myco_aad. Se o namespace não estiver associado a um provedor de identidades inscrito, isso resultará em um erro.

ALTER USER myco_aad:bob EXTERNALID "ABC123" PASSWORD DISABLE;

O exemplo a seguir define o fuso horário para todas as sessões executadas por um usuário de banco de dados específico. Ele altera o fuso horário de sessões subsequentes, mas não da sessão atual.

ALTER USER odie SET TIMEZONE TO 'Europe/Zurich';

O exemplo a seguir define o número máximo de conexões de banco de dados que o usuário bob pode abrir.

ALTER USER bob CONNECTION LIMIT 10;