SCIM-Gruppen-API-Referenz

Sie können die SCIM-Gruppen-API verwenden, um auf Rollen zuzugreifen und Rollen zu erstellen und zu ändern.

Snowflake verwendet SCIM zum Importieren von Rollen aus Okta, Azure AD und kundenspezifischen Anwendungen. Die Rollen dieser Identitätsanbieter lassen sich eins zu eins den Snowflake-Rollen zuordnen.

Rollen, manchmal auch als Gruppen bezeichnet, stellen eine Sammlung von Zugriffsrechten dar. Um auf sicherheitsrelevante Objekte in Snowflake zugreifen zu können, müssen Berechtigungen an Rollen vergeben werden, und Rollen werden dann anderen Rollen oder Benutzern zugewiesen.

Zugriffsberechtigungen und Rechte, die der Rolle zugewiesen werden, werden automatisch von jedem Mitglied, z. B einem Benutzer, der Rolle übernommen. Weitere Informationen dazu finden Sie unter Übersicht zur Zugriffssteuerung.

Die Zugriffsanforderungen eines Benutzers auf Snowflake können sich ändern. Ein Benutzer kann beispielsweise in seiner Organisation von einem einzelnen Mitarbeiter zu einem Manager werden, was eine Änderung seiner Rolle in Snowflake erfordert, oder er benötigt Zugriff auf Datensets, auf die nur Manager zugreifen dürfen.

Wenn sich die Rolle des Benutzers im Identitätsanbieter ändert, ändert sich sein Zugriff auf Snowflake automatisch, wenn seine Organisationsrolle der entsprechenden Snowflake-Rolle zugeordnet wird.

HTTP-Header

Die Snowflake SCIM API verwendet Bearer-Token für die HTTP-Authentifizierung.

Jede HTTP-Anfrage an Snowflake SCIM API erlaubt die folgenden HTTP-Header:

Header

Wert

Authorization (erforderlich)

Bearer <Zugriffstoken>

Content-Type

application/scim+json

Accept-Encoding

utf-8

Accept-Charset

utf-8

Gruppenattribute

Sie können Gruppenattribute (d. h. eine Rolle) im Textkörper (Body) von API-Anforderungen als Schlüssel-Wert-Paare im JSON-Format angeben. Diese Paare enthalten Informationen zu der Gruppe, wie z. B. den Anzeigenamen der Gruppe. Identitätsanbieter können ihre eigenen Schlüsselnamen für jedes Attribut angeben.

Snowflake unterstützt die folgenden SCIM-Attribute für die Verwaltung des Rollenlebenszyklus. Attribute sind beschreibbar, sofern nicht anders angegeben.

SCIM-Gruppenattribut

Snowflake-Gruppenattribut

Typ

Beschreibung

id

id

String

Der unveränderliche, eindeutige Bezeichner (GUID) der Rolle in Snowflake.

Snowflake gibt diesen Wert nicht zurück.

Sie können diesen Wert ermitteln, indem Sie die Information Schema-Tabellenfunktion REST_EVENT_HISTORY aufrufen. Überprüfen Sie die IdP-Protokolle, um sicherzustellen, dass die Werte übereinstimmen.

displayName

name

String

Der Text, der auf der Benutzeroberfläche angezeigt wird, wenn er sich auf die Gruppe bezieht.

members.value

N/A

String

Der id-Wert des Benutzers, der Mitglied der Rolle ist.

schemas

N/A

String

Ein Array von Zeichenfolgen zur Angabe der Namespace-URIs. Beispiel: urn:ietf:params:scim:schemas:core:2.0:Group.

Details zu einem Gruppe nach „displayName“ abrufen

Methode und Endpunkt:

GET /scim/v2/Groups?filter=displayName eq "{{group_name}}"

Beschreibung:

Gibt Details zu einer Gruppe zurück, die mit dem Abfrageparameter displayName verbunden ist.

Gibt den HTTP-Antwort-Statuscode 200 zurück, wenn die HTTP-Anforderung erfolgreich abgeschlossen wurde.

Details zu einer Gruppe nach „groupId“ abrufen

Methode und Endpunkt:

GET /scim/v2/Groups/{{group_id}}

Beschreibung:

Gibt Details zu einer Gruppe zurück, die mit dem Pfadparameter group_id verbunden ist.

Gibt den HTTP-Antwort-Statuscode 200 zurück, wenn die HTTP-Anforderung erfolgreich abgeschlossen wurde.

Gruppe erstellen

Methode und Endpunkt:

POST /scim/v2/Groups

Beschreibung:

Erstellt eine neue Gruppe in Snowflake.

Gibt den HTTP-Antwort-Statuscode 201 zurück, wenn die HTTP-Anforderung erfolgreich abgeschlossen wurde.

Beispiele:

Erstellen einer Gruppe mit dem displayName-Wert scim_test_group2:

{
  "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"],
  "displayName":"scim_test_group2"
}
Copy

Gruppe aktualisieren

Methode und Endpunkt:

PATCH /scim/v2/Groups/{{group_id}}

Beschreibung:

Aktualisiert das Anzeigenamenattribut oder die Gruppenzugehörigkeit der Gruppe, die mit dem Pfadparameter group_id verbunden ist.

Sie müssen op auf add oder replace setzen, um diese HTTP-Anforderung ausführen zu können.

Gibt den HTTP-Antwort-Statuscode 200 zurück, wenn die HTTP-Anforderung erfolgreich abgeschlossen wurde.

Wenn die Ausführung nicht erfolgreich war, wird der HTTP-Antwortcode 204 zurückgegeben.

Beispiele:

Aktualisieren des displayName-Werts einer Gruppe, Entfernen eines Mitglieds und Hinzufügen eines Mitglieds:

{
  "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

Gruppe löschen

Methode und Endpunkt:

DELETE /scim/v2/Groups/{{group_id}}

Beschreibung:

Löscht die Gruppe, die mit dem Pfadparameter group_id verbunden ist.