-
We configured SCIM and SSO for our SF account. So users are created automatically by a call from Azure AD (when a user is added to AD group). create or replace security integration aad_provisioning
type = scim
scim_client = 'azure'
run_as_role = 'AAD_PROVISIONER'; We also create service users (for CI) which are not in AD Group using SnowDDL. The problem is that we can't manage users (i.e. can't grant business roles) created by I see the following possible options:
Could you please advice on what option to use? Could you suggest any other solution? |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 7 replies
-
As far as I know, SCIM integration in Snowflake has significant limitations. Especially around flexibility of queries used to CREATE and ALTER users. Setting custom user parameters might be very difficult, probably not possible. With this in mind, we normally suggest the following options in order of priority: 1) Use programmatic config instead of SCIM With this approach you get 100% flexibility and control over all aspects of user management. You may also create additional objects on "per-user" basis, like personal warehouses or schemas. 2) Let SnowDDL create business roles, but let SCIM integration to manage users SnowDDL ignores users which are owned by anything except SnowDDL admin role. Direct business role grants will not be revoked. |
Beta Was this translation helpful? Give feedback.
-
If you have an exceptionally busy environment with users being created or dropped all the time, you may also extend the first approach. Build It is essentially what Snowflake does, but there are two important benefits:
As far as I know, standard SCIM integration cannot do any of these. If somebody dropped a user accidentally, Snowflake SCIM cannot do full sync to recover it. |
Beta Was this translation helpful? Give feedback.
-
We found compromise solution:
|
Beta Was this translation helpful? Give feedback.
As far as I know, SCIM integration in Snowflake has significant limitations. Especially around flexibility of queries used to CREATE and ALTER users. Setting custom user parameters might be very difficult, probably not possible.
With this in mind, we normally suggest the following options in order of priority:
1) Use programmatic config instead of SCIM
Build a tiny python script running SnowDDL. In this script load user data via API and build
UserBlueprint
(s) for SnowDDL. When user is added / updated / deleted, trigger this script. Make sure only one instance of script runs in parallel.With this approach you get 100% flexibility and control over all aspects of user management. You may al…