CREATE CLASSIFICATION_PROFILE¶
完全限定名称 :SNOWFLAKE.DATA_PRIVACY.CLASSIFICATION_PROFILE
在当前或指定架构中创建 CLASSIFICATION_PROFILE 类的新实例或替换现有 CLASSIFICATION_PROFILE 类的实例。
重要
If you execute a CREATE OR REPLACE command, the classification profile is removed from all databases and schemas, which turns off automatic classification.
语法¶
CREATE [ OR REPLACE ] SNOWFLAKE.DATA_PRIVACY.CLASSIFICATION_PROFILE
[ IF NOT EXISTS ] <classification_profile_name> ( <config_object> )
参数¶
classification_profile_name指定 CLASSIFICATION_PROFILE 类实例的标识符(名称);在创建对象的架构中必须是唯一的。
此外,标识符必须以字母字符开头,且不能包含空格或特殊字符,除非整个标识符字符串放在双引号内(例如,
"My object")。放在双引号内的标识符也区分大小写。有关更多信息,请参阅 标识符要求。
构造函数实参¶
config_objectOBJECT,包含用于配置自动敏感数据分类的键值对。
键
类型
默认值
描述
minimum_object_age_for_classification_daysINTEGER
必需:指定要进行分类的对象必须存在的最短天数。
要立即对对象进行分类,请指定
0。maximum_classification_validity_daysINTEGER
可选:指定自上次分类事件发生到再次使用自动分类对表进行分类的天数。
指定此值以确保对表进行重新分类。如果省略此键,则永远不会对对象进行重新分类。
该值必须大于或等于
1。auto_tagBOOLEAN
TRUE
可选:若为
TRUE,分类过程完成后,在指定对象的列上设置推荐的分类系统标签。若为
FALSE,自动标记不会发生。tag_mapOBJECT
可选:将一个或多个用户定义的标签映射到 SEMANTIC_CATEGORY 系统标签。
请参阅 标签映射。
custom_classifiersOBJECT
可选:指定自动分类数据时使用的 自定义分类器。
对象中的每个键都指定了 CUSTOM_CLASSIFIER 类 实例的名称。
每个键的值指定了自定义分类器实例的 custom_classifier!LIST 方法。
enable_tag_based_sensitive_data_exclusionBOOLEAN
FALSE
可选:当
TRUE时,带有 SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION 系统标签的对象将被排除在自动分类之外。当
FALSE时,将禁用基于标签的敏感数据排除,并且无论系统标签如何,所有对象都会被分类。For more information, see 从自动敏感数据分类中排除数据.
classify_viewsBOOLEAN
FALSE
可选:当
FALSE时,视图将被排除在敏感数据分类之外。当TRUE时,视图将与表一起自动分类。
标签映射¶
将一个或多个用户定义的标签映射到 SEMANTIC_CATEGORY 系统标签的 OBJECT。
'column_tag_map': [ ... ]具有以下键值对的对象数组:
'tag_name': 'string'标签的完全限定名称。
有关更多信息,请参阅 标识符要求。
'tag_value':'string'标签的字符串值。
可选:如果未指定,则还必须省略
semantic_categories键。如果省略,tag_name标签将应用于 SEMANTIC_CATEGORY 系统标签所应用的每一列,且用户定义的标签值将与 SEMANTIC_CATEGORY 标签值相匹配。'semantic_categories': [ 'category' [ , 'category' ... ] ]SEMANTIC_CATEGORY 系统标签的 类别 逗号分隔列表。
tag_name用户定义标签映射到实例,其中 SEMANTIC_CATEGORY 标签的值是指定的类别之一。可选:如果未指定,则还必须省略
tag_value键。如果省略,tag_name标签将应用于 SEMANTIC_CATEGORY 系统标签所应用的每一列,且用户定义的标签值将与 SEMANTIC_CATEGORY 标签值相匹配。
访问控制要求¶
权限/角色 |
对象 |
|---|---|
CLASSIFICATION_ADMIN 数据库角色 |
不适用 |
CREATE SNOWFLAKE.DATA_PRIVACY.CLASSIFICATION_PROFILE 权限 |
架构 |
The USAGE privilege on the parent database and schema are required to perform operations on any object in a schema. Note that a role granted any privilege on a schema allows that role to resolve the schema. For example, a role granted CREATE privilege on a schema can create objects on that schema without also having USAGE granted on that schema.
有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色。
方法¶
您可以对您创建的 CLASSIFICATION_PROFILE 类实例调用以下方法:
使用说明¶
Executing a CREATE OR REPLACE command removes the classification profile from all databases and schemas, which turns off automatic classification.
要通过其非限定名称引用该类,请在 搜索路径 中包含该类的数据库和架构。
如果同一个标签和语义类别映射到两个不同的值,那么
column_tag_map中对象顺序决定了要在列上设置的标签和字符串值。按优先级从高到低排列column_tag_map数组。
示例¶
Create an instance and specify basic criteria to automatically classify tables in a database:
CREATE OR REPLACE SNOWFLAKE.DATA_PRIVACY.CLASSIFICATION_PROFILE
my_classification_profile(
{
'minimum_object_age_for_classification_days': 0,
'maximum_classification_validity_days': 30,
'auto_tag': true,
'classify_views': true
});
创建一个实例并指定将标签映射到单个标签:
CREATE SNOWFLAKE.DATA_PRIVACY.CLASSIFICATION_PROFILE my_classification_profile(
{
'minimum_object_age_for_classification_days':0,
'auto_tag':true,
'tag_map':{
'column_tag_map':[
{
'tag_name':'tag_db.sch.pii'
}
]
}
}
);
创建一个实例并指定将标签映射到不同的标签值:
CREATE OR REPLACE SNOWFLAKE.DATA_PRIVACY.CLASSIFICATION_PROFILE
my_classification_profile(
{
'minimum_object_age_for_classification_days':0,
'auto_tag':true,
'tag_map': {
'column_tag_map':[
{
'tag_name':'test_ac_db.test_ac_schema.pii',
'tag_value':'important',
'semantic_categories':['NAME']
},
{
'tag_name':'test_ac_db.test_ac_schema.pii',
'tag_value':'pii',
'semantic_categories':['EMAIL','NATIONAL_IDENTIFIER']
}
]
}
}
);
创建一个实例并为自动分类过程指定自定义分类器:
CREATE SNOWFLAKE.DATA_PRIVACY.CLASSIFICATION_PROFILE my_classification_profile(
{
'minimum_object_age_for_classification_days':0,
'auto_tag':true,
'custom_classifiers': {
'medical_codes': medical_codes!list(),
'finance_codes': finance_codes!list()
}
}
);