用户的 DEFAULT_SECONDARY_ROLES 对象属性的默认值更改为 ('ALL')(待定)¶
注意
注意:在下一个行为变更版本中,此变更只会显示在 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();
有关更多信息,请参阅 社区文章 (https://community.snowflake.com/s/article/default-secondary-roles-all-overview-and-additional-explanations)。
- 变更前:
用户的 DEFAULT_SECONDARY_ROLES 对象属性的默认值是 NULL。
- 变更后:
用户的 DEFAULT_SECONDARY_ROLES 对象属性的默认值是 ('ALL')。
参考:1692