CREATE SECRET

Erstellt ein neues Geheimnis im aktuellen/angegebenen Schema oder ersetzt ein bestehendes Geheimnis.

Siehe auch:

ALTER SECRET, DESCRIBE SECRET, DROP SECRET, SHOW SECRETS

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>' ]
Copy

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>' ]
Copy

Basisauthentifizierung:

CREATE [ OR REPLACE ] SECRET [ IF NOT EXISTS ] <name>
    TYPE = PASSWORD
    USERNAME = '<username>'
    PASSWORD = '<password>'
    [ COMMENT = '<string_literal>' ]
Copy

Generische Zeichenfolge:

CREATE [ OR REPLACE ] SECRET [ IF NOT EXISTS ] <name>
    TYPE = GENERIC_STRING
    SECRET_STRING = '<string_literal>'
    [ COMMENT = '<string_literal>' ]
Copy

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 die OAUTH_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 OAuth mit Autorisierungscode-Gewährungsablauf

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 dem OAuth-Gewährungsablauf verwendet werden soll.

OAUTH_REFRESH_TOKEN = 'string_literal'

Gibt das Token als Zeichenfolge an, die verwendet wird, um ein neues Zugriffstoken vom OAuth-Autorisierungsserver zu erhalten, wenn das Zugriffstoken abläuft.

OAUTH_REFRESH_TOKEN_EXPIRY_TIME = 'string_literal'

Gibt den Zeitstempel als Zeichenfolge an, wenn das OAuth-Aktualisierungstoken abläuft.

API_AUTHENTICATION = security_integration_name

Gibt den name-Wert der Snowflake-Sicherheitsintegration an, die Snowflake mit einem externen Dienst verbindet.

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 auf PASSWORD 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 auf PASSWORD 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'
Copy

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;
Copy

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';
Copy