SCIM-Benutzer-API-Referenz¶
Sie können die SCIM-Benutzer-API verwenden, um auf Benutzerdaten zuzugreifen und Benutzerdaten zu erstellen und zu ändern.
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 |
|---|---|
|
|
|
|
|
|
|
|
Benutzerattribute¶
Sie können Benutzerattribute im Textkörper (Body) von API-Anforderungen als Schlüssel-Wert-Paare im JSON-Format angeben. Diese Paare enthalten Informationen zu dem Benutzer, wie Anzeigename oder E-Mail-Adresse des Benutzers. Identitätsanbieter können ihre eigenen Schlüsselnamen für jedes Attribut angeben. So können Identitätsanbieter beispielsweise den Schlüssel lastName anstelle von familyName verwenden, um den Nachnamen des Benutzers zu repräsentieren. Snowflake unterstützt keine mehrwertigen Benutzerattribute.
Wichtig
In der nachstehenden Tabelle beziehen sich die Attribute userName und loginName beide auf das Attribut userName. Snowflake unterstützt die Angabe unterschiedlicher Werte für die Attribute userName und loginName.
Snowflake unterstützt die folgenden Attribute für die Verwaltung des Benutzerlebenszyklus.
SCIM-Benutzerattribut |
Snowflake-Benutzerattribut |
Typ |
Beschreibung |
|---|---|---|---|
|
|
string |
Der unveränderliche, eindeutige Bezeichner (GUID) des Benutzers in Snowflake. Snowflake zeigt diesen Wert weder in der Ausgabe von DESCRIBE USER noch in der Ausgabe von SHOW USERS an. Für Anforderungen an Endpunkte, die dieses Attribut erfordern, wie |
|
|
string |
Der Bezeichner für die Anmeldung bei Snowflake. Weitere Informationen zu diesen Attributen finden Sie unter CREATE USER. |
|
|
string |
Der Vorname des Benutzers. |
|
|
string |
Der Nachname des Benutzers. |
|
|
string |
Die E-Mail-Adresse des Benutzers. |
|
|
string |
Der Text, der auf der Benutzeroberfläche angezeigt wird, wenn er sich auf den Benutzer bezieht. |
|
N/A |
string |
Der vom Bereitstellungsclient (z. B. Azure, Okta) festgelegte eindeutige Bezeichner. |
|
|
string |
Das Kennwort für den Benutzer. Dieser Wert wird in der JSON-Antwort nicht zurückgegeben. Wenn die Eigenschaft |
|
|
boolean |
Deaktiviert den Benutzer, wenn |
|
N/A |
string |
Eine Liste von Gruppen, zu denen der Benutzer gehört. Der Die Gruppen des Benutzers sind unveränderlich. Ihre Mitgliedschaft muss mithilfe de SCIM-Gruppen-API aktualisiert werden. |
|
|
string |
Der Zeitpunkt, zu der der Benutzer zu Snowflake hinzugefügt wurde. |
|
|
string |
Der Zeitpunkt, zu dem der Benutzer zuletzt in Snowflake geändert wurde. |
|
N/A |
string |
Der Typ der Ressource für den Benutzer. Sie sollten |
|
N/A |
string |
Ein kommatgetrenntes Array von Zeichenfolgen, das die Namespace URIs angibt. Snowflake unterstützt die folgenden Werte:
|
Kundenspezifische Attribute¶
Sie können benutzerdefinierte Attribute festlegen, die nicht durch RFC 7643 definiert sind, wie z. B. defaultRole.
Sie können die folgenden Namespaces verwenden, um benutzerdefinierte Attribute für POST-, PUT- und PATCH-Anforderungen festzulegen:
urn:ietf:params:scim:schemas:extension:enterprise:2.0:UserDieser Namespace war Teil der ursprünglichen SCIM-Implementierung in Snowflake. Sie können diesen Namespace nur für das Festlegen benutzerdefinierter Attribute in Okta-SCIM-Sicherheitsintegrationen verwenden.
Sie können diesen Namespace nicht verwenden, um benutzerdefinierte Attribute in Microsoft Azure-SCIM-Sicherheitsintegrationen oder benutzerdefinierten SCIM-Integrationen festzulegen.
urn:ietf:params:scim:schemas:extension:2.0:UserSie können diesen Namespace verwenden, um benutzerdefinierte Attribute für alle SCIM-Integrationen festzulegen. Sie müssen diesen Namespace verwenden, um benutzerdefinierte Attribute in Microsoft Azure-SCIM-Sicherheitsintegrationen oder benutzerdefinierten SCIM-Sicherheitsintegrationen festzulegen.
Snowflake unterstützt die folgenden benutzerdefinierten Attribute:
SCIM Benutzerdefiniertes Attribut |
Snowflake-Benutzerattribut |
Typ |
Beschreibung |
|---|---|---|---|
|
|
string |
Virtuelles Warehouse, das bei der Anmeldung standardmäßig für die Sitzung des Benutzers aktiv ist. |
|
|
string |
Die Primärrolle, die bei der Anmeldung standardmäßig für die Sitzung des Benutzers aktiv ist. |
|
|
string |
Die Liste der Sekundärrollen, die bei der Anmeldung für die Sitzung des Benutzers aktiv sind. Sie können dieses Attribut auf |
|
|
string |
Der Typ des Benutzers. Standard: |
Überprüfen, ob ein Benutzer existiert¶
- Methode und Endpunkt:
GET /scim/v2/Users?filter=userName eq "{{user_name}}"- Beschreibung:
Gibt Details zu einem Benutzer zurück, der mit dem Abfrageparameter
userNameverbunden ist.Gibt den HTTP-Antwort-Statuscode
200zurück, wenn die HTTP-Anforderung erfolgreich abgeschlossen wurde.
Details zu einem Benutzer abrufen¶
- Methode und Endpunkt:
GET /scim/v2/Users/{{user_id}}- Beschreibung:
Gibt Details zu einem Benutzer zurück, der mit dem Pfadparameter
user_idverbunden ist.Gibt den HTTP-Antwort-Statuscode
200zurück, wenn die HTTP-Anforderung erfolgreich abgeschlossen wurde.
Benutzer erstellen¶
- Methode und Endpunkt:
POST /scim/v2/Users- Beschreibung:
Erstellt einen Benutzer in Snowflake.
Gibt den HTTP-Antwort-Statuscode
201zurück, wenn die HTTP-Anforderung erfolgreich abgeschlossen wurde.Wenn der Benutzer bereits existiert oder die HTTP-Anfrage aus einem anderen Grund fehlgeschlagen ist, gibt Snowflake den HTTP-Antwortstatuscode
409zurück.- Beispiele:
Erstellen eines Benutzers mit
userNameundloginName, die demselben Wert zugeordnet sind:{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User", "urn:ietf:params:scim:schemas:extension:2.0:User" ], "userName": "test_user_1", "password": "test", "name": { "givenName": "test", "familyName": "user" }, "emails": [ {"value": "test.user@snowflake.com"} ], "displayName": "test user", "active": true }
Erstellen eines Benutzers mit
userNameundloginName, die unterschiedlichen Werten zugeordnet sind:Bemerkung
Wenn Sie Okta als Identitätsanbieter verwenden, folgen Sie diesem Verfahren.
{ "active": true, "displayName": "test user", "emails": [ {"value": "test.user@snowflake.com"} ], "name": { "familyName": "test_last_name", "givenName": "test_first_name" }, "password": "test_password", "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User" ], "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": { "snowflakeUserName": "USER5" }, "userName": "USER5" }
Benutzerattribute ersetzen¶
- Methode und Endpunkt:
PATCH /scim/v2/Users/{{id}}- Beschreibung:
Ersetzt die Attribute des Benutzers, der mit dem Pfadparameter
idverbunden ist.Sie müssen
opaufreplacesetzen, um diese HTTP-Anforderung ausführen zu können.activekann folgende Werte haben:false: Deaktiviert den Benutzer.true: Aktiviert den Benutzer.
Gibt den HTTP-Antwort-Statuscode
200zurück, wenn die HTTP-Anforderung erfolgreich abgeschlossen wurde.Wenn die Ausführung nicht erfolgreich war, wird der HTTP-Antwortcode
204zurückgegeben.- Beispiele:
Deaktivieren eines Benutzers und aktualisieren seines
givenName-Wertes aufdeactivated_user:{ "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"], "Operations": [ {"op": "replace", "value": { "active": false }} {"op": "replace", "value": { "givenName": "deactivated_user" }} ], }
Aktualisieren eines Benutzers mit
userNameundloginName, die demselben Wert zugeordnet sind:{ "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"], "Operations": [ {"op": "replace", "value": { "active": false }} ] }
Aktualisieren eines Benutzers mit
userNameundloginName, die verschiedenen Werten zugeordnet sind.Wenn Okta Ihr Identitätsanbieter ist, führen Sie diese Schritte aus.
{ "Operations": [ { "op": "replace", "path": "userName", "value": "test_updated_name" }, { "op": "replace", "path": "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.snowflakeUserName", "value": "USER5" } ], "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"] }
Benutzer aktualisieren¶
- Methode und Endpunkt:
PUT /scim/v2/Users/{{id}}- Beschreibung:
Aktualisiert die Attribute des Benutzers, der mit dem Pfadparameter
idverbunden ist.Wenn die Ausführung nicht erfolgreich war, wird der HTTP-Antwortcode
400zurückgegeben. Die HTTP-Anforderung ist erfolglos, wenn die Anforderung versucht, unveränderliche Attribute zu ändern oder wenn die zu ändernden Attribute in Snowflake nicht vorhanden sind.- Beispiele:
Aktualisieren eines Benutzers und seiner Attribute
"defaultRole","defaultSecondaryRoles"und"defaultWarehouse":Um die Attribute
"defaultRole","defaultSecondaryRoles"und"defaultWarehouse"anzugeben, müssen Sie eines derextension-Schemas verwenden. Das AttributdefaultSecondaryRolesakzeptiert nur"ALL"als Wert.Bemerkung
Die PUT-Methode ist kostenintensiver als die PATCH-Methode. Verwenden Sie stattdessen die Operation PATCH.
{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User" ], "userName": "test_user_1", "password": "test", "name": { "givenName": "test", "familyName": "user" }, "emails": [{ "primary": true, "value": "test.user@snowflake.com", "type": "work" } ], "displayName": "test user", "active": true, "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": { "defaultRole" : "test_role", "defaultSecondaryRoles" : "ALL", "defaultWarehouse" : "test_warehouse" } }
Benutzer löschen¶
- Methode und Endpunkt:
DELETE /scim/v2/Users/{{id}}- Beschreibung:
Löscht den Benutzer, der mit dem Pfadparameter
idverbunden ist.