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_USE_SECONDARY_ROLES = IMPLICIT | NONE ]
  [ BLOCKED_ROLES_LIST = ( '<role_name>' [ , '<role_name>' , ... ] ) ]
  [ COMMENT = '<string_literal>' ]

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_USE_SECONDARY_ROLES = IMPLICIT | NONE ]
  [ NETWORK_POLICY = '<network_policy>' ]
  [ OAUTH_CLIENT_RSA_PUBLIC_KEY = <public_key1> ]
  [ OAUTH_CLIENT_RSA_PUBLIC_KEY_2 = <public_key2> ]
  [ COMMENT = '{string_literal}' ]

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_USE_SECONDARY_ROLES = IMPLICIT | NONE

IMPLICIT

默认情况下,在用户属性中设置的默认辅助角色在打开的会话中处于激活状态。

NONE

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

默认:NONE

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

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

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

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

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

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

有关在语句中指定标签的信息,请参阅 对象和列的标签配额

COMMENT = 'string_literal'

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

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_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 和 SECURITYADMIN 角色。

备注

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

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

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

请注意,默认情况下,此列表中包含 ACCOUNTADMIN、ORGADMIN 和 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'

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

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

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。

有关在语句中指定标签的信息,请参阅 对象和列的标签配额

COMMENT = 'string_literal'

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

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
语言: 中文