Aprovar conexões com recursos externos usando especificações de aplicativo¶
Este tópico descreve como os consumidores podem usar especificações de aplicativos para aprovar conexões com recursos externos para um Snowflake Native App.
Sobre as especificações de aplicativo¶
As especificações de aplicativo permitem que os provedores especifiquem os pontos de extremidade e recursos externos (fora do Snowflake) que um aplicativo requer. Os consumidores podem visualizar os pontos finais que o aplicativo está solicitando e aprová-los ou rejeitá-los, conforme apropriado.
Depois que um consumidor aprova a especificação de aplicativo, o aplicativo tem permissões para se conectar a esses pontos de extremidade. As especificações de aplicativo só permitem que um consumidor aprove conexões com recursos externos.
O aplicativo também pode solicitar privilégios para criar objetos, incluindo integrações de acesso externo. Para obter mais informações, consulte Permissão para que um aplicativo crie recursos na conta do consumidor.
Status de uma especificação de aplicativo¶
Uma especificação de aplicativo tem um status que indica se um consumidor a aprovou ou rejeitou. Os status possíveis são:
PENDING
: o consumidor não aprovou ou recusou a especificação de aplicativo. Este é o status padrão.APPROVED
: o consumidor aprovou a especificação de aplicativo.DECLINED
: o consumidor recusou a especificação de aplicativo.
Para obter informações sobre como determinar o status de uma especificação de aplicativo, consulte Visualizar os pontos de extremidade externos exigidos pelo aplicativo.
Números sequenciais de uma especificação de aplicativo¶
Os números sequenciais são usados para identificar exclusivamente uma versão da especificação de aplicativo. Os números sequenciais são incrementados automaticamente quando um provedor altera a definição da especificação de aplicativo. A definição de uma especificação de aplicativo inclui a configuração e outras informações necessárias. Os campos que não fazem parte da definição, como description
, não acionam uma atualização para o número sequencial.
Os números sequenciais permitem que provedores e consumidores saibam o status atual da especificação de aplicativo e quais pontos de extremidade externos foram ativados.
Visualizar as especificações de aplicativo de um aplicativo¶
Para visualizar os pontos de extremidade externos solicitados por um aplicativo, os consumidores podem usar o comando SHOW SPECIFICATIONS, como mostrado no exemplo a seguir:
SHOW SPECIFICATIONS IN APPLICATION hello_snowflake_app;
Esse comando lista informações sobre as especificações do aplicativo chamado hello_snowflake_app
.
A coluna status
mostra se a especificação de aplicativo foi aprovada, recusada ou ainda está pendente. Consulte Status de uma especificação de aplicativo para obter mais informações.
Visualizar os pontos de extremidade externos exigidos pelo aplicativo¶
Para exibir os pontos de extremidade externos exigidos pelo aplicativo, os consumidores podem visualizar os detalhes da especificação de aplicativo usando os comandos DESCRIBE SPECIFICATION ou SHOW SPECIFICATIONS, conforme mostrado nos exemplos a seguir:
DESC SPECIFICATION my_app_specification IN APPLICATION hello_snowflake_app;
SHOW SPECIFICATIONS IN APPLICATION hello_snowflake_app;
Para cada número sequencial, esse comando exibe as propriedades da especificação de aplicativo e os respectivos valores.
O campo definition
contém uma lista das portas de hosts externas que o aplicativo está solicitando. Consulte Números sequenciais de uma especificação de aplicativo.
Aprovar uma especificação de aplicativo usando Snowsight¶
Usando Snowsight, os consumidores podem aprovar ou negar uma especificação de aplicativo.
Faça login no Snowsight.
No menu de navegação, selecione Data Products » Apps.
Selecione o aplicativo.
Selecione o ícone Settings na barra de ferramentas.
Selecione Connections.
Ao lado da conexão que você deseja aprovar, expanda Details.
Snowsight exibe as integrações de acesso externo, regras de rede e pontos de extremidade solicitados para o aplicativo.
Aprove ou negue os pontos de extremidade solicitados:
Para aprovar os pontos de extremidade, selecione … e Approve.
Para negar os pontos de extremidade, selecione … e Deny.
Aprovar ou recusar uma especificação de aplicativo usando SQL¶
Os consumidores podem aprovar ou rejeitar uma especificação de aplicativo para permitir que ele se conecte a pontos de extremidade externos.
Privilégios necessários para aprovar ou recusar uma especificação de aplicativo¶
Para aprovar ou recusar uma especificação de aplicativo, um usuário deve usar uma função que tenha o privilégio MANAGE APPLICATION SPECIFICATIONS. Esse privilégio é concedido por padrão à função SECURITYADMIN. Usuários com a função SECURITYADMIN podem conceder esse privilégio a outras funções, conforme necessário.
Nota
Como a aprovação de uma especificação de aplicativo permite que um aplicativo acesse pontos de extremidade fora do Snowflake, os consumidores devem usar uma função que tenha o privilégio MANAGE APPLICATION SPECIFICATIONS como delegado pelo administrador de segurança da função da conta do consumidor. Ser o proprietário do aplicativo não concede os privilégios necessários.
Aprovar uma especificação de aplicativo usando SQL¶
Para aprovar uma especificação de aplicativo, os consumidores podem executar o comando ALTER APPLICATION, como mostrado no exemplo a seguir:
ALTER APPLICATION hello-snowflake-app APPROVE SPECIFICATION
my-app-spec SEQUENCE_NUMBER = 2;
Esse comando aprova a especificação de aplicativo chamado my-app-spec
para o aplicativo chamado hello-snowflake-app
.
Os consumidores podem obter o valor de SEQUENCE_NUMBER
executando o comando DESCRIBE SPECIFICATION ou SHOW SPECIFICATIONS.
Recusar uma especificação de aplicativo usando SQL¶
Para recusar uma especificação de aplicativo, os consumidores podem executar o comando ALTER APPLICATION, como mostrado no exemplo a seguir:
ALTER APPLICATION hello-snowflake-app DECLINE SPECIFICATION
my-app-spec SEQUENCE_NUMBER = 2;