Loading
About Salesforce Data 360
Configurar o relacionamento de Trust do Snowflake para Clean Room Identity Boost

Configurar o relacionamento de Trust do Snowflake para Clean Room Identity Boost

Para cada convite de colaboração para o caso de uso de reforço de identidade, conclua a configuração necessária do Snowflake e aceite o convite no Data 360. O Data 360 testa a conexão do Snowflake automaticamente na aceitação.

Edições obrigatórias

Disponível em: Edição Enterprise (organização inicial)
Não é possível receber ou aceitar convites para colaboração na Developer Edition.
Permissões de usuário necessárias
Para criar uma conexão de Federação de dados do Snowflake no Data 360:

Perfil ou conjunto de permissões do administrador do sistema:

  • Arquiteto do Data Cloud

Antes de começar:

  • Complete o planejamento do seu ambiente do Snowflake para o Identity Boost.
  • Abra o convite de colaboração pendente no Data 360 e anote estes valores no assistente Aceitar convite de colaboração de sala limpa – você precisa deles nas etapas de configuração a seguir:
    • ID externo – um identificador exclusivo gerado pelo Data 360 para essa colaboração
    • URL do domínio do Salesforce do consumidor – o domínio da organização do Salesforce do consumidor

Configurar seu ambiente do Snowflake

  1. Na planilha do Snowflake, abra o Editor de SQL e conclua estas tarefas para configurar os contêineres de dados, as permissões e o usuário de serviço.
    Nota
    Nota Estes exemplos de código são apenas para orientação. Teste e valide todo o código em um sandbox antes de usá-lo em produção.
  2. Crie um banco de dados dedicado e um esquema para esse cliente para que seus dados permaneçam isolados de outras colaborações.
    CREATE DATABASE CUSTOMER_DB;
    CREATE SCHEMA CUSTOMER_DB.ENRICHED_OUTPUT;

    Anote os nomes do banco de dados e do esquema – você os insere no Data 360 ao aceitar o convite.

  3. Crie as tabelas de saída.

    Estas são as tabelas em que seu trabalho de aprimoramento escreve. Defina todos os nomes de coluna em aspas duplas para preservar o caso. Sem aspas duplas, o Snowflake abre automaticamente os nomes das colunas, o que causa erros quando o Data 360 lê as tabelas.

    Importante
    Importante Defina uma chave primária em cada tabela de saída. O Data 360 lê metadados de chave primária quando descobre suas tabelas e a colaboração não pode ficar ativa se nenhuma tabela de saída estiver sem uma chave primária. Para as tabelas de email e telefone, defina a chave primária na coluna de valor do ponto de contato em vez do ID da parte, pois um ID da parte pode se repetir entre registros.
    -- 1. Bridge Table: links consumer Individual IDs to your internal IDs
    CREATE OR REPLACE TABLE CUSTOMER_DB.ENRICHED_OUTPUT.PartnerIndBridgeTable (
      "SourceId"            VARCHAR(255),  -- Consumer's Individual ID
      "PartnerIndividualId" VARCHAR(255)   -- Your internal unique identifier
    );
    
    -- 2. Individual Table: enriched name and identity attributes
    CREATE OR REPLACE TABLE CUSTOMER_DB.ENRICHED_OUTPUT.PartnerBoostedIndividualTable (
      "IndividualId"        VARCHAR(255),  -- Matches PartnerIndividualId in bridge table
      "ssot__FirstName__c"  VARCHAR(255),
      "ssot__LastName__c"   VARCHAR(255),
      "EnrichmentTimestamp" TIMESTAMP_NTZ
    );
    
    -- 3. Email Table: enriched email addresses
    CREATE OR REPLACE TABLE CUSTOMER_DB.ENRICHED_OUTPUT.PartnerBoostedEmailTable (
      "PartyId"             VARCHAR(255),  -- Links to IndividualId in table 2
      "EnrichedEmail"       VARCHAR(255),
      "EnrichmentTimestamp" TIMESTAMP_NTZ
    );
    
    -- 4. Phone Table: enriched phone numbers
    CREATE OR REPLACE TABLE CUSTOMER_DB.ENRICHED_OUTPUT.PartnerBoostedPhoneTable (
      "PartyId"             VARCHAR(255),  -- Links to IndividualId in table 2
      "EnrichedPhone"       VARCHAR(50),
      "EnrichmentTimestamp" TIMESTAMP_NTZ
    );
    Nota
    Nota Os nomes de tabela mostrados aqui são exemplos. Use os nomes reais declarados no JSON de metadados adicionais fornecido ao aceitar o convite. O Data 360 usa os valores de objectApiName nesse JSON para localizar as tabelas no esquema do Snowflake.
  4. Implemente seu trabalho de aprimoramento e configure-o para direcionar esse esquema ao cliente.

    Configure seu código de trabalho para ler do compartilhamento de dados do Snowflake que o Data 360 cria em seu ambiente após a aceitação, execute a resolução de identidade em relação ao seu gráfico de identidade e grave a saída aprimorada no banco de dados e no esquema que você criou.

    Não execute o trabalho ainda — os dados do consumidor só estarão disponíveis no seu ambiente do Snowflake depois de você aceitar o convite no Data 360.

    Nota
    Nota Se você usar uma única conta do Snowflake para vários clientes, o trabalho de aprimoramento poderá acessar todos os bancos de dados nessa conta. Dimensione o papel de execução do trabalho estritamente para o banco de dados e o esquema desse cliente e audite regularmente as concessões de papel para confirmar que não há acesso entre clientes.
  5. Crie um papel dedicado para o Data 360.

    Um papel dedicado é um conjunto nomeado de permissões que você atribui ao usuário de serviço do OIDC do Snowflake.

    CREATE ROLE IF NOT EXISTS DATACLOUD_SF_ROLE;
  6. Conceda ao papel acesso a um armazém, banco de dados e esquema.

    Para ver os armazéns disponíveis na sua conta, acesse Administrador > Armazéns no console do Snowflake e anote o nome do armazém que deseja usar. Esses comandos dão ao papel a permissão para usar o armazém e acessar o banco de dados e o esquema desse cliente.

    GRANT USAGE ON WAREHOUSE MY_WH TO ROLE DATACLOUD_SF_ROLE;
    GRANT USAGE ON DATABASE CUSTOMER_DB TO ROLE DATACLOUD_SF_ROLE;
    GRANT USAGE ON SCHEMA CUSTOMER_DB.ENRICHED_OUTPUT TO ROLE DATACLOUD_SF_ROLE;

    Substitua MY_WH pelo nome do armazém, CUSTOMER_DB pelo banco de dados criado e ENRICHED_OUTPUT pelo esquema criado. Anote o nome do armazém – você o insere no Data 360 ao aceitar o convite.

  7. Conceda a permissão de papel para ler as tabelas de saída.

    O Data 360 lê as tabelas de saída aprimoradas após a execução do trabalho de aprimoramento para criar os DMOs aprimorados na organização do consumidor. Essas concessões dão ao papel SELECT acesso a todas as tabelas de saída, tanto as tabelas existentes quanto as que você criar posteriormente.

    GRANT SELECT ON ALL TABLES IN SCHEMA CUSTOMER_DB.ENRICHED_OUTPUT TO ROLE DATACLOUD_SF_ROLE;
    GRANT SELECT ON FUTURE TABLES IN SCHEMA CUSTOMER_DB.ENRICHED_OUTPUT TO ROLE DATACLOUD_SF_ROLE;
  8. Crie um usuário de serviço com o Trust da Federação de identidade de carga de trabalho (OIDC).

    Este é um usuário dedicado do Snowflake que o Data 360 usa para se conectar à sua conta do Snowflake e ler as tabelas de saída aprimoradas. Diferentemente de um usuário normal, ele não tem senha. Em vez disso, ele confia em tokens de login emitidos pela organização do Salesforce do consumidor. Somente o Data 360, autenticado como a organização de consumidor específica, pode fazer login como esse usuário.

    Use o ID externo e o URL do domínio do Salesforce do consumidor que você anotou na seção Antes de começar.

    CREATE OR REPLACE USER sf_oidc_user
      WORKLOAD_IDENTITY =
      (
        TYPE = OIDC
        ISSUER = 'https://yourcompany.my.salesforce.com/services/connectors'
        SUBJECT = 'your-external-id'
        OIDC_AUDIENCE_LIST = ('https://yourcompany.my.salesforce.com')
      )
      TYPE = SERVICE
      DEFAULT_ROLE = DATACLOUD_SF_ROLE;
    • ISSUER – insira o URL do domínio do Salesforce do consumidor seguido por /services/connectors. Isso informa ao Snowflake qual organização do Salesforce pode emitir tokens de login para esse usuário. Por exemplo, https://yourcompany.my.salesforce.com/services/connectors.
    • SUBJECT — Insira o ID externo. Isso fixa o Trust nessa colaboração específica — mesmo que a mesma organização do Salesforce envie um token, esse token não pode acessar os dados de um cliente diferente.
    • OIDC_AUDIENCE_LIST – insira o URL do domínio do Salesforce do consumidor sem um sufixo de caminho. Por exemplo, https://yourcompany.my.salesforce.com.
    Nota
    Nota Criar um usuário de serviço – não converta um usuário existente. Alterar um usuário existente do Snowflake para um usuário de serviço remove a habilidade dessa pessoa de fazer login no Snowflake interativamente e combina suas permissões diárias com o acesso de máquina. Fazer isso dificulta a auditoria da conta e dificulta a revogação. Um usuário de serviço dedicado mantém o acesso do Data 360 totalmente isolado e fácil de remover. Se você usar uma única conta do Snowflake para vários clientes, inclua o nome do cliente no nome de usuário do serviço para evitar conflitos, por exemplo, Customer1_DC_User.

    Anote o nome de usuário do serviço – você o insere no Data 360 ao aceitar o convite.

  9. Atribua o papel ao usuário do serviço.
    GRANT ROLE DATACLOUD_SF_ROLE TO USER sf_oidc_user;
    O usuário de serviço tem as permissões que você configurou.
  10. Antes de migrar para o Data 360, confirme se você tem esses valores do seu ambiente do Snowflake — insira-os no assistente de aceitação.
    Campo no Data 360 Valor no Snowflake
    URL da conta do Snowflake O URL completo da sua conta do Snowflake, por exemplo, https://myorg.snowflakecomputing.com
    Usuário do serviço O nome que você deu ao usuário do serviço
    Nome do armazém de dados O nome do armazém que você usou
    Nome do banco de dados O nome do banco de dados que você criou
    Nome do esquema O nome do esquema que você criou

Aceite o convite de colaboração no Data 360

  1. Volte para o assistente Aceitar convite de colaboração do Clean Room no Data 360 e conclua estas etapas de aceitação: selecione um espaço de dados e crie ou selecione um modelo mapeado.
  2. Na seção Relacionamento de confiança do Snowflake, verifique se os valores de ID externo e URL do domínio do Salesforce mostrados na página correspondem ao que você usou nos campos SUBJECT e ISSUER ao criar o usuário de serviço no Snowflake.
    Esses valores são somente leitura. O Data 360 os mostra aqui para que você possa confirmar se a configuração do Snowflake está correta antes de prosseguir.
  3. Na seção Configurações de conexão do Snowflake, insira os valores observados nas etapas de configuração.
    • URL da conta Snowflake: o URL completo da sua conta do Snowflake, por exemplo, https://myorg.snowflakecomputing.com
    • Usuário do serviço: o nome do usuário de serviço que você criou no Snowflake
    • Nome do armazém de dados: o nome do armazém associado ao usuário de serviço
    • Nome da base de dados: o banco de dados que você criou no Snowflake
    • Nome do esquema: o esquema que você criou no Snowflake
  4. Clique em Testar conexão.

    O Data 360 tenta se conectar à sua conta do Snowflake usando o usuário de serviço. Se o teste falhar, verifique se os valores de SUBJECT e ISSUER no usuário de serviço do Snowflake correspondem exatamente ao ID externo e ao URL do domínio do Salesforce de consumidor mostrado na página. Verifique também se a sua conta Snowflake está em uma região compatível com a região do Data 360 do consumidor.

  5. Clique em Avançar e aceite o convite.
 
Carregando
Salesforce Help | Article