本文您介绍MaxCompute安全功能的启用方法。
您可以通过项目空间的安全配置、项目空间的数据保护、列级别访问控制启用MaxCompute的安全功能。
设置数据流出保护机制(ProjectProtection)
操作类型 | 说明 |
---|---|
操作描述 | 设置数据流出保护机制避免项目批量数据下载到本地电脑,出现批量数据泄露风险。 |
操作角色 | 项目空间所有者(Project Owner)。 |
查看现状 | 执行命令: show SecurityConfiguration;,查看当前ProjectProtection设置是否为True。 |
操作设置 | 设置ProjectProtection机制,默认为False。设置方法如下:
开启后由于部分公共账号或个人用户需要数据流出权限,根据需要可设置Exception例外策略(白名单)。 以下情形建议配置Exception策略:
对于数据可互通的项目空间可以通过项目互信的方式确保数据顺利流转。添加项目互信的方式有以下几种:
未添加TrustedProject的项目需要申请本项目数据时,以Package方式授权。 |
回退操作 |
关闭ProjectProtection机制: SET ProjectProtection=false;。 移除TrustedProject:remove trustedproject <projectname>;。 |
开启Label Security(列级安全控制)
基于标签的安全(LabelSecurity)是项目空间级别的一种强制访问控制策略(Mandatory Access Control, MAC),它能让项目空间管理员更灵活地控制用户对列级别敏感数据的访问。
操作类型 | 说明 |
---|---|
操作描述 | 打开LabelSecurity确保字段级别安全控制生效, 项目空间中的LabelSecurity安全机制默认是关闭的。 |
操作角色 | 项目空间的所有者(Project Owner)。 |
查看现状 | 执行命令:show SecurityConfiguration;,查看当前ProjectProtection设置是否为True。 |
操作设置 | 开启LabelSecurity机制:Set LabelSecurity=true;,默认为False。 |
回退操作 | 关闭LabelSecurity机制:Set LabelSecurity=false; 。操作前,需要确认本项目空间是否为其它项目空间赋于了本项目空间里表的Label权限。 |
设置字段的Label
操作类型 | 说明 |
---|---|
操作描述 | MaxCompute数据的敏感性可以分为0~4级。所有数据表均可以设置安全等级,避免数据表出现不合理授权访问情形。 |
查看现状 | 您可以通过以下两种方式查看MaxCompute表字段的等级:
|
操作设置 | 您可以通过以下两种方式为表字段设置安全级别:
|
回退操作 | 将安全等级调整回原来等级。
说明 字段安全等级的上调,会导致原有的授权失效(涉及package授权、生产账号和个人账号)。因此,调整前必须通知受影响用户。
|
设置访问Project的IP白名单
操作类型 | 说明 |
---|---|
操作描述 | 设置IP白名单,指定白名单列表中的IP(客户端或者SDK所在的出口IP)能够访问这个项目空间。
说明
|
操作角色 | 项目空间的所有者(Project Owner)。 |
查看现状 |
通过客户端执行命令: setproject;,查看odps.security.ip.whitelist=;的字段信息。若等号后面为空,则表示未设置白名单列表。 |
操作设置 |
设置前,请在白名单列表中加上自己当前机器IP,以免将自己屏蔽。 通过客户端执行命令: setproject odps.security.ip.whitelist=xxx.xxx.xxx.xxx,xxx.xxx.x.x/xx,xxx.xxx.xxx.xxx-xxx.xxx.xxx.xxx;。 白名单中IP列表的表示形式有以下三种,目前已支持IPV6格式。
设置完IP白名单后,您需要等待五分钟后才会生效。如果您需更精细化管理,也可以通过Policy授权。 |
回退操作 | 清空IP白名单的命令为:setproject odps.security.ip.whitelist=; 。IP白名单清空后,MaxCompute会认为项目空间关闭了白名单功能。 |
禁止DataWorks的select结果下载到本地
操作类型 | 说明 |
---|---|
描述 | 开发者通过DataWorks进行数据分析,通常会屏显在IDE上并且可以下载结果。项目空间设置ProjectProtection为True后,在本项目空间中只要有表的读取权限,依然可以通过DataWorks执行SELECT后进行结果下载。 |
操作角色 | DataWorks管理员。 |
查看现状 | 在DataWorks工作空间列表页面,单击工作空间后的工作空间配置,查看能下载Select结果属性是否打开。 |
操作设置 | 在DataWorks工作空间列表页面,单击工作空间后的工作空间配置,关闭能下载Select结果开关。 |
回退操作 | 在DataWorks工作空间列表页面,单击工作空间后的工作空间配置,打开能下载Select结果开关。 |
通过其它云服务提高安全管理等级
使用MaxCompute过程中,会关联使用到其他的云服务,因此也需要考虑通过其他云服务提高MaxCompute的安全管理。通过DataWorks使用MaxCompute时,添加项目成员一定会用到RAM子账号,以下为您介绍如何在RAM子账号服务上提高安全管理等级。
MaxCompute的用户认证支持云账号和RAM账两种账号体系。对于RAM账号,仅识别账号体系不识别RAM权限体系,即可将主账号自身的任意RAM子账号加入MaxCompute 的某一个项目中。MaxCompute在对该RAM子账号做权限验证时,并不会考虑RAM中的权限定义。因此,您只需要从RAM子账号登录验证入手进行安全控制。
- 子账号密码强度设置
如果您允许子账号用户更改登录密码,则应该要求子账号用户创建强密码并且定期轮换。
您可以通过RAM控制台设置密码策略,如最短长度、是否需要非字母字符、是否必须进行轮换的频率等。 - 子账号登录掩码设置
通过设置网络掩码决定哪些IP地址会受到登录控制台的影响,子用户必须只能从指定的IP地址进行登录。
- 及时撤销用户不再需要的权限
当一个子账号对应的用户由于工作职责变更而不再使用权限时,您应及时将对应子账号的权限撤销。