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:
CREATE OR ALTER APPLICATION ROLE: cria uma nova função de aplicativo se ela não existir ou altera uma função de aplicativo existente.
- 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>' ]
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>' ]
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.';