ALTER SECURITY INTEGRATION (Snowflake OAuth)

修改为 Snowflake OAuth 客户端创建的现有安全集成的属性。有关修改其他类型的安全集成(例如 External OAuth)的信息,请参阅 ALTER SECURITY INTEGRATION

另请参阅:

CREATE SECURITY INTEGRATION (Snowflake OAuth)DROP INTEGRATIONSHOW INTEGRATIONSDESCRIBE INTEGRATION

语法

ALTER [ SECURITY ] INTEGRATION <name> SET TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]

ALTER [ SECURITY ] INTEGRATION <name> UNSET TAG <tag_name> [ , <tag_name> ... ]
Copy

用于合作伙伴应用程序的 Snowflake OAuth

ALTER [ SECURITY ] INTEGRATION [ IF EXISTS ] <name> SET
  [ ENABLED = { TRUE | FALSE } ]
  [ OAUTH_ISSUE_REFRESH_TOKENS = { TRUE | FALSE } ]
  [ OAUTH_REDIRECT_URI ] = '<uri>'
  [ OAUTH_REFRESH_TOKEN_VALIDITY = <integer> ]
  [ OAUTH_SINGLE_USE_REFRESH_TOKENS_REQUIRED = { TRUE | FALSE } ]
  [ OAUTH_USE_SECONDARY_ROLES = { IMPLICIT | NONE } ]
  [ BLOCKED_ROLES_LIST = ( '<role_name>' [ , '<role_name>' , ... ] ) ]
  [ NETWORK_POLICY = '<network_policy>' ]
  [ USE_PRIVATELINK_FOR_AUTHORIZATION_ENDPOINT = { TRUE | FALSE } ]
  [ COMMENT = '<string_literal>' ]

ALTER [ SECURITY ] INTEGRATION [ IF EXISTS ] <name>
  REFRESH { OAUTH_CLIENT_SECRET | OAUTH_CLIENT_SECRET_2 }

ALTER [ SECURITY ] INTEGRATION [ IF EXISTS ] <name> UNSET {
  ENABLED |
  COMMENT
  }
  [ , ... ]
Copy

用于自定义客户端的 Snowflake OAuth

ALTER [ SECURITY ] INTEGRATION [ IF EXISTS ] <name> SET
  [ ENABLED = { TRUE | FALSE } ]
  [ OAUTH_REDIRECT_URI = '<uri>' ]
  [ OAUTH_ALLOW_NON_TLS_REDIRECT_URI = { TRUE | FALSE } ]
  [ OAUTH_ENFORCE_PKCE = { TRUE | FALSE } ]
  [ PRE_AUTHORIZED_ROLES_LIST = ( '<role_name>' [ , '<role_name>' , ... ] ) ]
  [ BLOCKED_ROLES_LIST = ( '<role_name>' [ , '<role_name>' , ... ] ) ]
  [ OAUTH_ISSUE_REFRESH_TOKENS = { TRUE | FALSE } ]
  [ OAUTH_REFRESH_TOKEN_VALIDITY = <integer> ]
  [ OAUTH_SINGLE_USE_REFRESH_TOKENS_REQUIRED = { TRUE | FALSE } ]
  [ OAUTH_USE_SECONDARY_ROLES = IMPLICIT | NONE ]
  [ NETWORK_POLICY = '<network_policy>' ]
  [ OAUTH_CLIENT_RSA_PUBLIC_KEY = <public_key1> ]
  [ OAUTH_CLIENT_RSA_PUBLIC_KEY_2 = <public_key2> ]
  [ USE_PRIVATELINK_FOR_AUTHORIZATION_ENDPOINT = { TRUE | FALSE } ]
  [ COMMENT = '{string_literal}' ]

ALTER [ SECURITY ] INTEGRATION [ IF EXISTS ] <name>
  REFRESH { OAUTH_CLIENT_SECRET | OAUTH_CLIENT_SECRET_2 }

ALTER [ SECURITY ] INTEGRATION [ IF EXISTS ] <name>  UNSET {
                                                           ENABLED                       |
                                                           NETWORK_POLICY                |
                                                           OAUTH_CLIENT_RSA_PUBLIC_KEY   |
                                                           OAUTH_CLIENT_RSA_PUBLIC_KEY_2 |
                                                           OAUTH_USE_SECONDARY_ROLES = IMPLICIT | NONE
                                                           COMMENT
                                                           }
                                                           [ , ... ]
Copy

参数

Snowflake OAuth 合作伙伴应用程序参数

当安全集成中的 OAUTH_CLIENT = <partner_application> 时使用这些参数。例如,这些参数适用于 OAUTH_CLIENT = TABLEAU_SERVER

name

要更改的集成的标识符。如果标识符包含空格或特殊字符,则整个字符串必须放在双引号内。放在双引号内的标识符也区分大小写。

SET ...

指定要为集成设置的一个或多个属性/参数(用空格、逗号或新行分隔):

ENABLED = { TRUE | FALSE }

指定是启动集成操作还是暂停集成操作。

  • TRUE 允许集成基于管道定义中指定的参数运行。

  • FALSE 会暂停集成以进行维护。Snowflake 与第三方服务之间的任何集成都无法正常工作。

OAUTH_REDIRECT_URI = 'uri'

指定客户端 URI。用户通过身份验证后,Web 浏览器将重定向到此 URI。

OAUTH_CLIENT = LOOKER 时,此参数是必填参数。有关详细信息,请参阅 Looker 文档 (https://docs.looker.com/setup-and-management/database-config/snowflake#oauth) 中的示例。

OAUTH_ISSUE_REFRESH_TOKENS = { TRUE | FALSE }

布尔,指定当前访问令牌到期时,是否允许客户端用刷新令牌交换访问令牌。如果设置为 FALSE,则不会发放刷新令牌。用户同意已撤消,用户必须再次确认授权。

默认:TRUE

OAUTH_REFRESH_TOKEN_VALIDITY = integer

指定刷新令牌的有效时间(整数,以秒为单位)。此参数可用于定期使刷新令牌过期。

请注意,如果组织希望降低此参数的最小值或提高其最大值,请让账户管理员向 Snowflake 支持部门 发送请求。

值::code:`86400`(1 天)至 :code:`7776000`(90 天)

默认值:7776000

OAUTH_SINGLE_USE_REFRESH_TOKENS_REQUIRED =  { TRUE | FALSE }

指定是否应使用 一次性刷新令牌

默认:FALSE

OAUTH_USE_SECONDARY_ROLES = { IMPLICIT | NONE }
  • IMPLICIT:默认情况下,在用户属性中设置的默认辅助角色在打开的会话中处于激活状态。

  • NONE:正在打开的会话中不支持默认辅助角色。

默认:NONE

BLOCKED_ROLES_LIST = ( 'role_name' [ , 'role_name' , ... ] )

以逗号分隔的 Snowflake 角色列表,用户在进行身份验证后 无法 显式同意使用这些角色(例如 'custom_role1', 'custom_role2')。

默认情况下,Snowflake 会阻止 ACCOUNTADMIN、ORGADMIN、GLOBALORGADMIN 和 SECURITYADMIN 角色进行身份验证。要允许这些特权角色进行身份验证,请使用 ALTER ACCOUNT 命令,将 OAUTH_ADD_PRIVILEGED_ROLES_TO_BLOCKED_LIST 账户参数设为 FALSE

TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]

指定 标签 名称和标签字符串值。

标签值始终为字符串,标签值的最大字符数为 256。

有关在语句中指定标签的信息,请参阅 Tag quotas

USE_PRIVATELINK_FOR_AUTHORIZATION_ENDPOINT = { TRUE | FALSE }

When TRUE, the interaction between Snowflake as the authorization server and the user who is authenticating uses private connectivity. Interactions between Snowflake and the client, including the initial request to the authorization endpoint, still happens over the public internet.

默认:FALSE

COMMENT = 'string_literal'

字符串(字面量),用于指定集成注释。

REFRESH { OAUTH_CLIENT_SECRET | OAUTH_CLIENT_SECRET_2 }

Generates a new client secret for the client to use, which allows an administrator to rotate client secrets. Snowflake provides two client secrets (OAUTH_CLIENT_SECRET and OAUTH_CLIENT_SECRET_2) for uninterrupted rotation; you can generate a new secret for either of these client secrets.

Snowflake OAuth 自定义客户端参数

当安全集成中的 OAUTH_CLIENT = CUSTOM 时使用这些参数。

name

要更改的集成的标识符。如果标识符包含空格或特殊字符,则整个字符串必须放在双引号内。放在双引号内的标识符也区分大小写。

SET ...

指定要为集成设置的一个或多个属性/参数(用空格、逗号或新行分隔):

ENABLED = { TRUE | FALSE }

指定是启动集成操作还是暂停集成操作。

  • TRUE 允许集成基于管道定义中指定的参数运行。

  • FALSE 会暂停集成以进行维护。Snowflake 与第三方服务之间的任何集成都无法正常工作。

OAUTH_REDIRECT_URI = 'uri'

指定客户端 URI。用户通过身份验证后,Web 浏览器将重定向到此 URI。URI 必须受 TLS(传输层安全性)保护,除非可选的 OAUTH_ALLOW_NON_TLS_REDIRECT_URI 参数设置为 TRUE

在对 授权端点 的请求中,不要包含与重定向 URI 一同发送的查询参数。例如,如果在对授权端点的请求中,redirect_uri 查询参数的值为 https://www.example.com/connect?authType=snowflake,请确保将 OAUTH_REDIRECT_URI 参数设置为 https://www.example.com/connect

OAUTH_SINGLE_USE_REFRESH_TOKENS_REQUIRED =  { TRUE | FALSE }

指定是否应使用 一次性刷新令牌

默认:FALSE

OAUTH_ALLOW_NON_TLS_REDIRECT_URI = { TRUE | FALSE }

如果为 TRUE,则允许将 OAUTH_REDIRECT_URI 设置为 不受 TLS 保护的 URI。我们强烈建议使用 TLS 来防止用于网络钓鱼攻击的中间人 OAuth 重定向。

默认:FALSE

OAUTH_ENFORCE_PKCE = { TRUE | FALSE }

布尔,用于指定集成是否需要代码交换证明密钥 (PKCE)。

默认:FALSE

OAUTH_USE_SECONDARY_ROLES = { IMPLICIT | NONE }
  • IMPLICIT:默认情况下,在用户属性中设置的默认辅助角色在打开的会话中处于激活状态。

  • NONE:正在打开的会话中不支持默认辅助角色。

默认:NONE

PRE_AUTHORIZED_ROLES_LIST = '( role_name' [ , 'role_name , ... ] ')

以逗号分隔的 Snowflake 角色列表,用户在进行身份验证后无需显式同意使用这些角色,例如 'custom_role1', 'custom_role2'。此列表中不能包含 ACCOUNTADMIN、ORGADMIN、GLOBALORGADMIN 和 SECURITYADMIN 角色。

备注

此参数仅支持用于机密客户端。

BLOCKED_ROLES_LIST = ( 'role_name' [ , 'role_name' , ... ] )

以逗号分隔的 Snowflake 角色列表,用户在进行身份验证后 无法 显式同意使用这些角色(例如 'custom_role1', 'custom_role2')。

默认情况下,此列表中包含 ACCOUNTADMIN、ORGADMIN、GLOBALORGADMIN 和 SECURITYADMIN 角色;但是,如果应从账户中移除这些角色,请让账户管理员向 Snowflake 支持部门 发送请求。

OAUTH_ISSUE_REFRESH_TOKENS = { TRUE | FALSE }

布尔,指定当前访问令牌到期时,是否允许客户端用刷新令牌交换访问令牌。如果设置为 FALSE,则不会发放刷新令牌。用户同意已撤消,用户必须再次确认授权。

默认:TRUE

OAUTH_REFRESH_TOKEN_VALIDITY = integer

指定刷新令牌的有效时间(整数,以秒为单位)。此参数可用于定期使刷新令牌过期。

当刷新令牌过期时,应用程序将需要再次引导用户通过授权流程以获得新的刷新令牌。

支持的最小值、最大值和默认值如下:

应用程序

最小值

最大值

默认值

Tableau Desktop

:code:`60`(1 分钟)

:code:`36000`(10 小时)

:code:`36000`(10 小时)

Tableau Cloud

:code:`60`(1 分钟)

:code:`7776000`(90 天)

:code:`7776000`(90 天)

自定义客户端

:code:`86400`(1 天)

:code:`7776000`(90 天)

:code:`7776000`(90 天)

如果因业务需求,需要降低最小值或提高最大值,请让账户管理员向 Snowflake 支持部门 发送请求。

NETWORK_POLICY = 'network_policy'

指定现有的 网络策略。此网络策略控制以下网络流量:试图授权交换访问或刷新令牌的授权代码,或使用刷新令牌获取新的访问令牌。

This parameter is only available for Looker and custom integrations.

如果还为账户或用户设置了网络策略,请参阅 网络策略优先顺序

OAUTH_CLIENT_RSA_PUBLIC_KEY = public_key1

指定 RSA 公钥。

OAUTH_CLIENT_RSA_PUBLIC_KEY_2 = public_key2

指定第二个 RSA 公钥。用于键的轮换。

TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]

指定 标签 名称和标签字符串值。

标签值始终为字符串,标签值的最大字符数为 256。

有关在语句中指定标签的信息,请参阅 Tag quotas

USE_PRIVATELINK_FOR_AUTHORIZATION_ENDPOINT = { TRUE | FALSE }

When TRUE, the interaction between Snowflake as the authorization server and the user who is authenticating uses private connectivity. Interactions between Snowflake and the client, including the initial request to the authorization endpoint, still happens over the public internet.

默认:FALSE

COMMENT = 'string_literal'

字符串(字面量),用于指定集成注释。

REFRESH { OAUTH_CLIENT_SECRET | OAUTH_CLIENT_SECRET_2 }

Generates a new client secret for the client to use, which allows an administrator to rotate client secrets. Snowflake provides two client secrets (OAUTH_CLIENT_SECRET and OAUTH_CLIENT_SECRET_2) for uninterrupted rotation; you can generate a new secret for either of these client secrets.

UNSET ...

指定要为安全集成取消设置的一个或多个属性/参数,这会将它们重置回默认值:

  • ENABLED

  • NETWORK_POLICY

  • OAUTH_CLIENT_RSA_PUBLIC_KEY

  • OAUTH_CLIENT_RSA_PUBLIC_KEY_2

  • TAG tag_name [ , tag_name ... ]

  • COMMENT

使用说明

关于元数据:

注意

客户应确保在使用 Snowflake 服务时,不会将个人数据(用户对象除外)、敏感数据、出口管制数据或其他受监管数据作为元数据输入。有关更多信息,请参阅 Snowflake 中的元数据字段

示例

以下示例启动了已暂停的集成的操作:

ALTER SECURITY INTEGRATION myint SET ENABLED = TRUE;
Copy
语言: 中文