Creating and Managing Principals in Snowflake Connector¶
This section describes how to create and manage principals in Snowflake.
The Snowflake Connector allows you to create and manage principals in Snowflake. Principals are users, groups and roles in the Snowflake that can be granted permissions to access resources in the Snowflake. This feature is optional and can be configured to manage only users, only groups, only roles or all three types of principals in the Snowflake.
Setup¶
The default setting for creating and managing principals in Snowflake is true
. However, it is recommended to explicitly set this value to either true
or false
in the connector configuration file. Doing so ensures that the connector behavior remains consistent even if the default value changes in future releases. These configuration properties determine whether the Privacera Snowflake connector is allowed to create users and groups in Snowflake.
- Set the value to
true
to allow the connector to create the corresponding principal if it does not already exist.
By default, principal names are converted to lowercase when they are created. However, the connector provides configuration options to control case sensitivity and normalization.
Persist Case Sensitivity:
- When case sensitivity is retained (
true
): The principal names (users, groups, roles) are stored and managed exactly as provided, preserving uppercase and lowercase letters. - When case sensitivity is not retained (
false
, default behavior): Principal names are automatically converted to lowercase in the Snowflake.
Case Conversion Options:
- lower (default): Principal names (users, groups, roles) are converted to lowercase.
- upper: Principal names are converted to uppercase.
- none: Principal names are preserved as-is, without any case conversion.
Case conversion properties apply only when case sensitivity is not persisted:
-
Self Managed (Portal Configuration) deployments:
- Disable the following in Access Management → ADVANCED tab of the Snowflake application:
- Persist case sensitivity of user names
- Persist case sensitivity of group names
- Persist case sensitivity of role names
- Disable the following in Access Management → ADVANCED tab of the Snowflake application:
-
Self Managed (YAML Configuration) deployments:
CONNECTOR_SNOWFLAKE_USER_NAME_PERSIST_CASE_SENSITIVITY
CONNECTOR_SNOWFLAKE_GROUP_NAME_PERSIST_CASE_SENSITIVITY
CONNECTOR_SNOWFLAKE_ROLE_NAME_PERSIST_CASE_SENSITIVITY
-
PrivaceraCloud deployments:
- Disable the following in Access Management → ADVANCED tab of the Snowflake application:
- Persist case sensitivity of user names
- Persist case sensitivity of group names
- Persist case sensitivity of role names
- Disable the following in Access Management → ADVANCED tab of the Snowflake application:
Warning
- Replace the example values with your actual values.
-
Navigate to Settings → Applications in the Self-Managed Portal.
-
From the list of Connected Applications, select Snowflake.
-
Click on the application name or the icon to edit. Then, go to the Access Management tab and select the ADVANCED tab.
-
Enable to use email id as login name while creating new user in Snowflake:
- Enable use of email as login for snowflake
-
To allow PolicySync to automatically create local Snowflake users and corresponding user roles for each user created in the portal, enable the following options:
- Create users in snowflake by policysync
- Create user roles in snowflake by policysync
-
To customize the role name prefix, provide values using the following fields.
- Prefix of snowflake roles for portal users:
priv_user_dev
- Prefix of snowflake roles for portal groups:
priv_group_dev
- Prefix of snowflake roles for portal roles:
priv_role_dev
- Prefix of snowflake roles for portal users:
-
To retain the case of the principal names, enable the following options:
- Persist case sensitivity of user names
- Persist case sensitivity of group names
- Persist case sensitivity of role names
-
To use the case conversion, add the following properties under Add New Custom Properties section:
-
Click SAVE to apply the changes.
-
SSH to the instance where Privacera Manager is installed.
-
Run the following command to open the
.yml
file to be edited.If you have multiple connectors, then replace
instance1
with the appropriate connector instance name.Bash -
To allow PolicySync to use email as login name while creating new user in Snowflake, set the following property:
YAML -
Set the following properties to allow PolicySync to create a Snowflake user and a corresponding user role for each user fetched from the portal:
-
To customize the role name prefix, set the following properties:
-
To retain the case of the principal names, set the following properties:
-
To use the case conversion, set the following properties:
-
Once the properties are configured, run the following commands to update your Privacera Manager platform instance:
Step 1 - Setup which generates the helm charts. This step usually takes few minutes.
Step 2 - Apply the Privacera Manager helm charts. Step 3 - Post-installation step which generates Plugin tar ball, updates Route 53 DNS and so on.
-
In PrivaceraCloud portal, navigate to Settings -> Applications.
-
On the Connected Applications screen, select Snowflake.
-
Click on the icon or the Account Name to modify the settings.
-
On the Edit Application screen, go to Access Management -> ADVANCED tab
-
Enable to use email id as login name while creating new user in Snowflake:
- Enable use of email as login for snowflake
-
To allow PolicySync to automatically create local Snowflake users and corresponding user roles for each user created in the portal, enable the following options:
- Create users in snowflake by policysync
- Create user roles in snowflake by policysync
-
To customize the role name prefix, enter values using the following fields.
- Prefix of snowflake roles for portal users:
priv_user_dev
- Prefix of snowflake roles for portal groups:
priv_group_dev
- Prefix of snowflake roles for portal roles:
priv_role_dev
- Prefix of snowflake roles for portal users:
-
To retain the case of the principal names, enable the following options:
- Persist case sensitivity of user names
- Persist case sensitivity of group names
- Persist case sensitivity of role names
-
To use the case conversion, add the following properties under Add New Custom Properties section:
-
Click SAVE to apply the changes.
- Prev topic: Advanced Configuration