CREATE SECRET¶
Erstellt ein neues Geheimnis im aktuellen/angegebenen Schema oder ersetzt ein bestehendes Geheimnis.
- Siehe auch:
Syntax¶
OAuth mit Client-Anmeldeinformationsablauf:
CREATE [ OR REPLACE ] SECRET [ IF NOT EXISTS ] <name> TYPE = OAUTH2 API_AUTHENTICATION = <security_integration_name> OAUTH_SCOPES = ( '<scope_1>' [ , '<scope_2>' ... ] ) [ COMMENT = '<string_literal>' ]
OAuth mit Autorisierungscode-Gewährungsablauf:
CREATE [ OR REPLACE ] SECRET [ IF NOT EXISTS ] <name> TYPE = OAUTH2 OAUTH_REFRESH_TOKEN = '<string_literal>' OAUTH_REFRESH_TOKEN_EXPIRY_TIME = '<string_literal>' API_AUTHENTICATION = <security_integration_name>; [ COMMENT = '<string_literal>' ]
Basisauthentifizierung:
CREATE [ OR REPLACE ] SECRET [ IF NOT EXISTS ] <name> TYPE = PASSWORD USERNAME = '<username>' PASSWORD = '<password>' [ COMMENT = '<string_literal>' ]
Generische Zeichenfolge:
CREATE [ OR REPLACE ] SECRET [ IF NOT EXISTS ] <name> TYPE = GENERIC_STRING SECRET_STRING = '<string_literal>' [ COMMENT = '<string_literal>' ]
Erforderliche Parameter für OAuth mit Client-Anmeldeinformationsablauf¶
name
Zeichenfolge, die den Bezeichner (d. h. den Namen) für das Geheimnis angibt. Muss in Ihrem Schema eindeutig sein.
Darüber hinaus muss der Bezeichner mit einem Buchstaben beginnen und darf keine Leer- oder Sonderzeichen enthalten, es sei denn, die gesamte Bezeichnerzeichenfolge wird in doppelte Anführungszeichen gesetzt (z. B.
"My object"
). Bei Bezeichnern, die in doppelte Anführungszeichen eingeschlossen sind, ist auch die Groß-/Kleinschreibung zu beachten.Weitere Details dazu finden Sie unter Anforderungen an Bezeichner.
TYPE = OAUTH2
Gibt ein Geheimnis an, das mit einem OAuth-Gewährungsablauf verwendet werden soll.
API_AUTHENTICATION = security_integration_name
Gibt den
name
-Wert der Snowflake-Sicherheitsintegration an, die Snowflake mit einem externen Dienst verbindet.OAUTH_SCOPES = ( 'scope_1' [ , 'scope_2' ... ] )
Gibt eine durch Kommas getrennte Liste von Geltungsbereichen an, die verwendet werden sollen, wenn während des OAuth-Client-Anmeldeinformationsablaufs vom OAuth-Server aus eine Anforderung durch eine Rolle mit USAGE-Berechtigung für die Integration gestellt wird.
Diese Liste muss eine Teilmenge der Geltungsbereiche sein, die in der
OAUTH_ALLOWED_SCOPES
-Eigenschaft der Sicherheitsintegration definiert sind. Wenn dieOAUTH_SCOPES
-Eigenschaftswerte nicht angegeben sind, erbt das Geheimnis alle Geltungsbereiche, die in der Sicherheitsintegration angegeben sind.Für den ServiceNow-Konnektor ist
'useraccount'
der einzig mögliche Geltungsbereichswert.
Erforderliche Parameter für Basisauthentifizierung¶
name
Zeichenfolge, die den Bezeichner (d. h. den Namen) für das Geheimnis angibt. Muss in Ihrem Schema eindeutig sein.
Darüber hinaus muss der Bezeichner mit einem Buchstaben beginnen und darf keine Leer- oder Sonderzeichen enthalten, es sei denn, die gesamte Bezeichnerzeichenfolge wird in doppelte Anführungszeichen gesetzt (z. B.
"My object"
). Bei Bezeichnern, die in doppelte Anführungszeichen eingeschlossen sind, ist auch die Groß-/Kleinschreibung zu beachten.Weitere Details dazu finden Sie unter Anforderungen an Bezeichner.
TYPE = PASSWORD
Gibt ein Geheimnis an, das mit der Basisauthentifizierung verwendet werden soll.
Wenn Sie diesen Typ angeben, müssen Sie Werte für die Benutzernamen- und Kennworteigenschaften angeben.
USERNAME = 'username'
Gibt den Benutzernamenwert an, der im Geheimnis gespeichert werden soll.
Geben Sie diesen Wert an, wenn Sie den Wert
TYPE
aufPASSWORD
setzen, um ihn mit der Basisauthentifizierung zu verwenden.PASSWORD = 'password'
Gibt den Kennwortwert an, der im Geheimnis gespeichert werden soll.
Geben Sie diesen Wert an, wenn Sie den Wert
TYPE
aufPASSWORD
setzen, um ihn mit der Basisauthentifizierung zu verwenden.
Allgemeine Zeichenfolgenparameter¶
name
Zeichenfolge, die den Bezeichner (d. h. den Namen) für das Geheimnis angibt. Muss in Ihrem Schema eindeutig sein.
Darüber hinaus muss der Bezeichner mit einem Buchstaben beginnen und darf keine Leer- oder Sonderzeichen enthalten, es sei denn, die gesamte Bezeichnerzeichenfolge wird in doppelte Anführungszeichen gesetzt (z. B.
"My object"
). Bei Bezeichnern, die in doppelte Anführungszeichen eingeschlossen sind, ist auch die Groß-/Kleinschreibung zu beachten.Weitere Details dazu finden Sie unter Anforderungen an Bezeichner.
TYPE = GENERIC_STRING
Gibt ein Geheimnis an, um einen sensiblen Zeichenfolgenwert zu speichern.
SECRET_STRING = 'string_literal'
Gibt die Zeichenfolge an, die im Geheimnis gespeichert werden soll.
Die Zeichenfolge kann ein API-Token oder eine Zeichenfolge mit einem sensiblen Wert sein, der im Handler-Code einer UDF oder einer gespeicherten Prozedur verwendet werden kann. Weitere Details dazu finden Sie unter Erstellen und Verwenden einer Integration für den externen Zugriff.
Sie sollten diese Eigenschaft nicht verwenden, um irgendeine Art von OAuth-Token zu speichern. Verwenden Sie einen der anderen Geheimnistypen für Ihre OAuth-Anwendungsfälle.
Optionale Parameter¶
COMMENT = 'string_literal'
Zeichenfolge (Literal), die einen Kommentar zum Geheimnis enthält.
Standard: Kein Wert
Anforderungen an die Zugriffssteuerung¶
Eine Rolle, die zur Ausführung dieses SQL-Befehls verwendet wird, muss mindestens die folgenden Berechtigungen haben:
Berechtigung |
Objekt |
Anmerkungen |
---|---|---|
CREATE SECRET |
Schema |
Beachten Sie, dass für die Bearbeitung eines Objekts in einem Schema auch die Berechtigung USAGE für die übergeordnete Datenbank und das Schema erforderlich ist.
Eine Anleitung zum Erstellen einer kundenspezifischen Rolle mit einer bestimmten Gruppe von Berechtigungen finden Sie unter Erstellen von kundenspezifischen Rollen.
Allgemeine Informationen zu Rollen und Berechtigungen zur Durchführung von SQL-Aktionen auf sicherungsfähigen Objekten finden Sie unter Übersicht zur Zugriffssteuerung.
Nutzungshinweise¶
Metadaten:
Achtung
Kunden müssen sicherstellen, dass bei der Nutzung des Snowflake-Dienstes keine personenbezogenen Daten (außer für ein Objekt „Benutzer“), sensible Daten, exportkontrollierte Daten oder andere regulierte Daten als Metadaten eingegeben werden. Weitere Informationen dazu finden Sie unter Metadatenfelder in Snowflake.
Beispiele¶
Erstellen Sie ein Geheimnis zur Verwendung mit dem OAuth-Client-Anmeldeinformationsablauf:
CREATE OR REPLACE SECRET mysecret TYPE = OAUTH2 API_AUTHENTICATION = mysecurityintegration OAUTH_SCOPES = ('useraccount') COMMENT = 'secret for the service now connector'
Erstellen Sie ein Geheimnis zur Verwendung mit dem OAuth-Autorisierungscode-Gewährungsablauf:
CREATE SECRET service_now_creds_oauth_code TYPE = OAUTH2 OAUTH_REFRESH_TOKEN = '34n;vods4nQsdg09wee4qnfvadH' OAUTH_REFRESH_TOKEN_EXPIRY_TIME = '2022-01-06 20:00:00' API_AUTHENTICATION = sn_oauth;
Erstellen Sie ein Geheimnis, das Benutzername und Kennwort für den Zugriff auf ServiceNow angibt:
CREATE SECRET service_now_creds_pw TYPE = password USERNAME = 'jsmith1' PASSWORD = 'W3dr@fg*7B1c4j';