Usare Snowflake con Amazon Quick Sight - Amazon Quick Suite

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Usare Snowflake con Amazon Quick Sight

Snowflake è una piattaforma cloud di dati IA che fornisce soluzioni di dati dal data warehousing e collaborazione al data science e all'IA generativa. Snowflake è un AWS partner con diversi AWS accreditamenti che includono competenze AWS ISV in intelligenza artificiale generativa, Machine Learning, dati e analisi e vendita al dettaglio.

Amazon Quick Sight offre due modi per connettersi a Snowflake: con le credenziali di accesso Snowflake o con le credenziali del client. OAuth Per ulteriori informazioni su questi metodi di connessione, utilizza le seguenti sezioni.

Creazione di una connessione alla sorgente dati Quick Sight a Snowflake con credenziali di accesso

Utilizza questa sezione per scoprire come creare una connessione tra Quick Sight e Snowflake con le credenziali di accesso Snowflake. Tutto il traffico tra Quick Sight e Snowflake è abilitato tramite SSL.

Per creare una connessione tra Quick Sight e Snowflake
  1. Apri la console Quick Suite.

  2. Dal riquadro di navigazione a sinistra, scegli Dati, quindi scegli Crea, quindi scegli Nuovo set di dati.

  3. Scegli la scheda dell'origine dati Snowflake.

  4. Nel popup che appare, immetti le seguenti informazioni:

    1. Per Nome dell'origine dati, immetti un nome descrittivo per la connessione all'origine dati Snowflake. Poiché puoi creare molti set di dati da una connessione a Snowflake, è preferibile assegnare un nome semplice.

    2. Per Tipo di connessione, seleziona il tipo di rete che stai utilizzando. Scegli Rete pubblica se i dati sono condivisi pubblicamente. Scegli VPC se i tuoi dati si trovano all'interno di un VPC. Per configurare una connessione VPC in Quick Sight, consulta. Gestione della connessione VPC in Amazon Quick Suite

    3. Per Server di database, inserisci il nome host specificato nei dettagli della connessione Starburst.

  5. Per Nome del database e warehouse, inserisci il rispettivo database e warehouse Snowflake a cui desideri connetterti.

  6. Per Nome utente e Password, inserisci le tue credenziali Snowflake.

Dopo aver creato con successo una connessione a una sorgente dati tra gli account Quick Sight e Snowflake, puoi iniziare a Creazione di set di dati contenere dati Snowflake.

Creazione di una connessione alla sorgente dati Quick Sight a Snowflake con le credenziali del client OAuth

Puoi utilizzare le credenziali OAuth del client per connettere il tuo account Quick Sight con Snowflake tramite Quick Sight. APIs OAuthè un protocollo di autorizzazione standard che viene spesso utilizzato per applicazioni con requisiti di sicurezza avanzati. Quando ti connetti a Snowflake con le credenziali OAuth del client, puoi creare set di dati che contengono dati Snowflake con Quick Sight e nell'interfaccia utente di Quick Sight APIs . Per ulteriori informazioni sulla configurazione di OAuth in Snowflake, consulta la panoramica di Snowflake OAuth.

Quick Sight supporta il tipo di concessione. client credentials OAuth OAuthle credenziali del client vengono utilizzate per ottenere un token di accesso per la machine-to-machine comunicazione. Questo metodo è adatto per scenari in cui un client deve accedere alle risorse ospitate su un server senza il coinvolgimento di un utente.

Nel flusso delle credenziali client di OAuth 2.0, esistono diversi meccanismi di autenticazione client che possono essere utilizzati per autenticare l'applicazione client con il server di autorizzazione. Quick Sight supporta le credenziali client basate su OAuth Snowflake per i seguenti due meccanismi:

  • Token (OAuth basato su segreti del client): il meccanismo di autenticazione client basato su segreti viene utilizzato con le credenziali del client per concedere il flusso necessario all'autenticazione con il server di autorizzazione. Questo schema di autenticazione richiede che client_id e client_secret dell'app client OAuth siano archiviati in Secrets Manager.

  • X509 (OAuth basato su JWT della chiave privata del client): la soluzione basata su chiavi di certificato X509 fornisce un ulteriore livello di sicurezza al meccanismo OAuth con certificati client che vengono utilizzati per l'autenticazione anziché i segreti del client. Questo metodo viene utilizzato principalmente dai client privati che lo utilizzano per autenticarsi con il server di autorizzazione con un forte rapporto di fiducia tra i due servizi.

Quick Sight ha convalidato OAuth le connessioni con i seguenti provider di identità:

  • OKTA

  • PingFederate

Archiviazione delle credenziali OAuth in Secrets Manager

OAuth le credenziali del client sono pensate per casi machine-to-machine d'uso e non sono progettate per essere interattive. Per creare una connessione all'origine dati tra Quick Sight e Snowflake, crea un nuovo segreto in Secrets Manager che contenga le credenziali per l'app client. OAuth L'ARN segreto creato con il nuovo segreto può essere utilizzato per creare set di dati che contengono dati Snowflake in Quick Sight. Per ulteriori informazioni sull'utilizzo delle chiavi di Secrets Manager in Quick Sight, vedereUtilizzo Gestione dei segreti AWS dei segreti anziché delle credenziali del database in Quick Suite.

Le credenziali da archiviare in Secrets Manager sono determinate dal meccanismo OAuth utilizzato. Le seguenti key/value coppie sono necessarie per i segreti basati su X509OAuth:

  • username: il nome utente dell'account Snowflake da utilizzare per la connessione a Snowflake

  • client_id: l'ID client OAuth

  • client_private_key: la chiave privata del client OAuth

  • client_public_key: la chiave pubblica del certificato client OAuth e il relativo algoritmo crittografato (ad esempio, {"alg": "RS256", "kid", "cert_kid"})

Le seguenti key/value coppie sono necessarie per i segreti basati su token: OAuth

  • username: il nome utente dell'account Snowflake da utilizzare per la connessione a Snowflake

  • client_id: l'ID client OAuth

  • client_secret: il segreto del client OAuth

Creazione di una OAuth connessione Snowflake con Quick Sight APIs

Dopo aver creato un segreto in Secrets Manager contenente OAuth le credenziali Snowflake e aver collegato il tuo account Quick Suite a Secrets Manager, puoi stabilire una connessione all'origine dati tra Quick Sight e Snowflake con Quick Sight e SDK. APIs L'esempio seguente crea una connessione a una fonte di dati Snowflake utilizzando le credenziali del token client. OAuth

{ "AwsAccountId": "AWSACCOUNTID", "DataSourceId": "UNIQUEDATASOURCEID", "Name": "NAME", "Type": "SNOWFLAKE", "DataSourceParameters": { "SnowflakeParameters": { "Host": "HOSTNAME", "Database": "DATABASENAME", "Warehouse": "WAREHOUSENAME", "AuthenticationType": "TOKEN", "DatabaseAccessControlRole": "snowflake-db-access-role-name", "OAuthParameters": { "TokenProviderUrl": "oauth-access-token-endpoint", "OAuthScope": "oauth-scope", "IdentityProviderResourceUri" : "resource-uri", "IdentityProviderVpcConnectionProperties" : { "VpcConnectionArn": "IdP-VPC-connection-ARN" } } }, "VpcConnectionProperties": { "VpcConnectionArn": "VPC-connection-ARN-for-Snowflake" } "Credentials": { "SecretArn": "oauth-client-secret-ARN" } }

Per ulteriori informazioni sul funzionamento dell' CreateDatasource API, vedere. CreateDataSource

Una volta stabilita la connessione tra Quick Sight e Snowflake e creata un'origine dati con Quick Sight APIs o SDK, la nuova origine dati viene visualizzata in Quick Sight. Gli autori di Quick Sight possono utilizzare questa fonte di dati per creare set di dati contenenti dati Snowflake. Le tabelle vengono visualizzate in base al ruolo utilizzato nel parametro DatabaseAccessControlRole passato in una chiamata API CreateDataSource. Se questo parametro non è definito al momento della creazione della connessione dell'origine dati, viene utilizzato il ruolo Snowflake predefinito.

Dopo aver creato con successo una connessione a una fonte di dati tra gli account Quick Sight e Snowflake, puoi iniziare a Creazione di set di dati contenere dati Snowflake.