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:User
Dieser 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:User
Sie 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
userName
verbunden ist.Gibt den HTTP-Antwort-Statuscode
200
zurü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_id
verbunden ist.Gibt den HTTP-Antwort-Statuscode
200
zurü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
201
zurü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
409
zurück.- Beispiele:
Erstellen eines Benutzers mit
userName
undloginName
, 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
userName
undloginName
, 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
id
verbunden ist.Sie müssen
op
aufreplace
setzen, um diese HTTP-Anforderung ausführen zu können.active
kann folgende Werte haben:false
: Deaktiviert den Benutzer.true
: Aktiviert den Benutzer.
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:
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
userName
undloginName
, 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
userName
undloginName
, 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
id
verbunden ist.Wenn die Ausführung nicht erfolgreich war, wird der HTTP-Antwortcode
400
zurü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 AttributdefaultSecondaryRoles
akzeptiert 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
id
verbunden ist.