ALTER APPLICATION SET SPECIFICATIONS

Erstellt oder aktualisiert eine App-Spezifikation für eine Snowflake Native App.

Bemerkung

Dieser Befehl kann nur von einer Snowflake Native App verwendet werden:

Siehe auch:

ALTER APPLICATION, ALTER APPLICATION … { APPROVE | DECLINE} SPECIFICATION, ALTER APPLICATION DROP SPECIFICATION

Syntax

Integration für externen Zugriff

ALTER APPLICATION SET SPECIFICATION <app_spec_name>
  TYPE = EXTERNAL_ACCESS
  LABEL = '<label>'
  DESCRIPTION = '<description>'
  { HOST_PORTS | PRIVATE_HOST_PORTS } = ( '<value>' [, '<value>', ... ] )
Copy

Sicherheitsintegration (CLIENT_CREDENTIALS)

ALTER APPLICATION SET SPECIFICATION <app_spec_name>
    TYPE = SECURITY_INTEGRATION
    LABEL = '<string_literal>'
    DESCRIPTION = '<string_literal>'
    OAUTH_TYPE = 'CLIENT_CREDENTIALS'
    OAUTH_TOKEN_ENDPOINT = '<string_literal>'
    OAUTH_ALLOWED_SCOPES = ( '<scope>' [ , '<scope>' ... ] );
Copy

Sicherheitsintegration (AUTHORIZATION_CODE)

ALTER APPLICATION SET SPECIFICATION <app_spec_name>
  TYPE = SECURITY_INTEGRATION
  LABEL = '<string_literal>'
  DESCRIPTION = '<string_literal>'
  OAUTH_TYPE = 'AUTHORIZATION_CODE'
  OAUTH_TOKEN_ENDPOINT = '<string_literal>'
  [ OAUTH_AUTHORIZATION_ENDPOINT = '<string_literal>' ]
  [ OAUTH_ALLOWED_SCOPES = ( '<scope>' [ , '<scope>' ... ] ) ];
Copy

Sicherheitsintegration (JWT_BEARER)

ALTER APPLICATION SET SPECIFICATION <app_spec_name>
  TYPE = SECURITY_INTEGRATION
  LABEL = '<string_literal>'
  DESCRIPTION = '<string_literal>'
  OAUTH_TYPE = 'JWT_BEARER'
  OAUTH_TOKEN_ENDPOINT = '<string_literal>'
  [ OAUTH_AUTHORIZATION_ENDPOINT = '<string_literal>' ]
  [ OAUTH_ALLOWED_SCOPES = ( '<scope>' [ , '<scope>' ... ] ) ];
Copy

Listing

ALTER APPLICATION SET SPECIFICATION <app_spec_name>
  TYPE = LISTING
  LABEL = '<string_literal>'
  DESCRIPTION = '<string_literal>'
  TARGET_ACCOUNTS = '<account_list>'
  LISTING = <listing_name>
  [ AUTO_FULFILLMENT_REFRESH_SCHEDULE = '<schedule>' ]
Copy

Allgemeine Parameter

app_spec_name

Bezeichner für die App-Spezifikation.

TYPE = {EXTERNAL_ACCESS | SECURITY_INTEGRATION | LISTING}

Gibt den Typ der App-Spezifikation an. Folgende Werte werden unterstützt:

LABEL = 'label'

Gibt eine Bezeichnung für die App-Spezifikation an. Diese Bezeichnung ist der Name der App-Spezifikation, der für den Verbraucher sichtbar ist. Jede App-Spezifikation muss eine eindeutige Bezeichnung haben.

DESCRIPTION = 'description'

Gibt eine Beschreibung der App-Spezifikation. Snowflake empfiehlt, Informationen über den Typ der App-Spezifikation anzugeben, und warum dieser von der App benötigt wird.

Parameter für die Integration für den externen Zugriff

HOST_PORTS | PRIVATE_HOST_PORTS = ( 'value' [ , 'value', ... ] )

Gibt eine Liste von Host-Ports oder privaten Host-Ports an, mit denen sich die App verbinden kann. Diese Ports werden von Integrationen für den externen Zugriff verwendet.

Sicherheitsintegrationsparameter – CLIENT_CREDENTIALS

OAUTH_TYPE = 'CLIENT_CREDENTIALS'

Gibt den Typ der Sicherheitsintegration für externe API-Authentifizierung an Weitere Informationen dazu finden Sie unter CREATE SECURITY INTEGRATION (Externe API-Authentifizierung).

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. Weitere Informationen dazu finden Sie unter CREATE SECURITY INTEGRATION (Externe API-Authentifizierung).

OAUTH_ALLOWED_SCOPES = ( 'scope' [  , 'scope' ... ]  )

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 USAGE-Server aus eine Anforderung durch eine Rolle mit OAuth-Berechtigung für die Integration gestellt wird. Weitere Informationen dazu finden Sie unter CREATE SECURITY INTEGRATION (Externe API-Authentifizierung).

OAUTH_ACCESS_TOKEN_VALIDITY = integer

Gibt die Standard-Gültigkeitsdauer des OAuth-Zugriffstokens (in Sekunden) an, das von einem OAuth-Server ausgestellt wird. Weitere Informationen dazu finden Sie unter CREATE SECURITY INTEGRATION (Externe API-Authentifizierung).

Sicherheitsintegrationsparameter – AUTHORIZATION_CODE

OAUTH_TYPE = 'AUTHORIZATION_CODE'

Gibt den Typ der Sicherheitsintegration für externe API-Authentifizierung an Weitere Informationen dazu finden Sie unter CREATE SECURITY INTEGRATION (Externe API-Authentifizierung).

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. Weitere Informationen dazu finden Sie unter CREATE SECURITY INTEGRATION (Externe API-Authentifizierung).

OAUTH_AUTHORIZATION_ENDPOINT = 'string_literal'

Gibt die URL für die Authentifizierung beim externen Dienst an. Weitere Informationen dazu finden Sie unter CREATE SECURITY INTEGRATION (Externe API-Authentifizierung).

OAUTH_ACCESS_TOKEN_VALIDITY = integer

Gibt die Standard-Gültigkeitsdauer des OAuth-Zugriffstokens (in Sekunden) an, das von einem OAuth-Server ausgestellt wird. Weitere Informationen dazu finden Sie unter CREATE SECURITY INTEGRATION (Externe API-Authentifizierung).

OAUTH_REFRESH_TOKEN_VALIDITY = integer

Gibt die Standard-Gültigkeitsdauer des OAuth-Aktualisierungstokens (in Sekunden) an, das von einem OAuth-Server ausgestellt wird. Weitere Informationen dazu finden Sie unter CREATE SECURITY INTEGRATION (Externe API-Authentifizierung).

Sicherheitsintegrationsparameter – JWT_BEARER

OAUTH_TYPE = 'JWT_BEARER'

Gibt den Typ der Sicherheitsintegration für externe API-Authentifizierung an Weitere Informationen dazu finden Sie unter CREATE SECURITY INTEGRATION (Externe API-Authentifizierung).

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. Weitere Informationen dazu finden Sie unter CREATE SECURITY INTEGRATION (Externe API-Authentifizierung).

OAUTH_AUTHORIZATION_ENDPOINT = 'string_literal'

Gibt die URL für die Authentifizierung beim externen Dienst an. Weitere Informationen dazu finden Sie unter CREATE SECURITY INTEGRATION (Externe API-Authentifizierung).

OAUTH_REFRESH_TOKEN_VALIDITY = integer

Gibt die Standard-Gültigkeitsdauer des OAuth-Aktualisierungstokens (in Sekunden) an, das von einem OAuth-Server ausgestellt wird. Weitere Informationen dazu finden Sie unter CREATE SECURITY INTEGRATION (Externe API-Authentifizierung).

Listing parameters

TARGET_ACCOUNTS = 'account_list'

Specifies a single-quoted string of target accounts, separated by commas, with no spaces. Each account must be specified in the format OrgName.AccountName; for example: 'ProviderOrg.ProviderAccount,PartnerOrg.PartnerAccount'. When the specification is approved, these accounts are added to the listing. When declined, all accounts are removed from the listing.

LISTING = listing_name

Specifies the identifier of the external listing created by the app. The listing must already exist and must have been created by the app with a share attached. After the listing is set in an app specification, the listing name cannot be changed.

AUTO_FULFILLMENT_REFRESH_SCHEDULE = 'schedule'

Optional. Specifies the refresh schedule for cross-region data sharing. This parameter is required when sharing data across regions. The value can be specified in two formats:

  • num MINUTE: Number of minutes, with a minimum of 10 minutes and a maximum of 11,520 minutes (eight days).

  • USING CRON expression time_zone: Cron expression with time zone for the refresh.

Nutzungshinweise

  • Um diesen Befehl verwenden zu können, müssen Anbieter sicherstellen, dass die Manifestdatei der App manifest_version = 2 verwendet.

Examples

Create an app specification for external access:

ALTER APPLICATION SET SPECIFICATION eai_spec
  TYPE = EXTERNAL_ACCESS
  LABEL = 'External API Access'
  DESCRIPTION = 'Connect to external weather API'
  HOST_PORTS = ('api.weather.com:443', 'api.openweather.org:443');
Copy

Create an app specification for OAuth security integration:

ALTER APPLICATION SET SPECIFICATION oauth_spec
  TYPE = SECURITY_INTEGRATION
  LABEL = 'OAuth Integration'
  DESCRIPTION = 'Connect to Microsoft Graph API'
  OAUTH_TYPE = 'CLIENT_CREDENTIALS'
  OAUTH_TOKEN_ENDPOINT = 'https://login.microsoftonline.com/YOUR_TENANT_ID/oauth2/v2.0/token'
  OAUTH_ALLOWED_SCOPES = ('https://graph.microsoft.com/.default');
Copy

Create an app specification for data sharing through a listing:

ALTER APPLICATION SET SPECIFICATION shareback_spec
  TYPE = LISTING
  LABEL = 'Telemetry Data Sharing'
  DESCRIPTION = 'Share telemetry and usage data with provider'
  TARGET_ACCOUNTS = 'ProviderOrg.ProviderAccount,PartnerOrg.PartnerAccount'
  LISTING = telemetry_listing
  AUTO_FULFILLMENT_REFRESH_SCHEDULE = '720 MINUTE';
Copy