CREATE AUTHENTICATION POLICY

Cria uma nova política de autenticação no esquema atual ou especificado ou substitui uma política de autenticação existente. Você pode usar políticas de autenticação para definir controles de autenticação e requisitos de segurança para contas ou usuários.

Consulte também:

ALTER AUTHENTICATION POLICY, DESCRIBE AUTHENTICATION POLICY, DROP AUTHENTICATION POLICY, SHOW AUTHENTICATION POLICIES

Sintaxe

CREATE [ OR REPLACE ] AUTHENTICATION POLICY [ IF NOT EXISTS ] <name>
  [ CLIENT_TYPES = ( '<string_literal>' [ , '<string_literal>' , ...  ] ) ]
  [ AUTHENTICATION_METHODS = ( '<string_literal>' [ , '<string_literal>' , ...  ] ) ]
  [ SECURITY_INTEGRATIONS = ( '<string_literal>' [ , '<string_literal>' , ... ] ) ]
  [ COMMENT = '<string_literal>' ]
Copy

Parâmetros obrigatórios

name

Especifica o identificador da política de autenticação. Se o identificador contiver espaços ou caracteres especiais, você deverá colocar a cadeia de caracteres entre aspas duplas. Os identificadores entre aspas duplas diferenciam maiúsculas de minúsculas. O identificador deve atender aos requisitos de identificador.

Parâmetros opcionais

CLIENT_TYPES = ( 'string_literal' [ , 'string_literal' , ... ] )

Uma lista de clientes que podem ser autenticados com Snowflake. Se um cliente tentar se conectar e não for um dos CLIENT_TYPES válidos, a tentativa de login falhará. Este parâmetro aceita um ou mais dos seguintes valores:

ALL

Permitir que todos os clientes se autentiquem.

SNOWFLAKE_UI

Snowsight ou Classic Console, as interfaces da Web do Snowflake.

DRIVERS

Os drivers permitem acesso ao Snowflake a partir de aplicativos escritos em linguagens suportadas. Por exemplo, os drivers Go, JDBC, .NET e Snowpipe Streaming.

Cuidado

Se DRIVERS não estiver incluído na lista CLIENT_TYPES, a ingestão automatizada poderá parar de funcionar.

SNOWSQL

Um cliente de linha de comando para conexão com o Snowflake.

Padrão: ALL.

AUTHENTICATION_METHODS = ( 'string_literal' [ , 'string_literal' , ... ] )

Cuidado

A restrição por método de autenticação pode ter consequências indesejadas, como o bloqueio de conexões de driver ou integrações de terceiros.

Uma lista de métodos de autenticação permitidos durante o login. Este parâmetro aceita um ou mais dos seguintes valores:

ALL

Permitir todos os métodos de autenticação.

SAML

Permite integrações de segurança SAML2. Se SAML estiver presente, uma opção de login SSO será exibida. Se SAML não estiver presente, uma opção de login SSO não aparecerá.

PASSWORD

Permite que os usuários se autentiquem usando nome de usuário e senha.

OAUTH

Permite OAuth externo.

KEYPAIR

Permite autenticação do par de chaves.

Padrão: ALL.

SECURITY_INTEGRATIONS = ( 'string_literal' [ , 'string_literal' , ... ] )

Uma lista de integrações de segurança às quais a política de autenticação está associada. Este parâmetro não tem efeito quando SAML ou OAUTH não estão na lista AUTHENTICATION_METHODS.

Todos os valores da lista SECURITY_INTEGRATIONS devem ser compatíveis com os valores da lista AUTHENTICATION_METHODS. Por exemplo, se SECURITY_INTEGRATIONS contiver uma integração de segurança SAML e AUTHENTICATION_METHODS contiver OAUTH, não será possível criar a política de autenticação.

ALL

Permitir todas as integrações de segurança.

Padrão: ALL.

COMMENT = 'string_literal'

Especifica uma descrição da política.

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

CREATE AUTHENTICATION POLICY

Esquema

Only the SECURITYADMIN role, or a higher role, has this privilege by default. The privilege can be granted to additional roles as needed.

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.

Notas de uso

  • Depois de criar uma política de autenticação, você deve usar o comando ALTER ACCOUNT ou ALTER USER para defini-la em uma conta ou usuário antes que o Snowflake aplique a política.

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

  • Instruções CREATE OR REPLACE <object> são atômicas. Ou seja, quando um objeto é substituído, o objeto antigo é excluído e o novo objeto é criado em uma única transação.

Exemplo

Crie uma política de autenticação chamada restrict_client_types_policy que permita acesso apenas por meio de Snowsight ou Classic Console:

CREATE AUTHENTICATION POLICY restrict_client_types_policy
  CLIENT_TYPES = ('SNOWFLAKE_UI')
  COMMENT = 'Auth policy that only allows access through the web interface';
Copy