CREATE APPLICATION ROLE

Cria uma nova função de aplicativo ou substitui uma função de aplicativo existente. Use funções de aplicativo para ativar a segurança de controle de acesso para objetos dentro de um objeto de aplicativo.

Consulte Sobre as funções de aplicativo para obter mais informações.

Nota

As funções de aplicativo são válidas apenas no contexto de um objeto de aplicativo.

Ao criar uma função de aplicativo, você pode conceder privilégios em objetos à função de aplicativo. No script de configuração, você pode conceder a função de aplicativo a outras funções de aplicativo.

Depois de instalar um Snowflake Native App, os consumidores podem conceder funções de aplicativo a funções de conta para permitir o acesso ao aplicativo.

Com as funções do aplicativo, você pode conceder privilégios a outros objetos dentro do aplicativo ou a objetos de propriedade do aplicativo na conta do consumidor.

As funções do aplicativo são concedidas implicitamente ao proprietário do aplicativo WITH GRANT OPTION. O proprietário do aplicativo pode conceder essas funções a funções de nível de conta, fornecendo acesso aos objetos pertencentes ao aplicativo.

Além disso, esse comando é compatível com as seguintes variantes:

Consulte também:

ALTER APPLICATION ROLE, GRANT APPLICATION ROLE, REVOKE APPLICATION ROLE, SHOW APPLICATION ROLES, CREATE OR ALTER <objeto>

Sintaxe

CREATE [ OR REPLACE ] APPLICATION ROLE [ IF NOT EXISTS ] <name>
  [ COMMENT = '<string_literal>' ]
Copy

Sintaxe da variante

CREATE OR ALTER APPLICATION ROLE

Cria uma nova função de aplicativo, caso ainda não exista, ou transforma uma função de aplicativo existente na função definida na instrução. Uma instrução CREATE OR ALTER APPLICATION ROLE segue as regras de sintaxe de uma instrução CREATE APPLICATION ROLE e tem as mesmas limitações de uma instrução ALTER APPLICATION ROLE.

CREATE OR ALTER APPLICATION ROLE <name>
  [ COMMENT = '<string_literal>' ]
Copy

Para obter mais informações, consulte Notas de uso CREATE OR ALTER APPLICATION ROLE.

Parâmetros obrigatórios

name

Especifica o identificador da função do aplicativo. Esse valor deve ser exclusivo no objeto de aplicativo no qual a função é criada.

O 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.

Se o identificador não estiver totalmente qualificado, na forma de application_name.application_role_name, o comando cria a função do aplicativo no aplicativo atual para a sessão.

Para obter mais detalhes, consulte Requisitos para identificadores.

Parâmetros opcionais

COMMENT = 'string_literal'

Especifica um comentário para a função do aplicativo.

Padrão: sem valor

Requisitos de controle de acesso

A função usada para executar essa operação deve ter, no mínimo, os seguintes privilégios:

Privilégio

Objeto

Notas

OWNERSHIP

Função do aplicativo

Necessário para executar uma instrução CREATE OR ALTER APPLICATION ROLE para uma função de aplicativo existente.

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).

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 geral

  • O número máximo de funções de aplicativo que podem ser criadas em um objeto de aplicativo é 1000.

  • Em relação aos metadados:

    Atenção

    Os clientes devem garantir que nenhum dado pessoal (exceto para um objeto do usuário), dados sensíveis, dados controlados por exportação ou outros dados regulamentados sejam inseridos como metadados ao usar o serviço Snowflake. Para obter mais informações, consulte Campos de metadados no Snowflake.

  • 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.

Notas de uso CREATE OR ALTER APPLICATION ROLE

  • Todas as limitações do comando ALTER APPLICATION ROLE se aplicam.

  • Não há suporte para a definição ou remoção da definição de uma tag; no entanto, as tags existentes não são alteradas por uma instrução CREATE OR ALTER APPLICATION ROLE e permanecem inalteradas.

Exemplos

CREATE APPLICATION ROLE app_role
  COMMENT = 'Application role for the Hello Snowflake application.';
Copy