1- {% macro get_profile_creation_query (parameters) %}
2- {% do return(adapter .dispatch (" get_profile_creation_query " , " elementary" )(parameters)) %}
1+ {% macro get_user_creation_query (parameters) %}
2+ {% do return(adapter .dispatch (" get_user_creation_query " , " elementary" )(parameters)) %}
33{% endmacro %}
44
55
6- {% macro snowflake__get_profile_creation_query(parameters) %}
6+ {% macro snowflake__get_user_creation_query(parameters) %}
7+ {%- set normalized_public_key = parameters[" public_key" ]
8+ .replace(' -----BEGIN PUBLIC KEY-----' , ' ' )
9+ .replace(' -----END PUBLIC KEY-----' , ' ' )
10+ .strip() - %}
11+
712-- Set credentials as variables
813SET elementary_database = ' {{ parameters["database"] }}' ;
914SET elementary_schema = ' {{ parameters["schema"] }}' ;
1015SET elementary_warehouse = ' {{ parameters["warehouse"] }}' ;
1116SET elementary_role = ' {{ parameters["role"] }}' ;
1217SET elementary_username = ' {{ parameters["user"] }}' ;
13- SET elementary_password = ' {{ parameters["password"] }}' ;
1418
1519-- Account admin role required to set up permissions below
1620USE ROLE ACCOUNTADMIN;
1721
1822-- Create elementary user and role
19- CREATE OR REPLACE USER IDENTIFIER ($elementary_username) PASSWORD = $elementary_password ;
23+ CREATE OR REPLACE USER IDENTIFIER ($elementary_username) TYPE = SERVICE RSA_PUBLIC_KEY = ' {{ normalized_public_key }} ' ;
2024CREATE OR REPLACE ROLE IDENTIFIER($elementary_role);
2125GRANT ROLE IDENTIFIER($elementary_role) TO USER IDENTIFIER($elementary_username);
2226
@@ -39,7 +43,7 @@ GRANT DATABASE ROLE SNOWFLAKE.GOVERNANCE_VIEWER TO ROLE IDENTIFIER($elementary_r
3943{% endmacro %}
4044
4145
42- {% macro redshift__get_profile_creation_query (parameters) %}
46+ {% macro redshift__get_user_creation_query (parameters) %}
4347-- Create redshift user with unrestricted access to query history (allows Elementary to see queries generated by
4448-- any user)
4549CREATE USER {{ parameters[" user" ] }} WITH PASSWORD ' {{ parameters["password"] }}' SYSLOG ACCESS UNRESTRICTED;
@@ -81,7 +85,7 @@ CALL elementary_grant_usage_on_all_schemas('{{ parameters["user"] }}');
8185{% endmacro %}
8286
8387
84- {% macro postgres__get_profile_creation_query (parameters) %}
88+ {% macro postgres__get_user_creation_query (parameters) %}
8589-- Create postgres user
8690CREATE USER {{ parameters[" user" ] }} WITH PASSWORD ' {{ parameters["password"] }}' ;
8791
@@ -92,7 +96,7 @@ ALTER DEFAULT PRIVILEGES IN SCHEMA {{ parameters["schema"] }} GRANT SELECT ON TA
9296{% endmacro %}
9397
9498
95- {% macro clickhouse__get_profile_creation_query (parameters) %}
99+ {% macro clickhouse__get_user_creation_query (parameters) %}
96100-- Create clickhouse user
97101CREATE USER {{ parameters[" user" ] }} identified by ' {{ parameters["password"] }}' ;
98102
@@ -103,6 +107,6 @@ grant create table on {{ parameters["schema"] }}.* to {{ parameters["user"] }}
103107
104108
105109{# Databricks, BigQuery, Spark #}
106- {% macro default__get_profile_creation_query (parameters) %}
110+ {% macro default__get_user_creation_query (parameters) %}
107111 {% do exceptions .raise_compiler_error (' User creation not supported through sql using ' ~ target .type ) %}
108112{% endmacro %}
0 commit comments