Skip to main content

Privacera Documentation

Connect Dremio to PrivaceraCloud

This topic describes how to connect a Dremio application to PrivaceraCloud.

Prerequisites

There must be Dremio host where Dremio Enterprise Edition is installed.

Note

Community Edition is not supported

Procedure
  1. Go the Setting > Applications.

  2. In the Applications screen, select Dremio.

  3. Enter the application Name and Description, and then click Save.

  4. Click the toggle button to enable Access Management for your application

  5. Click Download Script (to download the privacera_dremio_plugin.sh)

  6. Click Save.

    Note

    If required download privacera_dremio_plugin.sh again using edit application option.

Configure Privacera plugin

Configure Privacera plugin depending on the installation of Dremio on your instance.

Note

For a new/existing data source configured in Dremio Data Lake, ensure Enable external authorization plugin checkbox under Settings & Advanced Options of the data source is selected in the Dremio UI. Then, restart the Dremio service.

RPM

  1. SSH to your instance where Dremio RPM is installed

  2. Copy the downloaded privacera_dremio_plugin.sh file to the Home folder in your Dremio instance.

  3. Run the following commands:

    mkdir -p ~/privacera/install 
    mv privacera_dremio_plugin.sh ~/privacera/install
  4. Launch the privacera_dremio_plugin.sh script.

    cd ~/privacera/instal 
    chmod +x privacera_dremio_plugin.sh 
    sudo ./privacera_dremio_plugin.sh
  5. Update dremio envornment to add Privacera jars and configuration in the Dremio classpath.

    vi ${DREMIO_HOME}/conf/dremio-env
  6. Update the following variable if it exists or add it.

    DREMIO_EXTRA_CLASSPATH=/opt/privacera/conf:/opt/privacera/dremio-ext-jars/*
  7. Restart Dremio.

    sudo service dremio restart

Kubernetes

Depending on your cloud provider, set up Dremio in a Kubernetes environment.

See the following links for deployment:

After setting up Dremio, perform the following steps to deploy the Privacera plugin.

  1. SSH to your instance where Dremio is installed containing the Dremio Kubernetes artifacts and change to the dremio-cloud-tools/charts/dremio_v2/ directory.

  2. Copy the privacera_dremio_plugin.sh downloaded file to the dremio_v2 folder in your Dremio Kubernetes instance.

  3. Run the following commands:

    mkdir -p privacera_config
    mv privacera_dremio.sh privacera_config/
    mv privacera_custom_conf.tar.gz privacera_config/
  4. Update configmap.yml to add new config map for Privacera configuration.

    vi templates/dremio-configmap.yaml

    Add the following configuration at the start of the file.

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: dremio-privacera-install
    data:
      privacera_dremio_plugin.sh: |- {{ .Files.Get "privacera_config/privacera_dremio_plugin.sh" | nindent 4 }}
    ---
  5. Update dremio-env to add Privacera jars and configuration in the Dremio classpath.

    vi config/dremio-env

    Update the following variable if it exists or add it.

    DREMIO_EXTRA_CLASSPATH=/opt/privacera/conf:/opt/privacera/dremio-ext-jars/*  v
  6. Update values.yaml.

    vi values.yaml

    Add the following configuration for extraInitContainers inside the coordinator section.

    * /tmp/ && cd /tmp && ./privacera_dremio_plugin.sh"extraInitContainers:  |    - "cd /opt/privacera/mount/ && cp * /tmp/ && cd /tmp && ./privacera_dremio_plugin.sh"

    Update or uncomment the extraVolumes section inside the coordinator section and add the following configuration:

    extraVolumes:
        - name: dremio-privacera-install
          configMap:
            name: dremio-privacera-install
            defaultMode: 0777
        - name: dremio-privacera-plugin-volume
          emptyDir: {}
        - name: dremio-ext-jars-volume
          emptyDir: {}
        - name: dremio-privacera-config
          emptyDir: {}

    Update or uncomment the extraVolumeMounts section inside the coordinator section and add the following configuration:

    extraVolumeMounts:
        - name: dremio-ext-jars-volume
          mountPath: /opt/privacera/dremio-ext-jars
        - name: dremio-privacera-plugin-volume
          mountPath: /opt/dremio/plugins/authorizer
        - name: dremio-privacera-config
          mountPath: /opt/privacera/conf
  7. Upgrade your Helm release. Get the release name by running helm list command. The text under the Name column is Helm release.

    helm upgrade -f values.yaml <release-name> .