Connettiti a SAP Datasphere

In qualità di amministratore BigQuery, puoi creare una connessione per accedere ai dati SAP Datasphere. Questa connessione consente agli analisti dei dati di interrogare i dati in SAP Datasphere.

Prima di iniziare

  1. Abilita l'API BigQuery Connection.

    Abilitare l'API

  2. Crea un utente del database SAP Datasphere. Prendi nota di nome utente, password, nome host e porta a cui BigQuery deve connettersi.

  3. Configura il tenant SAP Datasphere in modo che accetti il traffico dagli indirizzi IP selezionati eseguendo una delle seguenti operazioni:

    • Aggiungi tutti gli intervalli di indirizzi IP di Google alla lista consentita "IP attendibili" in SAP Datasphere.
    • Apri il tenant SAP Datasphere alle connessioni da tutti gli indirizzi IP aggiungendo 0.0.0.0/0 alla lista consentita.
    • Configura la connessione con i collegamenti di rete in modo che BigQuery apra la connessione da un indirizzo IP statico.

    Per saperne di più sulla configurazione del tenant SAP Datasphere, vedi Aggiungere un indirizzo IP alla lista consentita IP.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per connetterti a SAP Datasphere, chiedi all'amministratore di concederti i seguenti ruoli IAM:

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Configurare un collegamento di rete

Poiché le query federate stabiliscono una connessione diretta al database utilizzando l'API BigQuery Connection, devi consentire il traffico da Google Cloud al tuomotore del databasese. Per aumentare la sicurezza, devi consentire solo il traffico proveniente dalle query BigQuery. Questa limitazione del traffico può essere ottenuta in due modi:

  • Definendo un indirizzo IP statico utilizzato da una connessione BigQuery e aggiungendolo alle regole firewall dell'origine dati esterna.
  • Creando una VPN tra BigQuery e la tua infrastruttura interna e utilizzandola per le tue query.

Entrambe queste tecniche sono supportate tramite l'utilizzo di allegati di rete.

Limitazioni

Le connessioni con allegati di rete sono soggette alle seguenti limitazioni:

  • Per le regioni standard, i collegamenti di rete devono trovarsi nella stessa regione della connessione. Per le connessioni nella multiregione US, il collegamento di rete deve trovarsi nella regione us-central1. Per le connessioni nella multiregione EU, il collegamento di rete deve trovarsi nella regione europe-west4.
  • Non puoi modificare il collegamento di rete dopo averlo creato. Per modificare la configurazione, devi ricreare il collegamento di rete.
  • I collegamenti di rete non possono essere eliminati a meno che BigQuery non elimini le risorse allocate. Per avviare la procedura di eliminazione, contatta l'assistenza BigQuery.

Crea un collegamento di rete

Quando crei una connessione per la federazione delle query, puoi specificare un collegamento di rete facoltativo che fornisce la connettività alla rete del tuo database. Puoi creare un collegamento di rete definendo un indirizzo IP statico o creando una VPN. Per entrambe le opzioni, procedi nel seguente modo:

  1. Se non ne hai già una, crea una rete VPC e una subnet.

  2. A seconda del metodo di routing scelto, esegui una delle seguenti operazioni:

  3. Crea un collegamento di rete utilizzando la rete, la regione e la subnet che hai creato.

  4. (Facoltativo) A seconda delle norme di sicurezza della tua organizzazione, potrebbe essere necessario configurare il firewall Google Cloud per consentire il traffico in uscita creando una regola firewall con le seguenti impostazioni:

    • Imposta Destinazioni su Tutte le istanze nella rete.
    • Imposta Intervalli IPv4 di destinazione sull'intero intervallo di indirizzi IP.
    • Imposta Protocolli e porte specificati sulla porta utilizzata dal tuo database.
  5. Configura il firewall interno per consentire l'accesso dall'indirizzo IP statico che hai creato. Questo processo varia in base all'origine dati.

Connettere BigQuery a SAP Datasphere

Puoi connettere BigQuery a SAP Datasphere nella console Google Cloud o nello strumento a riga di comando bq.

Console

  1. Nella console Google Cloud , vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nel riquadro Explorer, fai clic su Aggiungi dati.

    Si apre la finestra di dialogo Aggiungi dati.

  3. Nel riquadro Filtra per, nella sezione Tipo di origine dati, seleziona Database.

    In alternativa, nel campo Cerca origini dati, puoi inserire SAP HANA.

  4. Nella sezione Origini dati in evidenza, fai clic su SAP HANA.

  5. Fai clic sulla scheda della soluzione SAP HANA: BigQuery Federation.

  6. Nella finestra di dialogo Origine dati esterna, procedi nel seguente modo:

    • Per Tipo di connessione, seleziona SAP HANA.
    • In ID connessione, inserisci un ID connessione per identificare questa connessione.
    • Per Tipo di località, specifica una regione del set di dati BigQuery da combinare con i dati di SAP Datasphere. Le query che utilizzano questa connessione devono essere eseguite da questa regione.
    • (Facoltativo) In Nome descrittivo, inserisci un nome intuitivo per la connessione, ad esempio My connection resource. Il nome descrittivo può essere qualsiasi valore che ti aiuti a identificare la risorsa di connessione se devi modificarla in un secondo momento.
    • (Facoltativo) In Descrizione, inserisci una descrizione di questa risorsa di connessione.
    • Per Crittografia, seleziona Google-managed encryption key o Chiave di crittografia gestita dal cliente (CMEK). L'utilizzo di una chiave CMEK è facoltativo.
    • Per Host:porta, inserisci l'host e la porta dell'istanza del database SAP, come mostrato in Dettagli utente database nella console web SAP Datasphere, nel formato HOST:PORT.
    • (Facoltativo) Per Collegamento di rete, inserisci un percorso per il collegamento di rete che definisce la configurazione di rete utilizzata per stabilire una connessione a SAP Datasphere.
    • In Nome utente, inserisci il nome utente del database da Dettagli utente database nella console web SAP Datasphere. Ad esempio: MY_SPACE#BIGQUERY.
    • In Password, inserisci la password dell'utente del database.
  7. Fai clic su Crea connessione.

bq

Inserisci il comando bq mk con i seguenti flag:

  bq mk \
  --connection \
  --location=LOCATION \
  --project_id=PROJECT_ID \
  --connector_configuration '{
    "connector_id": "saphana",
    "endpoint": {
      "host_port": "HOST_PORT"
    },
    "authentication": {
      "username_password": {
        "username": "USERNAME",
        "password": {
          "plaintext": "PASSWORD"
        }
      }
    },
    "network": {
      "private_service_connect": {
        "network_attachment": "NETWORK_ATTACHMENT"
      }
    }
  }' \
  CONNECTION_ID

Sostituisci quanto segue:

  • LOCATION: specifica una regione del set di dati BigQuery da combinare con i dati di SAP Datasphere. Le query che utilizzano questa connessione devono essere eseguite da questa regione.
  • PROJECT_ID: inserisci il tuo Google Cloud ID progetto.
  • HOST_PORT: inserisci l'host e la porta dell'istanza del database SAP, come mostrato in Dettagli utente database nella console web SAP Datasphere, nel formato HOST:PORT.
  • (Facoltativo) NETWORK_ATTACHMENT: inserisci il collegamento di rete nel formato projects/{project}/regions/{region}/networkAttachments/{networkattachment}. Con questo campo, puoi configurare la connessione SAP Datasphere in modo che BigQuery apra la connessione da un indirizzo IP statico.
  • USERNAME: inserisci il nome utente del database da Dettagli utente database nella console web SAP Datasphere. Ad esempio MY_SPACE#BIGQUERY.
  • PASSWORD: inserisci la password dell'utente del database.
  • CONNECTION_ID: inserisci un ID connessione per identificare questa connessione.

Flag facoltativo:

  • --kms_key_name: una chiave di crittografia gestita dal cliente. Se omesso, le credenziali sono protette dal valore predefinito Google-owned and Google-managed encryption key.

Nota:se hai configurato la connessione in modo da utilizzare un collegamento di rete, devi eseguire una query federata iniziale per sincronizzare il progetto con il collegamento di rete prima che diventi completamente attivo.

Condividere le connessioni con gli utenti

Puoi concedere i seguenti ruoli per consentire agli utenti di eseguire query sui dati e gestire le connessioni:

  • roles/bigquery.connectionUser: consente agli utenti di utilizzare le connessioni per connettersi a origini dati esterne ed eseguire query.

  • roles/bigquery.connectionAdmin: consente agli utenti di gestire le connessioni.

Per saperne di più sui ruoli e sulle autorizzazioni IAM in BigQuery, consulta Ruoli e autorizzazioni predefiniti.

Seleziona una delle seguenti opzioni:

Console

  1. Vai alla pagina BigQuery.

    Vai a BigQuery

    Le connessioni sono elencate nel progetto, in un gruppo chiamato Connessioni.

  2. Nel riquadro a sinistra, fai clic su Spazio di esplorazione:

    Pulsante evidenziato per il riquadro Spazio di esplorazione.

    Se non vedi il riquadro a sinistra, fai clic su Espandi riquadro a sinistra per aprirlo.

  3. Fai clic sul tuo progetto, poi su Connessioni e seleziona una connessione.

  4. Nel riquadro Dettagli, fai clic su Condividi per condividere una connessione. Quindi:

    1. Nella finestra di dialogo Autorizzazioni di connessione, condividi la connessione con altre entità aggiungendo o modificando le entità.

    2. Fai clic su Salva.

bq

Non puoi condividere una connessione con lo strumento a riga di comando bq. Per condividere una connessione, utilizza la console Google Cloud o il metodo dell'API BigQuery Connections.

API

Utilizza il metodo projects.locations.connections.setIAM nella sezione di riferimento dell'API REST BigQuery Connections e fornisci un'istanza della risorsa policy.

Java

Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida di BigQuery per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API BigQuery Java.

Per eseguire l'autenticazione in BigQuery, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.

import com.google.api.resourcenames.ResourceName;
import com.google.cloud.bigquery.connection.v1.ConnectionName;
import com.google.cloud.bigqueryconnection.v1.ConnectionServiceClient;
import com.google.iam.v1.Binding;
import com.google.iam.v1.Policy;
import com.google.iam.v1.SetIamPolicyRequest;
import java.io.IOException;

// Sample to share connections
public class ShareConnection {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "MY_PROJECT_ID";
    String location = "MY_LOCATION";
    String connectionId = "MY_CONNECTION_ID";
    shareConnection(projectId, location, connectionId);
  }

  static void shareConnection(String projectId, String location, String connectionId)
      throws IOException {
    try (ConnectionServiceClient client = ConnectionServiceClient.create()) {
      ResourceName resource = ConnectionName.of(projectId, location, connectionId);
      Binding binding =
          Binding.newBuilder()
              .addMembers("group:example-analyst-group@google.com")
              .setRole("roles/bigquery.connectionUser")
              .build();
      Policy policy = Policy.newBuilder().addBindings(binding).build();
      SetIamPolicyRequest request =
          SetIamPolicyRequest.newBuilder()
              .setResource(resource.toString())
              .setPolicy(policy)
              .build();
      client.setIamPolicy(request);
      System.out.println("Connection shared successfully");
    }
  }
}

Prezzi

Passaggi successivi