云服务器内容精选
-
示例流程 图1 给用户授权流程 创建用户组并授权 在 IAM 控制台创建用户组,并授予只读权限“RDS ReadOnlyAccess”。 如果需要使用到对接其他服务的一些功能时,除了需要配置“RDS ReadOnlyAccess”权限外,还需要配置对应服务的权限。 创建用户并加入用户组 用户登录并验证权限 新创建的用户登录控制台,切换至授权区域,验证权限: 在“服务列表”中选择“云数据库 RDS”,进入主界面,单击右上角“购买数据库实例”,尝试购买数据库,如果无法购买数据库(假设当前权限仅包含RDS ReadOnlyAccess),表示“RDS ReadOnlyAccess”已生效。 在“服务列表”中选择除“云数据库 RDS”外(假设当前策略仅包含RDS ReadOnlyAccess)的任一服务,若提示权限不足,表示“RDS ReadOnlyAccess”已生效。
-
权限概述 权限表示用户访问某个数据库对象(包括模式、表、函数、序列等)的操作(包括增、删、改、查、创建等)是否被允许。 GaussDB (DWS)中的权限管理分为三种场景: 系统权限 系统权限又称为用户属性,包括SYSADMIN、CREATEDB、CREATEROLE、AUDITADMIN和 LOG IN。 系统权限一般通过CREATE/ALTER ROLE语法来指定。其中,SYSADMIN权限可以通过GRANT/REVOKE ALL PRIVILEGE授予或撤销。但系统权限无法通过ROLE和USER的权限被继承,也无法授予PUBLIC。 数据对象权限 将数据库对象(表和视图、指定字段、数据库、函数、模式等)的相关权限授予特定角色或用户。GRANT命令将数据库对象的特定权限授予一个或多个角色。这些权限会追加到已有的权限上。 用户权限 将一个角色或用户的权限授予一个或多个其他角色或用户。在这种情况下,每个角色或用户都可视为拥有一个或多个数据库权限的集合。 当声明了WITH ADMIN OPTION,被授权的用户可以将该权限再次授予其他角色或用户,以及撤销所有由该角色或用户继承到的权限。当授权的角色或用户发生变更或被撤销时,所有继承该角色或用户权限的用户拥有的权限都会随之发生变更。 数据库系统管理员可以给任何角色或用户授予/撤销任何权限。拥有CREATEROLE权限的角色可以赋予或者撤销任何非系统管理员角色的权限。
-
角色 GaussDB(DWS)的权限管理模型,是一种典型的RBAC(基于角色的权限控制)的实现。其将用户、角色、权限通过此模型管理起来。 角色是一组权限的集合。 “用户”概念和“角色”概念实际是等同的,唯一的区别在于“用户”拥有login权限,而“角色”拥有nologin权限。 按照数据库系统中承担的责任划分具有不同权限的角色。角色是数据库权限的集合,代表了一个数据库用户、或一组数据用户的行为约束。 角色和用户可以转换,通过ALTER将角色拥有登录权限。 通过GRANT把角色授予用户后,用户即具有了角色的所有权限。推荐使用角色进行高效权限分配。例如,可以为设计、开发和维护人员创建不同的角色,将角色GRANT给用户后,再向每个角色中的用户授予其所需数据的差异权限。在角色级别授予或撤销权限时,这些权限更改会对角色下的所有成员生效。 非三权分立时,只有系统管理员和具有CREATEROLE属性的用户才能创建、修改或删除角色。三权分立下,只有具有CREATEROLE属性的用户才能创建、修改或删除角色。 要查看所有角色,请查询系统表PG_ROLES: 1 SELECT * FROM PG_ROLES; 具体的创建,修改和删除角色操作,可参考《SQL语法参考》中“CREATE ROLE/ALTER ROLE/DROP ROLE”章节。
-
层级权限管理 GaussDB(DWS)通过Database、Schema和数据对象权限实现层级权限管理。 Database之间无法直接互访,通过连接隔离实现彻底的权限隔离。各个Database之间共享资源极少,可实现连接隔离、权限隔离等。数据库集群包含一个或多个已命名数据库。用户和角色在整个集群范围内是共享的,但是其数据并不共享。即用户可以连接任何数据库,但当连接成功后,任何用户都只能访问连接请求里所声明的数据库。 Schema隔离的方式共用资源较多,可以通过GRANT与REVOKE语法便捷地控制不同用户对各Schema及其下属对象的权限,从而赋给业务更多的灵活性。每个数据库包括一个或多个Schema。每个Schema包含表、函数等其他类型的对象。用户要访问包含在指定Schema中的对象,需要被授予Schema的USAGE权限。 对象创建后,默认只有对象所有者或者系统管理员可以查询、修改和删除对象。其他用户要访问包含具体的数据库对象,例如table1,需要首先被授予database的CONNECT权限,再被授予Schema的USAGE权限,最后授予table1的SELECT权限。用户要访问底层的对象,必须先赋予上层对象的权限。比如用户要创建或者删除Schema,需要首先被授予database的CREATE权限; 图1 层级权限管理
-
预置角色 GaussDB(DWS)提供了一组预置角色,以“gs_role_”开头命名,提供对特定的、通常需要高权限的操作的访问,可以将这些角色授权予数据库中的其他用户或角色,使这些用户能够访问或使用特定的信息和功能。请谨慎使用预置角色,以确保预置角色权限的安全使用。 预置角色允许的权限范围可参考下表: 表1 预置角色允许的权限范围 角色 权限描述 gs_role_signal_backend 具有调用函数pg_cancel_backend、pg_terminate_backend、pg_terminate_query、pg_cancel_query、pgxc_terminate_query、pgxc_cancel_query来取消或终止其他会话的权限,但不能操作属于初始用户的会话。 gs_role_read_all_stats 读取系统状态视图并且使用与扩展相关的各种统计信息,包括有些通常只对系统管理员可见的信息。包括: 资源管理类: pgxc_wlm_operator_history pgxc_wlm_operator_info pgxc_wlm_operator_statistics pgxc_wlm_session_info pgxc_wlm_session_statistics pgxc_wlm_workload_records pgxc_workload_sql_count pgxc_workload_sql_elapse_time pgxc_workload_transaction 状态信息类: pgxc_stat_activity pgxc_get_table_skewness table_distribution pgxc_total_memory_detail pgxc_os_run_info pg_nodes_memory pgxc_instance_time pgxc_redo_stat gs_role_analyze_any 具有系统级ANALYZE权限类似系统管理员用户,跳过schema权限检查,对所有的表可以执行ANALYZE。 gs_role_vacuum_any 具有系统级VACUUM权限类似系统管理员用户,跳过schema权限检查,对所有的表可以执行VACUUM。 gs_redaction_policy 具有创建、修改、删除脱敏策略的权限,对所有的表都可以执行CREATE | ALTER | DROP REDACTION POLICY。9.1.0及以上集群版本支持。 预置角色的使用约束: 以gs_role_开头的角色名作为数据库的预置角色保留字,禁止新建以“gs_role_”开头的用户/角色,也禁止将已有的用户/角色重命名为以“gs_role_”开头。 禁止对预置角色执行ALTER和DROP操作。 预置角色默认没有LOGIN权限,不设置预置登录密码。 gsql元命令\du和\dg不显示预置角色的相关信息,但若指定了PATTERN(用来指定要被显示的对象名称)则预置角色信息会显示。 三权分立关闭时,系统管理员和具有预置角色ADMIN OPTION权限的用户有权对预置角色执行GRANT/REVOKE管理;三权分立打开时,安全管理员(具有CREATEROLE属性)和具有预置角色ADMIN OPTION权限的用户有权对预置角色执行GRANT/REVOKE管理。例如: 1 2 GRANT gs_role_signal_backend TO user1; REVOKE gs_role_signal_backend FROM user1;
-
权限授予或撤销 数据库对象创建后,进行对象创建的用户就是该对象的所有者。集群安装后的默认情况下,未开启三权分立,数据库系统管理员具有与对象所有者相同的权限。 也就是说对象创建后,默认只有对象所有者或者系统管理员可以查询、修改和删除对象,以及通过GRANT将对象的权限授予其他用户。为使其他用户能够使用对象,可以由对象所有者或管理员通过GRANT/REVOKE对其他用户或角色授予与撤销。 使用GRANT语句授予权限。 例如,将模式myschema的权限赋给角色u1后,将表myschema.t1的SELECT权限授予角色u1。 1 2 GRANT USAGE ON SCHEMA myschema TO u1; GRANT SELECT ON TABLE myschema.t1 to u1; 使用REVOKE撤销已经授予的权限。 例如:撤销用户u1在指定表myschema.t1上的所有权限。 REVOKE ALL PRIVILEGES ON myschema.t1 FROM u1;
-
请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 身份认证信息 最小长度:1 最大长度:16384 表2 请求Body参数 参数 是否必选 参数类型 描述 metadata 是 CreateRuleObjectMeta object 基本信息,为集合类的元素类型,包含一组由不同名称定义的属性。 spec 是 RuleSpec object spec是集合类的元素类型,您对需要管理的对象进行详细描述的主体部分都在spec中给出。U CS 通过spec的描述来创建或更新对象。 表3 CreateRuleObjectMeta 参数 是否必选 参数类型 描述 name 是 String 权限策略名称 最小长度:1 最大长度:63 表4 RuleSpec 参数 是否必选 参数类型 描述 iamuserids 否 Array of strings 权限策略关联的IAM用户信息 type 否 String 权限策略类型,只允许四种类型:readonly/develop/admin/custom contents 否 Array of Content objects 权限策略内容 description 否 String 权限策略描述信息 最小长度:0 最大长度:255 表5 Content 参数 是否必选 参数类型 描述 verbs 否 Array of strings 动作列表 resources 否 Array of strings 资源列表
-
Tenant Guest系统角色说明 如果您已为IAM子账号配置了Tenant Guest系统角色权限时,除了拥有全部云服务只读权限外(除IAM),由于历史原因,还会额外拥有以下KMS相关的操作权限: kms:cmk:create:创建密钥 kms:cmk:createDataKey:创建数据密钥 kms:cmk:createDataKeyWithoutPlaintext:创建不含明文数据密钥 kms:cmk:encryptDataKey:加密数据密钥 kms:cmk:decryptDataKey:解密数据密钥 kms:cmk:retireGrant:退役授权 kms:cmk:decryptData:解密数据 kms:cmk:encryptData:加密数据 kms::generateRandom:生成随机数 如果您想为某个IAM子账号配置Tenant Guest系统角色权限,但不想拥有上述权限,您需要额外为该IAM子用户配置自定义的拒绝策略。配置自定义策略请参考DEW自定义策略。
-
示例流程 图1 给用户授权DEW权限流程 创建用户组并授权 在IAM控制台创建用户组,并授予加密密钥所有权限“KMS CMKFullAccess”。 创建用户并加入用户组 在IAM控制台创建用户,并将其加入1中创建的用户组。 用户登录并验证权限 新创建的用户登录控制台,切换至授权区域,验证权限。 在“服务列表”中选择 数据加密 服务,进入DEW主界面,选择“密钥对管理”,如果提示权限不足,表示“KMS CMKFullAccess”已生效。 在“服务列表”中选择除数据加密服务外的任一服务,如果提示权限不足,表示“KMS CMKFullAccess”已生效。
-
前提条件 给用户组授权之前,请您了解用户组可以添加的DEW权限,并结合实际需求进行选择,DEW支持的系统权限如表 KMS系统策略、表 KPS系统策略、表 C SMS 系统策略所示。 如果您需要对除DEW之外的其它服务授权,IAM支持服务的所有权限请参见系统权限。 表1 KMS系统策略 系统角色/策略名称 描述 类别 依赖关系 KMS Administrator 密钥管理服务(KMS)管理员,拥有该服务下的所有权限。 系统角色 无 KMS CMKFullAccess 密钥管理服务(KMS)的加密密钥所有权限。拥有该权限的用户可以完成基于策略授权的所有操作。 系统策略 无 KMS CMKReadOnlyAccess 密钥管理服务(KMS)的加密密钥只读权限。拥有该权限的用户可以完成基于策略授权的所有操作。 系统策略 无 表2 KPS系统策略 系统角色/策略名称 描述 类别 依赖关系 DEW KeypairFullAccess 数据加密服务中密钥对管理服务(KPS)的所有权限。拥有该权限的用户可以完成基于策略授权的所有操作。 系统策略 无 DEW KeypairReadOnlyAccess 数据加密服务中密钥对管理服务(KPS)的查看权限。拥有该权限的用户仅能查看密钥对管理服务(KPS)数据。 系统策略 无 表3 CSMS系统策略 系统角色/策略名称 描述 类别 依赖关系 CSMS FullAccess 数据加密服务中凭据管理服务(CSMS)的所有权限。拥有该权限的用户可以完成基于策略授权的所有操作。 系统策略 无 CSMS ReadOnlyAccess 数据加密服务中凭据管理服务(CSMS)的只读权限。拥有该权限的用户可以完成基于策略授权的所有操作。 系统策略 无 表4列出了DEW常用操作与系统权限的授权关系,您可以参照该表选择合适的系统权限。 表4 常用操作与系统权限的关系 操作 KMS Administrator KMS CMKFullAccess DEW KeypairFullAccess DEW KeypairReadOnlyAccess 创建密钥 √ √ x x 启用密钥 √ √ x x 禁用密钥 √ √ x x 计划删除密钥 √ √ x x 取消计划删除密钥 √ √ x x 修改密钥别名 √ √ x x 修改密钥描述 √ √ x x 创建随机数 √ √ x x 创建数据密钥 √ √ x x 创建不含明文数据密钥 √ √ x x 加密数据密钥 √ √ x x 解密数据密钥 √ √ x x 获取密钥导入参数 √ √ x x 导入密钥材料 √ √ x x 删除密钥材料 √ √ x x 创建授权 √ √ x x 撤销授权 √ √ x x 退役授权 √ √ x x 查询授权列表 √ √ x x 查询可退役授权列表 √ √ x x 加密数据 √ √ x x 解密数据 √ √ x x 签名消息 √ √ x x 验证签名 √ √ x x 开启密钥轮换 √ √ x x 修改密钥轮换周期 √ √ x x 关闭密钥轮换 √ √ x x 查询密钥轮换状态 √ √ x x 查询密钥实例 √ √ x x 查询密钥标签 √ √ x x 查询项目标签 √ √ x x 批量添加删除密钥标签 √ √ x x 添加密钥标签 √ √ x x 删除密钥标签 √ √ x x 查询密钥列表 √ √ x x 查询密钥信息 √ √ x x 查询公钥信息 √ √ x x 查询实例数 √ √ x x 查询配额 √ √ x x 查询密钥对列表 x x √ √ 创建或导入密钥对 x x √ x 查询密钥对 x x √ √ 删除密钥对 x x √ x 更新密钥对描述 x x √ x 绑定密钥对 x x √ x 解绑密钥对 x x √ x 查询绑定任务信息 x x √ √ 查询失败的任务 x x √ √ 删除所有失败的任务 x x √ x 删除失败的任务 x x √ x 查询正在处理的任务 x x √ √
-
ModelArts权限管理 默认情况下,管理员创建的IAM用户没有任何权限,需要将其加入用户组,并给用户组授予策略,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于授予的权限对云服务进行操作。 ModelArts部署时通过物理区域划分,为项目级服务,授权时“选择授权范围方案”可以选择“指定区域项目资源”,如果授权时指定了区域(如华北-北京4)对应的项目(cn-north-4),则该权限仅对此项目生效;简单的做法是直接选择“所有资源”。 ModelArts也支持企业项目,所以选择授权范围方案时,也可以指定企业项目。具体操作参见《创建用户组并授权》。 IAM在对用户组授权的时候,并不是直接将具体的某个权限进行赋权,而是需要先将权限加入到“策略”当中,再把策略赋给用户组。为了方便用户的权限管理,各个云服务都提供了一些预置的“系统策略”供用户直接使用。如果预置的策略不能满足您的细粒度权限控制要求,则可以通过“自定义策略”来进行精细控制。 表1列出了ModelArts的所有预置系统策略。 表1 ModelArts系统策略 策略名称 描述 类型 ModelArts FullAccess ModelArts管理员用户,拥有所有ModelArts服务的权限 系统策略 ModelArts CommonOperations ModelArts操作用户,拥有所有ModelArts服务操作权限除了管理专属资源池的权限 系统策略 ModelArts Dependency Access ModelArts服务的常用依赖服务的权限 系统策略 通常来讲,只给管理员开通“ModelArts FullAccess”,如果不需要太精细的控制,直接给所有用户开通“ModelArts CommonOperations”即可满足大多数小团队的开发场景诉求。如果您希望通过自定义策略做深入细致的权限控制,请阅读ModelArts的IAM权限控制详解。 ModelArts的权限不会凌驾于其他服务的权限之上,当您给用户进行ModelArts赋权时,系统不会自动对其他相关服务的相关权限进行赋权。这样做的好处是更加安全,不会出现预期外的“越权”,但缺点是,您必须同时给用户赋予不同服务的权限,才能确保用户可以顺利完成某些ModelArts操作。 举例,如果用户需要用OBS中的数据进行训练,当已经为IAM用户配置ModelArts训练权限时,仍需同时为其配置对应的OBS权限(读、写、列表),才可以正常使用。其中OBS的列表权限用于支持用户从ModelArts界面上选择要进行训练的数据路径;读权限主要用于数据的预览以及训练任务执行时的数据读取;写权限则是为了保存训练结果和日志。 对于个人用户或小型组织,一个简单做法是为IAM用户配置“作用范围”为“全局级服务”的“Tenant Administrator”策略,这会使用户获得除了IAM以外的所有用户权限。在获得便利的同时,由于用户的权限较大,会存在相对较大的安全风险,需谨慎使用。(对于个人用户,其默认IAM账号就已经属于admin用户组,且具备Tenant Administrator权限,无需额外操作) 当您需要限制用户操作,仅为ModelArts用户配置OBS相关的最小化权限项,具体操作请参见OBS权限管理。对于其他云服务,也可以进行精细化权限控制,具体请参考对应的云服务文档。
-
严格授权模式 严格授权模式是指在IAM中创建的子账号必须由账号管理员显式在IAM中授权,才能访问ModelArts服务,管理员用户可以通过授权策略为普通用户精确添加所需使用的ModelArts功能的权限。 相对的,在非严格授权模式下,子账号不需要显式授权就可以使用ModelArts,管理员需要在IAM上为子账号配置Deny策略来禁止子账号使用ModelArts的某些功能。 账号的管理员用户可以在“权限管理”页面修改授权模式。 如无特殊情况,建议优先使用严格授权模式。在严格授权模式下,子账号要使用ModelArts的功能都需经过授权,可以更精确的控制子账号的权限范围,达成权限最小化的安全策略。
-
用工作空间限制资源访问 工作空间是ModelArts面向企业用户提供的一个高阶功能,用于进一步将用户的资源划分在多个逻辑隔离的空间中,并支持以空间维度进行访问的权限限定。目前工作空间功能是“受邀开通”状态,作为企业用户您可以通过您对口的技术支持经理申请开通。 在开通工作空间后,系统会默认为您创建一个“default”空间,您之前所创建的所有资源,均在该空间下。当您创建新的工作空间之后,相当于您拥有了一个新的“ModelArts分身”,您可以通过菜单栏的左上角进行工作空间的切换,不同工作空间中的工作互不影响。 创建工作空间时,必须绑定一个企业项目。多个工作空间可以绑定到同一个企业项目,但一个工作空间不可以绑定多个企业项目。借助工作空间,您可以对不同用户的资源访问和权限做更加细致的约束,具体为如下两种约束: 只有被授权的用户才能访问特定的工作空间(在创建、管理工作空间的页面进行配置),这意味着,像数据集、算法等AI资产,均可以借助工作空间做访问的限制。 在前文提到的权限授权操作中,如果“选择授权范围方案”时设定为“指定企业项目资源”,那么该授权仅对绑定至该企业项目的工作空间生效。 工作空间的约束与权限授权的约束是叠加生效的,意味着对于一个用户,必须同时拥有工作空间的访问权和训练任务的创建权限(且该权限覆盖至当前的工作空间),他才可以在这个空间里提交训练任务。 对于已经开通企业项目但没有开通工作空间的用户,其所有操作均相当于在“default”企业项目里进行,请确保对应权限已覆盖了名为default的企业项目。 对于未开通企业项目的用户,不受上述约束限制。
-
理解ModelArts的权限与委托 图1 权限管理抽象 ModelArts与其他服务类似,功能都通过IAM的权限来进行控制。比如,用户(此处指IAM子账号,而非租户)希望在ModelArts创建训练作业,则该用户必须拥有 "modelarts:trainJob:create" 的权限才可以完成操作(无论界面操作还是API调用)。关于如何给一个用户赋权(准确讲是需要先将用户加入用户组,再面向用户组赋权),可以参考IAM的文档《权限管理》。 而ModelArts还有一个特殊的地方在于,为了完成AI计算的各种操作,AI平台在任务执行过程中需要访问用户的其他服务,典型的就是训练过程中,需要访问OBS读取用户的训练数据。在这个过程中,就出现了ModelArts“代表”用户去访问其他云服务的情形。从安全角度出发,ModelArts代表用户访问任何云服务之前,均需要先获得用户的授权,而这个动作就是一个“委托”的过程。用户授权ModelArts再代表自己访问特定的云服务,以完成其在ModelArts平台上执行的AI计算任务。 综上,对于图1 权限管理抽象可以做如下解读: 用户访问任何云服务,均是通过标准的IAM权限体系进行访问控制。用户首先需要具备相关云服务的权限(根据您具体使用的功能不同,所需的相关服务权限亦有差异)。 权限:用户使用ModelArts的任何功能,亦需要通过IAM权限体系进行正确权限授权。 委托:ModelArts上的AI计算任务执行过程中需要访问其他云服务,此动作需要获得用户的委托授权。
-
DNS自定义策略样例 示例1:授权用户创建 域名 ,为域名添加记录集,并支持查看域名以及对应的记录集。 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "dns:zone:create", "dns:recordset:create", "dns:zone:list" "dns:recordset:list" ] }, { "Effect": "Allow", "Action": [ "vpc:*:get*, "vpc:*:list*" ] } ] } 示例2:拒绝用户删除DNS资源 拒绝策略需要同时配合其他策略使用,否则没有实际作用。用户被授予的策略中,一个授权项的作用如果同时存在Allow和Deny,则遵循Deny优先原则。 如果您给用户授予DNS FullAccess的系统策略,但不希望用户拥有DNS FullAccess中定义的删除DNS资源的权限,您可以创建一条拒绝删除DNS资源的自定义策略,然后同时将DNS FullAccess和拒绝策略授予用户,根据Deny优先原则,则用户可以对DNS执行除了删除外的所有操作。拒绝策略示例如下: { "Version": "1.1", "Statement": [ { "Effect": "Deny", "Action": [ "dns:*:delete*" ] } ] } 示例3:多个授权项策略 一个自定义策略中可以包含多个授权项,且除了可以包含本服务的授权项外,还可以包含其他服务的授权项,可以包含的其他服务必须跟本服务同属性,即都是项目级服务或都是全局级服务。多个授权语句策略描述如下: { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "dns:zone:update", "dns:zone:list" ] }, { "Effect": "Allow", "Action": [ "vpc:subnets:create", "vpc:vips:update" ] } ] }
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格