Configuração do Snowflake para federação de identidade de carga de trabalho
Esta página aborda como conectar o Snowflake à ingestão de dados na nuvem (CDI) da Braze com a federação de identidade de carga de trabalho (Workload Identity Federation). Para concessões de função, warehouse e banco de dados, e para o restante da configuração da fonte, consulte Integrações de data warehouse, Fontes conectadas ou Editor SQL.
Com a federação de identidade de carga de trabalho, a Braze se autentica no Snowflake como um usuário de serviço vinculado à identidade AWS da Braze para o Snowflake. Esse usuário não tem senha nem chave RSA. A autenticação por par de chaves RSA continua com suporte. As credenciais de par de chaves existentes continuam funcionando, e você não precisa migrá-las.
A federação de identidade de carga de trabalho e a autenticação por par de chaves RSA são jornadas de configuração separadas. Siga as etapas do método que você selecionar no formulário de credencial.
Se Federação de identidade de carga de trabalho não aparecer no formulário de credencial, use Par de chaves.
Use o principal do Snowflake deste espaço de trabalho
A instrução no formulário de credencial do Snowflake inclui o principal da Braze para o Snowflake. Esse principal é um Amazon Resource Name (ARN) da função AWS da Braze para o Snowflake. Ele é específico do seu espaço de trabalho e da sua instância da Braze.
A Braze usa uma função AWS para o Snowflake diferente da que usa para o Google BigQuery e o Google Cloud Storage. Copie a instrução do formulário de credencial do Snowflake no espaço de trabalho que você está conectando. Um principal de um formulário de credencial do BigQuery ou do Google Cloud Storage é a função AWS da Braze para fontes do Google, então o Snowflake o rejeita para esse usuário.

Execute a instrução que a Braze mostra no formulário de credencial do Snowflake. O formulário preenche seu nome de usuário, sua função e o principal da Braze para este espaço de trabalho. Uma instrução copiada de outro espaço de trabalho, de um formulário de credencial do Google ou de um exemplo não corresponde a este espaço de trabalho, e o teste de conexão falha.
Pré-requisitos
Antes de executar a instrução:
- Crie a função e conceda acesso ao banco de dados na Etapa 1.2: Configure a função e as permissões do banco de dados. As fontes conectadas também precisam de permissão para criar tabelas. Para essa concessão, consulte a Etapa 2.1: Crie uma função e conceda permissões.
- Conceda à função acesso a um warehouse na Etapa 1.3: Configure o warehouse e dê acesso à função da Braze.
- Se sua conta do Snowflake usar uma política de rede, permita os endereços IP da Braze conforme descrito na Etapa 1.5: Permita os IPs da Braze na política de rede do Snowflake (opcional). Um usuário
TYPE = SERVICEcontinua sujeito a essa política. - Use uma função do Snowflake que possa criar ou alterar usuários e conceder funções, como
SECURITYADMIN.
Crie um usuário do Snowflake separado para cada espaço de trabalho da Braze que se conecta à mesma conta do Snowflake. Dentro de um espaço de trabalho, você pode reutilizar o mesmo usuário em várias integrações.
O que a instrução gerada faz
A Braze gera a instrução no formulário de credencial do Snowflake. A instrução muda conforme você preenche Nome de usuário e Função, e inclui o principal da Braze para o Snowflake. Execute a instrução a partir do formulário. Esta página descreve a instrução para que você saiba o que está executando.
Criar usuário
Criar usuário serve para um novo usuário do Snowflake. A instrução é um comando CREATE USER que faz o seguinte:
- Define
WORKLOAD_IDENTITYcomoTYPE = AWS, com o ARN definido como o principal da Braze para o Snowflake mostrado neste formulário de credencial. Esse vínculo é o que permite que a Braze se autentique como o usuário. - Define
TYPE = SERVICE. O usuário é um usuário de serviço, sem senha e sem chave pública RSA. O Snowflake aceitaWORKLOAD_IDENTITYem um usuário de serviço. - Define
DEFAULT_ROLEcomo a função que você inseriu. O Snowflake ativa essa função quando a Braze se conecta. - Concede essa função ao usuário, o que permite que ele a use.
Alterar usuário
Alterar usuário serve para um nome de usuário que já existe. A instrução é um comando ALTER USER que faz o seguinte:
- Define
TYPE = SERVICE. A federação de identidade de carga de trabalho exige um usuário de serviço. Se o usuário ainda tiver uma senha, o Snowflake rejeita essa alteração antes de vincular o usuário ao principal da Braze. Remova a senha antes de executar a instrução ou crie um novo usuário de serviço. - Define
WORKLOAD_IDENTITYcomoTYPE = AWS, com o ARN definido como o mesmo principal do Snowflake. - Concede a função que você inseriu. Se o usuário já tiver essa função, a concessão não altera o usuário.
Use a instrução exatamente como o formulário a gera. A instrução define TYPE = AWS e o ARN do principal da Braze para o Snowflake.
Executar a instrução
- Na Braze, acesse Configurações de dados > Ingestão de dados na nuvem > Fontes, selecione Adicionar fonte de dados e, em seguida, selecione Snowflake.
- Insira um Nome da credencial e, em seguida, selecione Federação de identidade de carga de trabalho.
- Em Configuração da Braze, preencha Localizador de conta, Nome de usuário e Função. Para o valor do localizador da conta, consulte a Etapa 2.1: Adicione as informações de conexão do Snowflake.
- Selecione Criar usuário ou Alterar usuário.
- Quando Copiar instrução estiver disponível, selecione Copiar instrução. Se a instrução ainda mostrar um espaço reservado para o principal, aguarde até que a Braze o substitua. Se o formulário informar que a federação de identidade de carga de trabalho não está disponível nesta implementação, selecione Par de chaves.
- No Snowsight, abra uma planilha e execute a instrução.
- Volte ao formulário de credencial da Braze e selecione Salvar credencial.
- Insira o warehouse, o banco de dados e o esquema da fonte, selecione Testar conexão e, em seguida, selecione Conectar à fonte.
Revisar uma credencial do Snowflake
Depois de salvar uma credencial, revise-a na página Credenciais. Cada fonte tem sua própria seção.
- Acesse Configurações de dados > Ingestão de dados na nuvem > Credenciais.
- Encontre Credenciais de acesso a dados do Snowflake.
- Nessa seção, selecione o nome da credencial.
O modal de detalhes mostra Método de autenticação, Localizador de conta, Nome de usuário e Função. Usado por lista as fontes e sincronizações que usam a credencial.
Uma credencial de federação de identidade de carga de trabalho não inclui uma chave pública RSA. Uma credencial de par de chaves também mostra Chave pública RSA (primária). Selecione Visualizar para expandir a instrução ALTER USER da chave pública atual. Para substituir a chave, selecione Rotacionar credencial e, em seguida, selecione Gerar nova chave. Execute a nova instrução em uma planilha do Snowflake. A Braze move a chave pública anterior para uma chave secundária, que permanece ativa enquanto você instala a nova chave pública. Para o restante da configuração do par de chaves, consulte Autentique o usuário do Snowflake.
Solução de problemas
A instrução não está pronta para cópia
Copiar instrução permanece indisponível em dois casos:
- O formulário mostra “Erro ao carregar o ARN do principal da Braze”. Recarregue a página e abra o formulário de credencial novamente.
- O formulário mostra “A federação de identidade de carga de trabalho ainda não está disponível nesta implementação. Use um par de chaves.” Selecione Par de chaves.
O teste de conexão falha depois que você executa a instrução
Verifique o seguinte:
- Você executou a instrução a partir do formulário de credencial do Snowflake neste espaço de trabalho, depois de preencher Nome de usuário e Função.
- O usuário do Snowflake é
TYPE = SERVICEe não tem senha. - As concessões de função, warehouse e banco de dados dos pré-requisitos existem, e a concessão de função da instrução foi bem-sucedida.
- Se a conta usar uma política de rede, os endereços IP da Braze estão permitidos. Consulte a Etapa 1.5: Permita os IPs da Braze na política de rede do Snowflake (opcional).
Alterar usuário falha porque o usuário tem uma senha
O Snowflake rejeita TYPE = SERVICE para um usuário que ainda tem uma senha, então o usuário mantém o tipo atual. Remova a senha e execute a instrução novamente ou selecione Criar usuário e use um novo nome de usuário.