用户的 DEFAULT_SECONDARY_ROLES 对象属性的默认值更改为 ('ALL')(待定)

注意

此行为变更包含在 2024_08 捆绑包中。

有关捆绑包的当前状态,请参阅 捆绑包历史记录

注意

注意:在下一个行为变更版本中,此变更只会显示在 SNOWFLAKE.ACCOUNT_USAGE.USERS 视图中。

此行为变更最初于 2024_07 捆绑包中引入。为了给用户额外的时间来评估这一变更,这一行为变更在 2024_08 中保持禁用。

此 BCR 会影响所有用户。如果新用户或现有用户的 DEFAULT_SECONDARY_ROLES 对象属性未设置或设置为 NULL,则其 DEFAULT_SECONDARY_ROLES 对象属性将更改为 ('ALL')

如果新用户或现有用户的 DEFAULT_SECONDARY_ROLES 对象属性已明确设置,则其 DEFAULT_SECONDARY_ROLES 对象属性不会改变。

如果将用户的 DEFAULT_SECONDARY_ROLES 对象属性设置为 (),则会指定用户不具有次要角色。如果您想保留您账户中 DEFAULT_SECONDARY_ROLES 对象属性的现有行为,可使用以下程序将 DEFAULT_SECONDARY_ROLES 显式设置为空列表:

CREATE OR REPLACE PROCEDURE update_default_secondary_roles()
RETURNS VARIANT NOT NULL
LANGUAGE JAVASCRIPT
EXECUTE AS CALLER
AS
$$
let updated_users = [];
let users = snowflake.execute({sqlText: "SHOW USERS"});
while (users.next()) {
  let username = users.getColumnValue("name");
  let dsr = users.getColumnValue("default_secondary_roles");
  if (dsr !== "") {
    continue;
  }
  snowflake.execute({
    sqlText: "alter user identifier(?) set default_secondary_roles=()",
    binds: ["\"" + username + "\""],
  });
  updated_users.push(username);
}
return updated_users;
$$;

CALL update_default_secondary_roles();
Copy

有关更多信息,请参阅 社区文章 (https://community.snowflake.com/s/article/default-secondary-roles-all-overview-and-additional-explanations)。

变更前:

用户的 DEFAULT_SECONDARY_ROLES 对象属性的默认值是 NULL。

变更后:

用户的 DEFAULT_SECONDARY_ROLES 对象属性的默认值是 ('ALL')。

参考:1692

语言: 中文