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 | [ , ... ]
}
Copy

OAuth: Autorisierungscode-Gewährungsablauf

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 = 'AUTHORIZATION_CODE']
  [ 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 | [ , ... ]
}
Copy

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 | [ , ... ]
}
Copy

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
Copy

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 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.

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