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

Authorization (obligatoire)

Bearer <jeton_accès>

Content-Type

application/scim+json

Accept-Encoding

utf-8

Accept-Charset

utf-8

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

id

id

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.

displayName

name

Chaîne

Texte affiché dans l’interface utilisateur lorsqu’il est fait référence au groupe.

members.value

N/A

Chaîne

L” id de l’utilisateur qui est membre du rôle.

schemas

N/A

Chaîne

Tableau de chaînes pour indiquer les URIs d’espaces de noms. Par exemple, urn:ietf:params:scim:schemas:core:2.0:Group.

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"
}
Copy

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 valeur add ou replace 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" }]
  }]
}
Copy

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.