Référence d’API du compte SCIM¶
Vous pouvez utiliser l’API de groupe SCIM pour accéder, créer et modifier des rôles.
Snowflake prend en charge l’utilisation de SCIM pour importer des rôles d’Okta, d’Azure AD et d’applications personnalisées. Les rôles de ces fournisseurs d’identité sont mappés un à un avec les rôles de Snowflake.
Les rôles, parfois appelés groupes, sont un ensemble de privilèges d’accès. Pour accéder aux objets sécurisés dans Snowflake, des privilèges doivent être attribués aux rôles, et les rôles sont attribués à d’autres rôles ou utilisateurs.
Les autorisations d’accès et les droits accordés au rôle sont automatiquement hérités par chaque membre (comme un utilisateur) du rôle. Pour plus d’informations, voir Aperçu du contrôle d’accès.
Les conditions d’accès d’un utilisateur à Snowflake peuvent changer. Par exemple, un utilisateur peut passer du statut de contributeur individuel à celui de responsable dans son organisation, ce qui peut nécessiter une modification de son rôle dans Snowflake ou un accès à des ensembles de données réservés aux responsables.
Lorsque le rôle de l’utilisateur change dans le fournisseur d’identité, son accès à Snowflake change automatiquement lorsque son rôle d’organisation est mappé au rôle Snowflake correspondant.
En-têtes HTTP¶
L’API SCIM Snowflake utilise des jetons porteurs pour l’authentification HTTP.
Chaque requête HTTP à l’API SCIM Snowflake autorise les en-têtes HTTP suivants :
En-tête |
Valeur |
---|---|
|
|
|
|
|
|
|
|
Attributs de groupe¶
Vous pouvez spécifier des attributs de groupe (c’est-à-dire un rôle) dans le corps des requêtes d’API sous forme de paires clé-valeur au format JSON. Ces paires contiennent des informations sur le groupe, telles que son nom d’affichage. Les fournisseurs d’identité peuvent spécifier leurs propres noms de clés pour chaque attribut.
Snowflake prend en charge les attributs SCIM suivants pour la gestion du cycle de vie des rôles. Les attributs sont accessibles en écriture, sauf indication contraire.
Attribut de groupe SCIM |
Attribut de groupe Snowflake |
Type |
Description |
---|---|---|---|
|
|
Chaîne |
Identificateur unique et immuable (GUID) du rôle dans Snowflake. Snowflake ne renvoie pas cette valeur. Vous pouvez trouver cette valeur en appelant la fonction de table de l’Information Schema REST_EVENT_HISTORY. Vérifiez les journaux IdP pour vous assurer que les valeurs correspondent. |
|
|
Chaîne |
Texte affiché dans l’interface utilisateur lorsqu’il est fait référence au groupe. |
|
N/A |
Chaîne |
L” |
|
N/A |
Chaîne |
Tableau de chaînes pour indiquer les URIs d’espaces de noms. Par exemple, |
Obtenir des détails sur un groupe par displayName¶
- Méthode et point de terminaison:
GET /scim/v2/Groups?filter=displayName eq "{{group_name}}"
- Description:
Renvoie des informations sur un groupe associé au paramètre de requête
displayName
.Renvoie le code de statut de la réponse HTTP
200
si la requête HTTP a abouti.
Obtenir des détails sur un groupe par groupId¶
- Méthode et point de terminaison:
GET /scim/v2/Groups/{{group_id}}
- Description:
Renvoie des informations sur un groupe associé au paramètre de chemin
group_id
.Renvoie le code de statut de la réponse HTTP
200
si la requête HTTP a abouti.
Créer un groupe¶
- Méthode et point de terminaison:
POST /scim/v2/Groups
- Description:
Créer un nouveau groupe dans Snowflake.
Renvoie le code de statut de la réponse HTTP
201
si la requête HTTP a abouti.- Exemples:
Créez un groupe avec le
displayName
scim_test_group2
:{ "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"], "displayName":"scim_test_group2" }
Mettre à jour un groupe¶
- Méthode et point de terminaison:
PATCH /scim/v2/Groups/{{group_id}}
- Description:
Met à jour l’attribut de nom d’affichage ou l’appartenance au groupe associé au paramètre de chemin
group_id
.Vous devez attribuer à
op
la valeuradd
oureplace
pour exécuter cette requête HTTP.Renvoie le code de statut de la réponse HTTP
200
si la requête HTTP a été exécutée avec succès.En cas d’échec, renvoie le code de réponse HTTP
204
.- Exemples:
Mettez à jour un groupe
displayName
, supprimez un membre et ajoutez un membre :{ "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"], "Operations": [{ "op": "replace", "value": { "displayName": "updated_name" } }, { "op" : "remove", "path": "members[value eq \"user_id_1\"]" }, { "op": "add", "value": [{ "value": "user_id_2" }] }] }
Supprimer un groupe¶
- Méthode et point de terminaison:
DELETE /scim/v2/Groups/{{group_id}}
- Description:
Supprime le groupe associé au paramètre
group_id
chemin.