Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Split out external platform integration #419

Merged
merged 9 commits into from
Nov 15, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion docs/app/admin/AdminControls.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@ The Versions panel displays version information for the Ganymede environment:

The [Audit panel](../configuration/AuditLog.mdx) tracks historical activity in the environment, including user actions, resource changes, and timestamps. The Audit Log is accessible to all users in the environment.


## Integration Panel

The [Integration panel](./ExternalPlatform.mdx) contains details about the Ganymede environment, which can be used for integration with external systems, as well as for IP whitelisting Ganymede.
87 changes: 42 additions & 45 deletions docs/app/admin/ExternalPlatform.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@ import {
UserDeleteOutlined
} from '@ant-design/icons';

## Platform Integration Details

The Integration panel contains details about the Ganymede environment, which can be used for integration with external systems, as well as for IP whitelisting Ganymede.

<img alt="Admin - Integration Panel" src="https://ganymede-bio.mo.cloudinary.net/apiServer/IntegrationPanel_20241018.png" />
Expand All @@ -22,8 +20,49 @@ The Integration panel contains details about the Ganymede environment, which can
- **AWS Trust Policy JSON**: Role configuration for AWS Policy, to establish connectivity between AWS and Ganymede cloud
- **AWS Bucket CORS**: CORS configuration for AWS S3 buckets

## Using Ganymede to Power External Applications

Ganymede can generate Service Account credentials for use with other tools. Access using these credentials is restricted to read-only data of the environment in which they were generated.

Some examples of tools that can be connected to Ganymede using this approach include:

### Dashboarding Software
- [Tableau](https://help.tableau.com/current/pro/desktop/en-us/examples_googlebigquery.htm) - follow the instructions described in Option 2.
- [Looker](https://cloud.google.com/looker/docs/db-config-google-bigquery#authentication_with_bigquery_service_accounts) - follow the Authentication with BigQuery Service Accounts instructions
- [PowerBI](https://learn.microsoft.com/en-us/power-query/connectors/google-bigquery) - follow the instructions to connect to BigQuery using a service account.

### Data Analysis Tools
- [Posit (R)](https://solutions.posit.co/connections/db/databases/big-query/) - follow the *Using the ODBC Package* instructions using the [Simba BigQuery ODBC driver](https://cloud.google.com/bigquery/docs/reference/odbc-jdbc-drivers).
- [Spotfire](https://community.spotfire.com/articles/spotfire/spotfire-and-odbc-data-sources/) - Follow instructions for connecting to an ODBC data source using the [Simba BigQuery ODBC driver](https://cloud.google.com/bigquery/docs/reference/odbc-jdbc-drivers).
- [JMP](https://community.jmp.com/t5/Discussions/ODBC-connection-to-Google-BigQuery/td-p/346253) - Establish a connection to BigQuery using the [Simba BigQuery ODBC driver](https://cloud.google.com/bigquery/docs/reference/odbc-jdbc-drivers).
- [MATLAB](https://github.com/mathworks-ref-arch/matlab-google-bigquery/blob/main/Documentation/Authentication.md) - Provide service account credentials using the matlab-google-bigquery package.
- [Excel](https://cloud.google.com/blog/products/bigquery/how-to-connect-bigquery-to-microsoft-excel-and-other-apps-with-our-new-odbc-driver) - Install the [Simba BigQuery ODBC driver](https://cloud.google.com/bigquery/docs/reference/odbc-jdbc-drivers) and reference the data source from Excel.

### Generating Service Account Credentials

To do this, follow the steps below:
1. Navigate to the Environment Settings page, Integration tab
<img alt="Admin - Integration Panel Add Credentials" src="https://ganymede-bio.mo.cloudinary.net/apiServer/ExportCredentals_NewCredentials20241114.png" />
2. Select 'New Credentials' and enter a description and name for the Credentials
3. Click 'Create'
<img alt="Admin - Integration Panel Copy Key" src="https://ganymede-bio.mo.cloudinary.net/apiServer/ExportCredentals_CopyKey20241114.png" />
4. Copy the JSON key that is displayed and save it to a file.

:::note

This key is only displayed once, so be sure to save it in a secure location.

:::

:::warning

Treat this key as a password, as it provides access to the Ganymede environment.

:::

5. Use the JSON key to authenticate with the external tool.

### Connecting to an S3 Bucket
## Connecting to an S3 Bucket

In order to allow Ganymede Flows to read and write to an S3 bucket, follow the steps below for each Ganymede environment that needs access to the bucket:

Expand Down Expand Up @@ -75,45 +114,3 @@ In order to allow Ganymede Flows to read and write to an S3 bucket, follow the s
- Press Create Role

5. Add the Role ARN as an [environment secret in the Ganymede environment](./AdminControls.mdx#secrets-panel) named _aws_s3_role_arn_.

### Connecting to Ganymede from an External Tool

Ganymede can generate Service Account credentials for use with other tools. Access using these credentials is restricted to read-only data of the environment in which they were generated.

Some examples of tools that can be connected to Ganymede using this approach include:

#### Dashboarding Tools
- [Tableau](https://help.tableau.com/current/pro/desktop/en-us/examples_googlebigquery.htm) - follow the instructions described in Option 2.
- [Looker](https://cloud.google.com/looker/docs/db-config-google-bigquery#authentication_with_bigquery_service_accounts) - follow the Authentication with BigQuery Service Accounts instructions
- [PowerBI](https://learn.microsoft.com/en-us/power-query/connectors/google-bigquery)

#### Data Analysis Tools
- [Posit (R)](https://solutions.posit.co/connections/db/databases/big-query/) - follow the *Using the ODBC Package* instructions using the [Simba BigQuery ODBC driver](https://cloud.google.com/bigquery/docs/reference/odbc-jdbc-drivers).
- [Spotfire](https://community.spotfire.com/articles/spotfire/spotfire-and-odbc-data-sources/) - Follow instructions for connecting to an ODBC data source using the [Simba BigQuery ODBC driver](https://cloud.google.com/bigquery/docs/reference/odbc-jdbc-drivers).
- [JMP](https://community.jmp.com/t5/Discussions/ODBC-connection-to-Google-BigQuery/td-p/346253) - Establish a connection to BigQuery using the [Simba BigQuery ODBC driver](https://cloud.google.com/bigquery/docs/reference/odbc-jdbc-drivers).
- [MATLAB](https://github.com/mathworks-ref-arch/matlab-google-bigquery/blob/main/Documentation/Authentication.md) - Provide service account credentials using the matlab-google-bigquery package.
- [Excel](https://cloud.google.com/blog/products/bigquery/how-to-connect-bigquery-to-microsoft-excel-and-other-apps-with-our-new-odbc-driver) - Install the [Simba BigQuery ODBC driver](https://cloud.google.com/bigquery/docs/reference/odbc-jdbc-drivers) and reference the data source from Excel.

#### Generating Service Account Credentials

To do this, follow the steps below:
1. Navigate to the Environment Settings page, Integration tab
<img alt="Admin - Integration Panel Add Credentials" src="https://ganymede-bio.mo.cloudinary.net/apiServer/ExportCredentals_NewCredentials20241114.png" />
2. Select 'New Credentials' and enter a description and name for the Credentials
3. Click 'Create'
<img alt="Admin - Integration Panel Copy Key" src="https://ganymede-bio.mo.cloudinary.net/apiServer/ExportCredentals_CopyKey20241114.png" />
4. Copy the JSON key that is displayed and save it to a file.

:::note

This key is only displayed once, so be sure to save it in a secure location.

:::

:::warning

Treat this key as a password, as it provides access to the Ganymede environment.

:::

5. Use the JSON key to authenticate with the external tool.
2 changes: 1 addition & 1 deletion docs/releases/202411.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ displayed_sidebar: releaseSideBar
### November 14 2024

**Features**
- **UI**: Service Accounts can be [exported](../app/admin/ExternalPlatform#connecting-to-ganymede-from-an-external-tool) for use in external applications
- **UI**: Service Accounts can be [exported](../app/admin/ExternalPlatform#using-ganymede-to-power-external-applications) for use in external applications
- Each service account has read-only access to your table data and metadata
- Access is scoped to a single environment's data
- These can be used in tools that support BigQuery or BigQuery via ODBC.
Expand Down
2 changes: 1 addition & 1 deletion sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,7 @@ module.exports = {
{
type: 'doc',
id: 'app/admin/ExternalPlatform',
label: 'External Platform Configuration'
label: 'External Platform Integration'
},
{
type: 'category',
Expand Down