ALTER PASSWORD POLICY

Modifica as propriedades de uma política de senhas existente.

Quaisquer alterações feitas nas propriedades da política de senhas entram em vigor quando a próxima consulta SQL que utiliza a política de senhas for executada.

Consulte também:

Gerenciamento de políticas de senhas

Sintaxe

ALTER PASSWORD POLICY [ IF EXISTS ] <name> RENAME TO <new_name>

ALTER PASSWORD POLICY [ IF EXISTS ] <name> SET [ PASSWORD_MIN_LENGTH = <integer> ]
                                               [ PASSWORD_MAX_LENGTH = <integer> ]
                                               [ PASSWORD_MIN_UPPER_CASE_CHARS = <integer> ]
                                               [ PASSWORD_MIN_LOWER_CASE_CHARS = <integer> ]
                                               [ PASSWORD_MIN_NUMERIC_CHARS = <integer> ]
                                               [ PASSWORD_MIN_SPECIAL_CHARS = <integer> ]
                                               [ PASSWORD_MIN_AGE_DAYS = <integer> ]
                                               [ PASSWORD_MAX_AGE_DAYS = <integer> ]
                                               [ PASSWORD_MAX_RETRIES = <integer> ]
                                               [ PASSWORD_LOCKOUT_TIME_MINS = <integer> ]
                                               [ PASSWORD_HISTORY = <integer> ]
                                               [ COMMENT = '<string_literal>' ]

ALTER PASSWORD POLICY [ IF EXISTS ] <name> SET TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]

ALTER PASSWORD POLICY [ IF EXISTS ] <name> UNSET TAG <tag_name> [ , <tag_name> ... ]

ALTER PASSWORD POLICY [ IF EXISTS ] <name> UNSET [ PASSWORD_MIN_LENGTH ]
                                                 [ PASSWORD_MAX_LENGTH ]
                                                 [ PASSWORD_MIN_UPPER_CASE_CHARS ]
                                                 [ PASSWORD_MIN_LOWER_CASE_CHARS ]
                                                 [ PASSWORD_MIN_NUMERIC_CHARS ]
                                                 [ PASSWORD_MIN_SPECIAL_CHARS ]
                                                 [ PASSWORD_MIN_AGE_DAYS ]
                                                 [ PASSWORD_MAX_AGE_DAYS ]
                                                 [ PASSWORD_MAX_RETRIES ]
                                                 [ PASSWORD_LOCKOUT_TIME_MINS ]
                                                 [ PASSWORD_HISTORY ]
                                                 [ COMMENT ]
Copy

Parâmetros

name

Identificador da política de senhas; deve ser único para sua conta.

O valor do identificador deve começar com um caractere alfabético e não pode conter espaços ou caracteres especiais, a menos que toda a cadeia de caracteres do identificador esteja entre aspas duplas (por exemplo, "My object"). Os identificadores delimitados por aspas duplas também diferenciam letras maiúsculas de minúsculas.

Para obter mais detalhes, consulte Requisitos para identificadores.

RENAME TO new_name

Especifica o novo identificador para a política da sessão; deve ser único para sua conta.

Para obter mais detalhes, consulte Requisitos para identificadores.

Você pode mover o objeto para um banco de dados e/ou esquema diferente enquanto opcionalmente renomeia o objeto. Para isso, especifique um valor qualificado new_name que inclua o novo banco de dados e/ou nome do esquema no formulário db_name.schema_name.object_name ou schema_name.object_name, respectivamente.

Nota

  • O banco de dados e/ou esquema de destino já deve existir. Além disso, um objeto com o mesmo nome não pode já existir no banco de dados de destino; caso contrário, a instrução retorna um erro.

  • É proibido mover um objeto para um esquema de acesso gerenciado a menos que o proprietário do objeto (ou seja, a função que tem o privilégio OWNERSHIP sobre o objeto) também possua o esquema de destino.

SET ...

Especifica um ou mais parâmetros a serem definidos para a política de senhas, separados por espaços em branco, vírgulas ou novas linhas.

PASSWORD_MIN_LENGTH = integer

Especifica o número mínimo de caracteres que a senha deve conter.

Intervalo suportado: 8 até 256, inclusive.

Padrão: 8

PASSWORD_MAX_LENGTH = integer

Especifica o número máximo de caracteres que a senha deve conter. Este número deve ser maior ou igual à soma de PASSWORD_MIN_LENGTH, PASSWORD_MIN_UPPER_CASE_CHARS e PASSWORD_MIN_LOWER_CASE_CHARS.

Intervalo suportado: 8 até 256, inclusive.

Padrão: 256

PASSWORD_MIN_UPPER_CASE_CHARS = integer

Especifica o número mínimo de caracteres maiúsculos que a senha deve conter.

Intervalo suportado: 0 até 256, inclusive.

Padrão: 1

PASSWORD_MIN_LOWER_CASE_CHARS = integer

Especifica o número mínimo de caracteres minúsculos que a senha deve conter.

Intervalo suportado: 0 até 256, inclusive.

Padrão: 1

PASSWORD_MIN_NUMERIC_CHARS = integer

Especifica o número mínimo de caracteres numéricos que a senha deve conter.

Intervalo suportado: 0 até 256, inclusive.

Padrão: 1

PASSWORD_MIN_SPECIAL_CHARS = integer

Especifica o número mínimo de caracteres especiais que a senha deve conter.

Intervalo suportado: 0 até 256, inclusive.

Padrão: 0

PASSWORD_MIN_AGE_DAYS = integer

Especifica o número de dias que o usuário deve esperar antes que uma senha alterada recentemente possa ser alterada novamente.

Intervalo suportado: 0 até 999, inclusive.

Padrão: 0

PASSWORD_MAX_AGE_DAYS = integer

Especifica o número máximo de dias antes que a senha deva ser alterada.

Intervalo suportado: 0 até 999, inclusive.

Um valor de zero (isto é, 0) indica que a senha não precisa ser alterada. Snowflake não recomenda a escolha deste valor para uma política de senhas padrão em nível de conta ou para qualquer política em nível de usuário. Em vez disso, escolha um valor que cumpra suas diretrizes de segurança interna.

Padrão: 90, o que significa que a senha deve ser alterada a cada 90 dias.

Importante

Este parâmetro é com estado. Para obter mais detalhes, consulte a nota em Política de senhas personalizada para a conta e usuários.

PASSWORD_MAX_RETRIES = integer

Especifica o número máximo de tentativas de entrada de uma senha antes de ser bloqueada.

Intervalo suportado: 1 até 10, inclusive.

Padrão: 5

Importante

Este parâmetro é com estado. Para obter mais detalhes, consulte a nota em Política de senhas personalizada para a conta e usuários.

PASSWORD_LOCKOUT_TIME_MINS = integer

Especifica o número de minutos que a conta do usuário será bloqueada após esgotar o número designado de tentativas de nova senha (ou seja, PASSWORD_MAX_RETRIES).

Intervalo suportado: 1 até 999, inclusive.

Padrão: 15

Importante

Este parâmetro é com estado. Para obter mais detalhes, consulte a nota em Política de senhas personalizada para a conta e usuários.

PASSWORD_HISTORY = integer

Especifica o número das senhas mais recentes que o Snowflake armazena. Essas senhas armazenadas não podem ser repetidas quando um usuário atualiza o valor da senha.

O valor da senha atual não conta para o histórico.

Quando você aumenta o valor do histórico, o Snowflake salva os valores anteriores.

Quando você diminui o valor, o Snowflake salva os valores armazenados até o valor definido. Por exemplo, se o valor do histórico for 8 e você alterar o valor do histórico para 3, o Snowflake armazenará os valores das 3 senhas mais recentes e excluirá os valores das 5 senhas mais antigas do histórico.

Padrão: 0

Máx.: 24

COMMENT = 'string_literal'

Adiciona um comentário ou substitui um comentário existente para a política de senhas.

TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]

Especifica o nome da tag e o valor da cadeia de caracteres dela.

O valor de tag é sempre uma cadeia de caracteres, e o número máximo de caracteres do valor da tag é 256.

Para obter mais detalhes sobre como especificar tags em uma instrução, consulte Cotas de tags para objetos e colunas.

UNSET ...

Especifica um ou mais parâmetros a serem removidos da política de senhas, que os restaura aos padrões do sistema.

Você pode redefinir várias propriedades com uma única instrução ALTER. Cada propriedade deve obrigatoriamente ser separada por uma vírgula. Ao redefinir uma propriedade, especifique apenas o nome. A especificação de um valor para a propriedade retornará um erro.

Requisitos de controle de acesso

Uma função usada para executar este comando SQL deve ter os seguintes privilégios no mínimo:

Privilégio

Objeto

Notas

OWNERSHIP

Política de senhas

OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege).

Observe que operar em qualquer objeto de um esquema também requer o privilégio USAGE no banco de dados e esquema principais.

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.

Para obter detalhes adicionais sobre privilégios e DDL da política de senhas, consulte Gerenciamento de políticas de senhas.

Notas de uso

  • Antes de executar este comando, execute o comando DESCRIBE PASSWORD POLICY para determinar os valores dos atributos da política.

    Se você quiser atualizar uma política de senhas existente e precisar ver a definição atual da política, chame a função GET_DDL ou execute o comando DESCRIBE PASSWORD POLICY.

  • É proibido mover uma política de senhas para um esquema de acesso gerenciado, a menos que o proprietário da política de senhas (ou seja, a função que tem o privilégio OWNERSHIP na política de senhas) também seja o proprietário do esquema de destino. Para obter mais informações, consulte Visão geral dos privilégios de controle de acesso.

Exemplos

O exemplo a seguir descreve a política de senhas atual e, em seguida, atualiza a política de senhas para especificar o número de tentativas de senha permitidas:

DESC PASSWORD POLICY password_policy_prod_1;

ALTER PASSWORD POLICY password_policy_prod_1 SET PASSWORD_MAX_RETRIES = 3;
Copy