ALTER APPLICATION SET SPECIFICATIONS

Crée ou met à jour une spécification d’application pour une Snowflake Native App.

Note

Cette commande ne peut être utilisée que par une Snowflake Native App.

Voir aussi :

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

Syntaxe

Intégration de l’accès externe

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

Intégration de sécurité (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

Intégration de sécurité (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

Intégration de sécurité (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

Annonce

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

Paramètres généraux

app_spec_name

Identificateur pour la spécification d’application.

TYPE = {EXTERNAL_ACCESS | SECURITY_INTEGRATION | LISTING}

Spécifie le type de spécification d’application. Valeurs prises en charge :

LABEL = 'label'

Spécifie une étiquette pour la spécification d’application. Cette balise est le nom de la spécification d’application visible par le consommateur. Chaque spécification d’application doit avoir une étiquette unique.

DESCRIPTION = 'description'

Spécifie une description de la spécification d’application. Snowflake recommande d’inclure des informations sur le type de spécification d’application et la raison pour laquelle l’application l’exige.

Paramètres d’intégration d’accès externe

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

Spécifie une liste de ports hôtes ou de ports hôtes privés auxquels l’application peut se connecter. Ces ports sont utilisés par des intégrations d’accès externes.

Paramètres d’intégration de sécurité - CLIENT_CREDENTIALS

OAUTH_TYPE = 'CLIENT_CREDENTIALS'

Spécifie le type d’intégration de sécurité pour l’authentification d’API externe. Pour plus d’informations, voir CREATE SECURITY INTEGRATION (authentification API externe).

OAUTH_TOKEN_ENDPOINT = 'string_literal'

Spécifie le point de terminaison du jeton utilisé par le client pour obtenir un jeton d’accès en présentant son jeton d’attribution ou d’actualisation d’autorisation. Pour plus d’informations, voir CREATE SECURITY INTEGRATION (authentification API externe).

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

Spécifie une liste de champs d’application séparés par des virgules, avec des guillemets simples entourant chaque champ d’application, à utiliser lors de la conception d’une requête à partir de OAuth par un rôle avec USAGE sur l’intégration pendant le flux d’identifiants de connexion client OAuth. Pour plus d’informations, voir CREATE SECURITY INTEGRATION (authentification API externe).

OAUTH_ACCESS_TOKEN_VALIDITY = integer

Spécifie la durée de vie par défaut du jeton d’accès OAuth (en secondes) émis par un serveur OAuth. Pour plus d’informations, voir CREATE SECURITY INTEGRATION (authentification API externe).

Paramètres d’intégration de sécurité - AUTHORIZATION_CODE

OAUTH_TYPE = 'AUTHORIZATION_CODE'

Spécifie le type d’intégration de sécurité pour l’authentification d’API externe. Pour plus d’informations, voir CREATE SECURITY INTEGRATION (authentification API externe).

OAUTH_TOKEN_ENDPOINT = 'string_literal'

Spécifie le point de terminaison du jeton utilisé par le client pour obtenir un jeton d’accès en présentant son jeton d’attribution ou d’actualisation d’autorisation. Pour plus d’informations, voir CREATE SECURITY INTEGRATION (authentification API externe).

OAUTH_AUTHORIZATION_ENDPOINT = 'string_literal'

Spécifie l’URL pour l’authentification auprès du service externe. Pour plus d’informations, voir CREATE SECURITY INTEGRATION (authentification API externe).

OAUTH_ACCESS_TOKEN_VALIDITY = integer

Spécifie la durée de vie par défaut du jeton d’accès OAuth (en secondes) émis par un serveur OAuth. Pour plus d’informations, voir CREATE SECURITY INTEGRATION (authentification API externe).

OAUTH_REFRESH_TOKEN_VALIDITY = integer

Spécifie la durée de vie par défaut du jeton d’actualisation OAuth (en secondes) émis par un serveur OAuth. Pour plus d’informations, voir CREATE SECURITY INTEGRATION (authentification API externe).

Paramètres d’intégration de sécurité - JWT_BEARER

OAUTH_TYPE = 'JWT_BEARER'

Spécifie le type d’intégration de sécurité pour l’authentification d’API externe. Pour plus d’informations, voir CREATE SECURITY INTEGRATION (authentification API externe).

OAUTH_TOKEN_ENDPOINT = 'string_literal'

Spécifie le point de terminaison du jeton utilisé par le client pour obtenir un jeton d’accès en présentant son jeton d’attribution ou d’actualisation d’autorisation. Pour plus d’informations, voir CREATE SECURITY INTEGRATION (authentification API externe).

OAUTH_AUTHORIZATION_ENDPOINT = 'string_literal'

Spécifie l’URL pour l’authentification auprès du service externe. Pour plus d’informations, voir CREATE SECURITY INTEGRATION (authentification API externe).

OAUTH_REFRESH_TOKEN_VALIDITY = integer

Spécifie la durée de vie par défaut du jeton d’actualisation OAuth (en secondes) émis par un serveur OAuth. Pour plus d’informations, voir CREATE SECURITY INTEGRATION (authentification API externe).

Listing parameters

TARGET_ACCOUNTS = 'account_list'

Spécifie une chaîne de comptes cibles entre guillemets simples, séparés par des virgules, sans espaces. Chaque compte doit être spécifié au format OrgName.AccountName ; par exemple : 'ProviderOrg.ProviderAccount,PartnerOrg.PartnerAccount'. Lorsque la spécification est approuvée, ces comptes sont ajoutés à la liste. En cas de refus, tous les comptes sont supprimés de la liste.

LISTING = listing_name

Spécifie l’identificateur de la liste externe créée par l’application. La liste doit déjà exister et doit avoir été créée par l’application avec un partage joint. Une fois la liste définie dans une spécification d’application, son nom ne peut plus être modifié.

AUTO_FULFILLMENT_REFRESH_SCHEDULE = 'schedule'

En option. Spécifie la planification d’actualisation pour le partage de données interrégionales. Ce paramètre est requis lors du partage de données entre régions. La valeur peut être spécifiée dans deux formats :

  • num MINUTE : Nombre de minutes, avec un minimum de 10 minutes et un maximum de 11 520 minutes (8 jours).

  • USING CRON expression time_zone : Expression cron avec fuseau horaire pour l’actualisation.

Notes sur l’utilisation

  • Pour utiliser cette commande, les fournisseurs doivent s’assurer que le fichier manifeste de l’application utilise manifest_version = 2.

Exemples

Créer une spécification d’application pour l’accès externe :

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

Créer une spécification d’application pour une intégration de sécurité OAuth :

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

Créer une spécification d’application pour le partage de données via une liste :

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