SHOW USERS

Lista todos os usuários no sistema.

Consulte também:

CREATE USER , ALTER USER , DROP USER , DESCRIBE USER

Sintaxe

SHOW [ TERSE ] USERS
  [ LIKE '<pattern>' ]
  [ STARTS WITH '<name_string>' ]
  [ LIMIT <rows> [ FROM '<name_string>' ] ]
Copy

Parâmetros

TERSE

Retorna somente as seguintes colunas de saída:

  • name

  • created_on

  • display_name

  • first_name

  • last_name

  • email

  • org_identity

  • comment

  • has_password

  • has_rsa_public_key

  • type

  • has_mfa

  • has_pat

  • has_federated_workload_authentication

LIKE 'pattern'

Opcionalmente, filtra a saída do comando pelo nome do objeto. O filtro utiliza correspondência de padrão que não diferencia maiúsculas e minúsculas, com suporte para caracteres curinga SQL (% e _).

Por exemplo, os seguintes padrões retornam os mesmos resultados:

... LIKE '%testing%' ...
... LIKE '%TESTING%' ...

. padrão: sem valor (nenhuma filtragem é aplicada à saída).

STARTS WITH 'name_string'

Opcionalmente, filtra a saída do comando com base nos caracteres que aparecem no início do nome do objeto. A cadeia de caracteres deve ser colocada entre aspas simples e faz distinção entre letras maiúsculas e minúsculas.

Por exemplo, as seguintes cadeias de caracteres retornam resultados diferentes:

... STARTS WITH 'B' ...
... STARTS WITH 'b' ...

. Padrão: sem valor (nenhuma filtragem é aplicada à saída)

LIMIT rows [ FROM 'name_string' ]

Opcionalmente, limita o número máximo de linhas retornadas, ao mesmo tempo em que permite a «paginação» dos resultados. O número real de linhas retornadas pode ser menor que o limite especificado. Por exemplo, o número de objetos existentes é menor que o limite especificado.

A subcláusula opcional FROM 'name_string' serve efetivamente como um “cursor” para os resultados. Isso permite obter o número especificado de linhas seguindo a primeira linha cujo nome do objeto corresponde à cadeia de caracteres especificada:

  • A cadeia de caracteres deve ser colocada entre aspas simples e faz distinção entre letras maiúsculas e minúsculas.

  • A cadeia de caracteres não precisa incluir o nome completo do objeto; também é permitido usar nomes parciais.

Padrão: nenhum valor (nenhum limite é aplicado à saída)

Nota

Para comandos SHOW que oferecem suporte às cláusulas FROM 'name_string' e STARTS WITH 'name_string', você pode combinar ambas as cláusulas na mesma instrução. No entanto, ambas as condições devem ser cumpridas ou elas se cancelam mutuamente e nenhum resultado é retornado.

Além disso, os objetos são devolvidos em ordem lexicográfica por nome, portanto FROM 'name_string' só retorna linhas com um valor lexicográfico maior que as linhas retornadas por STARTS WITH 'name_string'.

Por exemplo:

  • ... STARTS WITH 'A' LIMIT ... FROM 'B' não retornaria nenhum resultado.

  • ... STARTS WITH 'B' LIMIT ... FROM 'A' não retornaria nenhum resultado.

  • ... STARTS WITH 'A' LIMIT ... FROM 'AB' retornariam resultados (se alguma linha corresponder às cadeias de caracteres de entrada).

Saída

A saída do comando inclui as seguintes colunas, que descrevem as propriedades e metadados do objeto:

Coluna

Descrição

name

Nome do usuário.

created_on

Data e hora em que o usuário foi criado.

login_name

Nome que o usuário digita para fazer login no sistema.

display_name

Nome exibido para o usuário em Snowsight.

first_name

Nome do usuário.

last_name

Sobrenome do usuário.

email

Endereços de e-mail para o usuário.

mins_to_unlock

Número de minutos até o bloqueio temporário no login de usuário ser liberado.

days_to_expiry

Número de dias após os quais o status do usuário é definido como “Expirado” e o usuário não tem mais permissão para fazer o login.

comment

Comentário sobre o usuário.

disabled

Se for true, o usuário será bloqueado do Snowflake e não poderá entrar novamente.

must_change_password

Se for true, o usuário será forçado a alterar sua senha no próximo login (incluindo seu primeiro login/login inicial) no sistema.

snowflake_lock

Se for true, o usuário será bloqueado pelo Snowflake. Quando um usuário é bloqueado, ele não pode fazer o login até que o bloqueio seja removido.

default_warehouse

O warehouse virtual que está ativo por padrão para a sessão do usuário após o login.

default_namespace

O namespace (banco de dados apenas ou banco de dados e esquema) que está ativo por padrão para a sessão do usuário no momento do login:

default_role

A função principal que fica ativa por padrão para a sessão do usuário no login.

default_secondary_roles

Conjunto de funções secundárias que estão ativas para a sessão do usuário após o login.

ext_authn_duo

Se for true, o Duo será habilitado para o usuário, o que requer que o usuário use MFA (autenticação multifator) ao fazer login.

ext_authn_uid

ID de autorização usado para o Duo.

mins_to_bypass_mfa

Número de minutos para ignorar temporariamente a exigência de MFA para o usuário.

owner

Função proprietária do usuário.

last_success_login

Data e hora da última vez em que o usuário fez o login no Snowflake.

expires_at_time

Data e hora em que o status do usuário está definido como EXPIRED e o usuário não poderá mais fazer login.

locked_until_time

Número de minutos até que o bloqueio temporário no login de usuário seja liberado.

has_password

Se for true, o usuário terá uma senha.

has_rsa_public_key

Se for true, o usuário terá uma chave pública para autenticação de pares de chaves.

type

Tipo do usuário. Para uma lista de valores possíveis, consulte Tipos de usuários.

has_mfa

Se for true, o usuário será inscrito na autenticação multifator (MFA).

has_pat

Se for true, o usuário terá um ou mais tokens de acesso programático.

has_workload_identity

Se for true, o usuário será configurado para autenticar com federação de identidades de cargas de trabalho.

is_from_organization_user

Se for true, o usuário foi importado de um usuário da organização global.

Requisitos de controle de acesso

Qualquer usuário pode executar o comando SHOW USERS. A saída sempre inclui o nome de usuário na coluna name.

Para as outras colunas, o Snowflake filtra a saída com base nos privilégios concedidos à função ativa do usuário. Os valores nas outras colunas são retornados se a função ativa tiver qualquer um dos seguintes privilégios:

Privilégio

Objeto

Notas

OWNERSHIP

Usuário

MANAGE GRANTS

Conta

Caso contrário, as outras colunas conterão NULL.

Para instruções sobre como criar uma função personalizada com um conjunto específico de privilégios, consulte Criação de funções personalizadas.

Para informações gerais sobre concessões de funções e privilégios para executar ações de SQL em objetos protegíveis, consulte Visão geral do controle de acesso.

Notas de uso

  • Se a conta tiver mais de 10.000 usuários, você pode usar o parâmetro LIMIT … FROM … para retornar conjuntos menores de usuários.

    Por exemplo, você pode executar SHOW USERS LIMIT 10000 FROM my_user para retornar os próximos 10.000 usuários a partir do usuário chamado my_user.

  • O comando não precisa de um warehouse em funcionamento para ser executado.

  • O comando retorna apenas objetos para os quais a função atual do usuário atual recebeu pelo menos um privilégio de acesso.

  • O privilégio de acesso MANAGE GRANTS permite implicitamente que seu titular consulte todos os objetos da conta. Por padrão, somente o administrador de conta (usuários com a função ACCOUNTADMIN) e o administrador de segurança (usuários com a função SECURITYADMIN) têm o privilégio MANAGE GRANTS.

  • Para pós-processar a saída deste comando, você pode usar o operador de canal (->>) ou a função RESULT_SCAN. Ambos os constructos tratam a saída como um conjunto de resultados que você pode consultar.

    Os nomes das colunas de saída para este comando são gerados em minúsculas. Se você consumir um conjunto de resultados deste comando com o operador de canal ou a função RESULT_SCAN, use identificadores entre aspas duplas para os nomes das colunas na consulta para garantir que eles correspondam aos nomes das colunas na saída que foi verificada. Por exemplo, se o nome de uma coluna de saída for type, especifique "type" para o identificador.

Exemplos

O exemplo a seguir lista os usuários na conta:

SHOW USERS;
Copy
+--------------+-------------------------------+---------------+--------------+------------+-----------+------------------------+----------------+----------------+---------+----------+----------------------+----------------+-------------------+-------------------+--------------+-------------------------+---------------+---------------+--------------------+--------------+-------------------------------+-----------------+-------------------+--------------+--------------------+--------+---------+---------+---------------------------------------+
| name         | created_on                    | login_name    | display_name | first_name | last_name | email                  | mins_to_unlock | days_to_expiry | comment | disabled | must_change_password | snowflake_lock | default_warehouse | default_namespace | default_role | default_secondary_roles | ext_authn_duo | ext_authn_uid | mins_to_bypass_mfa | owner        | last_success_login            | expires_at_time | locked_until_time | has_password | has_rsa_public_key | type   | has_mfa | has_pat | has_federated_workload_authentication |
|--------------+-------------------------------+---------------+------------- +------------+-----------+------------------------+----------------+----------------+---------+----------+----------------------+----------------+-------------------+-------------------+--------------+-------------------------+---------------+---------------+--------------------+--------------+-------------------------------+-----------------+-------------------+--------------+--------------------+--------+---------+---------+---------------------------------------|
| MY_USER_NAME | 2020-04-28 12:24:38.722 -0700 | MY_LOGIN_NAME | Jane Smith   | Jane       | Smith     | jane.smith@example.com | NULL           | NULL           | NULL    | false    | false                | false          | MY_WAREHOUSE      | MY_DB.MY_SCHEMA   | MY_ROLE      | []                      | false         | NULL          | NULL               | ACCOUNTADMIN | 2025-06-12 15:02:22.783 -0700 | NULL            | NULL              | true         | true               | PERSON | true    | true    | false                                 |
+--------------+-------------------------------+---------------+--------------+------------+-----------+------------------------+----------------+----------------+---------+----------+----------------------+----------------+-------------------+-------------------+--------------+-------------------------+---------------+---------------+--------------------+--------------+-------------------------------+-----------------+-------------------+--------------+--------------------+--------+---------+---------+---------------------------------------+