ALTER SECURITY INTEGRATION (Externe API-Authentifizierung)¶
Ändert die Eigenschaften einer bestehenden Sicherheitsintegration, die für die externe API-Authentifizierung erstellt wurde.
Weitere Informationen zum Ändern anderer Typen von Sicherheitsintegrationen (z. B. Snowflake OAuth) finden Sie unter ALTER SECURITY INTEGRATION.
- Siehe auch:
CREATE SECURITY INTEGRATION (Externe API-Authentifizierung), DESCRIBE INTEGRATION, DROP INTEGRATION, SHOW INTEGRATIONS
Syntax¶
OAuth: Anmeldeinformationen des Clients¶
ALTER SECURITY INTEGRATION <name> SET
[ ENABLED = { TRUE | FALSE } ]
[ OAUTH_TOKEN_ENDPOINT = '<string_literal>' ]
[ OAUTH_CLIENT_AUTH_METHOD = CLIENT_SECRET_POST ]
[ OAUTH_CLIENT_ID = '<string_literal>' ]
[ OAUTH_CLIENT_SECRET = '<string_literal>' ]
[ OAUTH_GRANT = 'CLIENT_CREDENTIALS']
[ OAUTH_ACCESS_TOKEN_VALIDITY = <integer> ]
[ OAUTH_ALLOWED_SCOPES = ( '<scope_1>' [ , '<scope_2>' ... ] ) ]
[ COMMENT = '<string_literal>' ]
ALTER [ SECURITY ] INTEGRATION <name> SET TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]
ALTER [ SECURITY ] INTEGRATION <name> UNSET TAG <tag_name> [ , <tag_name> ... ]
ALTER [ SECURITY ] INTEGRATION [ IF EXISTS ] <name> UNSET {
ENABLED | [ , ... ]
}
OAuth: JWT-Bearer-Ablauf¶
ALTER SECURITY INTEGRATION <name> SET
[ ENABLED = { TRUE | FALSE } ]
[ OAUTH_AUTHORIZATION_ENDPOINT = '<string_literal>' ]
[ OAUTH_TOKEN_ENDPOINT = '<string_literal>' ]
[ OAUTH_CLIENT_AUTH_METHOD = CLIENT_SECRET_POST ]
[ OAUTH_CLIENT_ID = '<string_literal>' ]
[ OAUTH_CLIENT_SECRET = '<string_literal>' ]
[ OAUTH_GRANT = 'JWT_BEARER']
[ OAUTH_ACCESS_TOKEN_VALIDITY = <integer> ]
[ OAUTH_REFRESH_TOKEN_VALIDITY = <integer> ]
[ COMMENT = '<string_literal>' ]
ALTER [ SECURITY ] INTEGRATION <name> SET TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]
ALTER [ SECURITY ] INTEGRATION <name> UNSET TAG <tag_name> [ , <tag_name> ... ]
ALTER [ SECURITY ] INTEGRATION [ IF EXISTS ] <name> UNSET {
ENABLED | [ , ... ]
}
Parameter¶
name
Zeichenfolge, die den Bezeichner (d. h. den Namen) für die Integration angibt.
SET ...
Gibt eine oder mehrere Eigenschaften/Parameter an, die für die Integration festgelegt werden sollen (getrennt durch Leerzeichen, Kommas oder neue Zeilen):
ENABLED = { TRUE | FALSE }
Gibt an, ob diese Sicherheitsintegration aktiviert oder deaktiviert ist.
TRUE
Ermöglicht die Ausführung der Integration basierend auf den in der Integrationsdefinition angegebenen Parametern.
FALSE
Hält die Integration für Wartungszwecke an. Eine Integration zwischen Snowflake und einem Drittanbieterdienst funktioniert nicht.
OAUTH_AUTHORIZATION_ENDPOINT = 'string_literal'
Gibt die URL für die Authentifizierung beim externen Dienst an. Um beispielsweise eine Verbindung zur ServiceNow-Instanz herzustellen, muss die URL das folgende Format haben:
https://<instance_name>.service-now.com/oauth_token.do
Dabei ist
instance_name
der Name Ihrer ServiceNow-Instanz.OAUTH_TOKEN_ENDPOINT = 'string_literal'
Gibt den Token-Endpunkt an, den der Client verwendet, um ein Zugriffstoken zu erhalten, indem seine Autorisierungsgewährung oder das Aktualisierungstoken vorlegt wird. Der Token-Endpunkt wird bei jeder Autorisierungsgewährung verwendet, außer beim impliziten Gewährungstyp (da ein Zugriffstoken direkt ausgestellt wird).
OAUTH_CLIENT_AUTH_METHOD = CLIENT_SECRET_POST
Gibt an, dass POST als Authentifizierungsmethode für den externen Dienst verwendet wird.
OAUTH_CLIENT_ID = 'string_literal'
Gibt die Client-ID für die OAuth-Anwendung im externen Dienst an.
OAUTH_CLIENT_SECRET = 'string_literal'
Gibt das Clientgeheimnis für die OAuth-Anwendung in der ServiceNow-Instanz an. Der Konnektor verwendet dies, um ein Zugriffstoken von der ServiceNow-Instanz anzufordern.
OAUTH_GRANT = 'string_literal'
Gibt den Typ des OAuth-Ablaufs an. Eine der folgenden Optionen:
'CLIENT_CREDENTIALS'
, wenn die Integration Client-Anmeldeinformationen verwenden soll.'AUTHORIZATION_CODE'
, wenn die Integration einen Autorisierungscode verwenden soll.'JWT_BEARER'
, wenn die Integration einen Bearer-Token vom Typ „JWT“ (JSON Web Token) verwenden soll.
OAUTH_ACCESS_TOKEN_VALIDITY = integer
Gibt die Standard-Gültigkeitsdauer des OAuth-Zugriffstokens (in Sekunden) an, das von einem OAuth-Server ausgestellt wird.
Der in dieser Eigenschaft festgelegte Wert wird verwendet, wenn die Gültigkeitsdauer des Zugriffstokens nicht als Teil der OAuth-Tokenantwort zurückgegeben wird. Wenn beide Werte verfügbar sind, wird der kleinere Wert verwendet, um das Zugriffstoken zu aktualisieren.
OAUTH_REFRESH_TOKEN_VALIDITY = integer
Gibt den Wert an, mit dem die Gültigkeit des vom OAuth-Server erhaltenen Aktualisierungstokens festgestellt wird.
OAUTH_ALLOWED_SCOPES = ( list )
Gibt eine durch Kommas getrennte Liste von in einfache Anführungszeichen gesetzten 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.Standard: Leere Liste (d. h.
[]
).COMMENT = 'string_literal'
Fügt einen Kommentar hinzu oder überschreibt einen vorhandenen Kommentar für die Integration.
Standard: Kein Wert
TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]
Gibt den Namen des Tags und den Wert der Tag-Zeichenfolge an.
Der Tag-Wert ist immer eine Zeichenfolge, die maximale 256 Zeichen lang sein kann.
Weitere Informationen zur Angabe von Tags in einer Anweisung finden Sie unter Tag-Kontingente für Objekte und Spalten.
Anforderungen an die Zugriffssteuerung¶
Eine Rolle, die zur Ausführung dieses SQL-Befehls verwendet wird, muss mindestens die folgenden Berechtigungen haben:
Berechtigung |
Objekt |
Anmerkungen |
---|---|---|
OWNERSHIP |
Integration |
OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege). |
Eine Anleitung zum Erstellen einer kundenspezifischen Rolle mit einem bestimmten Satz 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¶
Das folgende Beispiel leitet die Operation einer angehaltenen Integration ein:
ALTER SECURITY INTEGRATION myint SET ENABLED = TRUE;