Connettiti a SAP Datasphere

In qualità di amministratore BigQuery, puoi creare una connessione per accedere ai dati di SAP Datasphere. Questa connessione consente agli analisti dei dati di eseguire query sui 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 del nome utente, della password, del nome host e della porta a cui collegarti a BigQuery.

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

    Per ulteriori informazioni sulla configurazione del tenant SAP Datasphere, consulta 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 il ruolo IAM Amministratore connessione BigQuery (roles/bigquery.connectionAdmin) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

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

Collegare BigQuery a SAP Datasphere

Puoi collegare 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 Aggiungi.

  3. Nel campo di ricerca, cerca e seleziona Connessioni a origini dati esterne.

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

    • Per Tipo di connessione, seleziona SAP HANA.
    • In Connection ID (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 visualizzato, inserisci un nome intuitivo per la connessione, ad esempio My connection resource. Il nome visualizzato puoi 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 per questa risorsa di connessione.
    • In Crittografia, seleziona Chiave di crittografia gestita da Google o Chiave di crittografia gestita dal cliente (CMEK). L'utilizzo di un 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 il percorso del collegamento di rete che definisce la configurazione di rete utilizzata per stabilire una connessione a SAP Datasphere.
    • Per Nome utente: inserisci il nome utente del database in Dettagli utente database nella console web SAP Datasphere. Ad esempio: MY_SPACE#BIGQUERY.
    • In Password, inserisci la password dell'utente del database.
  5. 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 ID progetto Google Cloud.
  • 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.
  • NETWORK_ATTACHMENT (facoltativo): 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 in 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.

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 collegarsi a origini dati esterne ed eseguire query su di esse.

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

Per ulteriori informazioni 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 denominato Connessioni esterne.

  2. Nel riquadro Explorer, fai clic sul nome del progetto > Connessioni esterne > Connessione.

  3. 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à aggiungendole o modificandole.

    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 Java riportate nella guida rapida all'utilizzo di BigQuery con le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API BigQuery Java.

Per autenticarti in BigQuery, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare 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");
    }
  }
}

Passaggi successivi