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

Docs for profile generation #1016

Closed
Closed
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
19 changes: 19 additions & 0 deletions docs/cloud/onboarding/configure-user.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
title: "Configure Elementary user"
sidebarTitle: "2. Configure user"
---

To run Elementary cloud, you will need to provide connection info to a user with access to your elementary schema.
You can configure the user by yourself, or use [our guild](/cloud/onboarding/create-data-warehouse-user/create-data-warehouse-user) to create the user automatically.

### Permissions and security

**Elementary cloud doesn't need permissions to your sensitive data.**

It is recommended to create a read only user for the elementary schema only, and provide it to Elementary Cloud.
For more details, refer to [security and privacy](/cloud/security-and-privacy).

### What's next?

1. [Singup to Elementary cloud](/cloud/sonboarding/signup).
2. [Connect your Elementary schema to Elementary cloud](/cloud/onboarding/connect-data-warehouse).
5 changes: 2 additions & 3 deletions docs/cloud/onboarding/connect-data-warehouse.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,14 @@ You can connect Elementary to a data warehouse that has an Elementary schema (cr

Elementary Cloud needs:

- [`profiles.yml`](/cloud/onboarding/create-profile) with connection details
- Read permissions to the Elementary schema (and not the rest of your data)
- [A user](/cloud/onboarding/configure-user) with permissions to the Elementary schema (and not the rest of your data)
- Network access (might require to allowlist Elementary IP address)

### Connect Elementary cloud

On the `Account settings` under `Integrations`, press `Connect` on the "Connect Your data warehouse" section.

Provide an environment name, select a data warehouse type, and upload the `profiles.yml` file with the `elementary` profile.
Provide an environment name, select a data warehouse type, and fill the required fields.

### Allowlist Elementary IP

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
title: "Create data warehouse user"
---

**Elementary cloud doesn't need permissions to your sensitive data.**

It is recommended to create a read only user for the elementary schema only, and provide it to Elementary Cloud in the profile.

This guild will walk you through the process of creating such a user.

# Snowflake, Redshift, Postgres

Run the following `dbt` command:

```bash
dbt run-operation create_elementary_user
```

This command will generate a query to create a user with the necessary permissions. Run this query on your data warehouse to proceed.

By default, the users name, password and role name (Snowflake) will be generated automatically, if you wish to overwrite them, you may use the following args:

```bash
dbt run-operation create_elementary_user --args '{"name": "custom_elementary_user_name", "password": "MySuperDuperStrongPassword123", "role": "custom_elementary_role"}'
```

# BigQuery

As BigQuery doesn't support creating users through SQL, you will need to create a service account manually. Follow these steps:

- Create the service account ([docs](https://cloud.google.com/iam/docs/service-account-overview)).
- Grant it the `roles/bigquery.jobUser` role on the project ([docs](https://cloud.google.com/bigquery/docs/access-control#bigquery_iam_roles)).
- Grant is the `roles/bigquery.dataViewer` role on your elementary dataset (usually `<dbt_dataset>_elementary`).
- Grant it the `roles/bigquery.metadataViewer` role on your dbt dataset.

# Databricks

As with BigQuery, Databricks doesn't support creating users through SQL, you will need to create a service principal manually, you may want to consult the [documentation](https://docs.databricks.com/administration-guide/users-groups/users.html).

Create a service principal with the following permissions:

- read on all the tables in your `elementary` schema (usually `<dbt_schema>_elementary`)
133 changes: 0 additions & 133 deletions docs/cloud/onboarding/create-profile.mdx

This file was deleted.

2 changes: 1 addition & 1 deletion docs/cloud/onboarding/quickstart-dbt-package.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,6 @@ If you see data in these models you completed the package deployment (Congrats!

### What's next?

1. [Create a connection profile](/cloud/onboarding/create-profile).
1. [Configure a user for elementary](/cloud/onboarding/configure-user).
2. [Singup to Elementary cloud](/cloud/sonboarding/signup).
3. [Connect your Elementary schema to Elementary cloud](/cloud/onboarding/connect-data-warehouse).
8 changes: 6 additions & 2 deletions docs/mint.json
Original file line number Diff line number Diff line change
Expand Up @@ -218,13 +218,17 @@
},
{
"group": "Elementary Cloud",
"pages": ["cloud/introduction", "cloud/general/security-and-privacy"]
"pages": [
"cloud/introduction",
"cloud/general/security-and-privacy",
"cloud/onboarding/create-data-warehouse-user/create-data-warehouse-user"
]
},
{
"group": "Getting Started",
"pages": [
"cloud/onboarding/quickstart-dbt-package",
"cloud/onboarding/create-profile",
"cloud/onboarding/configure-user",
"cloud/onboarding/signup",
"cloud/onboarding/connect-data-warehouse",
"cloud/manage-team"
Expand Down