CREATE SECRET¶
Erstellt ein neues Geheimnis im aktuellen oder 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>' ]
Cloudanbieter:
CREATE [ OR REPLACE ] SECRET [ IF NOT EXISTS ] <name>
TYPE = CLOUD_PROVIDER_TOKEN
API_AUTHENTICATION = '<cloud_provider_security_integration>'
ENABLED = { TRUE | FALSE }
[ 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.
AWS IAM erforderliche Parameter¶
TYPE = CLOUD_PROVIDER_TOKEN
Gibt an, dass es sich um ein Geheimnis für die Verwendung mit einem Cloudanbieter handelt, wie z. B. Amazon Web Services (AWS).
API_AUTHENTICATION = 'cloud_provider_security_integration'
Gibt den Wert
name
der Snowflake-Sicherheitsintegration an, die Snowflake mit einem Cloudanbieter 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
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¶
OAuth mit Anmeldeinformationen des Clients¶
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'
AWS IAM¶
Erstellen Sie ein Geheimnis zur Verwendung mit Amazon Web Services (AWS), indem Sie den AWS IAM ARN zur Authentifizierung einbinden:
CREATE SECRET aws_secret
TYPE = CLOUD_PROVIDER_TOKEN
API_AUTHENTICATION = myawsiamintegration
ENABLED = TRUE;
Basisauthentifizierung¶
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';