云服务器内容精选

  • 自动化运维自定义策略样例 示例:拒绝用户对服务卡片进行上下架操作 拒绝策略需要同时配合其他策略使用,否则没有实际作用。用户被授予的策略中,一个授权项的作用如果同时存在Allow和Deny,则遵循Deny优先。 如果您给用户授予CMS FullAccess的系统策略,但不希望用户拥有CMS FullAccess中定义的卡片上下架权限,您可以创建一条拒绝上下架操作的自定义策略,然后同时将CMS FullAccess和拒绝策略授予用户,根据Deny优先原则,则用户可以对自动化运维执行除了卡片上下架外的所有操作。拒绝策略示例如下: { "Version": "1.1", "Statement": [ { "Effect": "Deny", "Action": [ "cms:toolmarket:update" ], } ] }
  • URI GET /v5/{project_id}/agency/permissions 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户在某一Region下的Project ID。 获取方法请参见获取项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 source_type 否 String 源库类型。 mysql:MySQL sqlserver:Microsoft SQL Server postgresql:PostgreSQL mongodb:MongoDB、DDS dws: GaussDB (DWS) oracle:Oracle taurus:GaussDB(for MySQL) ddm:DDM kafka:Kafka gaussdbv5:GaussDB分布式版 gaussdbv5ha:GaussDB主备版 gaussmongodb:GeminiDB Mongo elasticsearch: CSS /ES db2:DB2 tidb:TiDB redis:Redis rediscluster:Redis集群 gaussredis:GeminiDB Redis mariadb:MariaDB informix:Informix dynamo:Dynamo target_type 否 String 目标库类型。 mysql:MySQL sqlserver:Microsoft SQL Server postgresql:PostgreSQL mongodb:MongoDB、DDS dws:GaussDB(DWS) oracle:Oracle taurus:GaussDB(for MySQL) ddm:DDM kafka:Kafka gaussdbv5:GaussDB分布式版 gaussdbv5ha:GaussDB主备版 gaussmongodb:GeminiDB Mongo elasticsearch: CS S/ES db2:DB2 tidb:TiDB redis:Redis rediscluster:Redis集群 gaussredis:GeminiDB Redis mariadb:MariaDB informix:Informix dynamo:Dynamo is_non_dbs 是 Boolean 是否自建。
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 发送的实体的MIME类型。推荐用户默认使用application/json,如果API是对象、镜像上传等接口,媒体类型可按照流类型的不同进行确定。 缺省值:application/json X-Auth-Token 是 String 从 IAM 服务获取的用户Token。 用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 X-Language 否 String 请求语言类型。 缺省值:en-us 枚举值: en-us zh-cn
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 common_permissions Array of strings DRS FullAccess: 数据复制服务 所有权限 engine_permissions Array of strings GaussDB ReadOnlyAccess:云数据库 GaussDB服务的只读访问权限。 GeminiDB ReadOnlyAccess:分布式多模NoSQL数据库服务只读权限。 GaussDBforMSQLReadOnlyAccess:云数据库HUAWEIGaussDBforMSQL服务的只读访问权限。 DWS ReadOnlyAccess: 数据仓库 服务只读权限。 DDM ReadOnlyAccess: 分布式数据库 中间件服务只读权限。 DDS ReadOnlyPolicy:文档数据库服务资源只读权限。 RDS ReadOnlyAccess:关系型数据库服务资源只读权限。 MRS ReadOnlyAccess: MapReduce服务 只读权限,包括集群查询操作、基础服务弹性云服务器、裸金属服务器、云硬盘、虚拟私有云只读权限。
  • 问题排查 可能原因:管理员授予IAM用户所在用户组的权限不正确。 解决方法:管理员确认并修改授予IAM用户所在用户组的权限,方法请参考:修改用户组权限,权限详情请参考:系统权限。 可能原因:管理员授予的权限已拒绝相关操作的授权项。 解决方法:管理员查看已授予IAM用户的系统权限详情,确认已授予的权限是否有拒绝操作的语句,方法请参考策略语法。如系统权限无法满足您的场景需要,管理员可以创建自定义策略,允许该操作对应的授权项,方法请参考:创建自定义策略。 可能原因:管理员给用户组授予权限后,忘记将IAM用户添加至用户组中。 解决方法:管理员将IAM用户添加至用户组中,方法请参见:用户组添加用户。 可能原因:对于区域级服务,管理员没有在对应的区域进行授权。 解决方法:管理员在对IAM所在用户组授权时,选择对应的区域。如果管理员授予用户默认区域项目的权限,用户只能访问该默认项目中的资源,不拥有该默认项目下IAM子项目的权限,建议您授予IAM用户最小区域权限,方法请参见:给用户组授权。 可能原因:对于区域级服务,IAM用户登录控制台后,没有切换到授权区域。 解决方法:IAM用户访问区域级服务时,请切换至授权区域,方法请参见:切换区域。 可能原因:管理员授予的OBS权限由于系统设计的原因,授权后需等待15-30分钟才可生效。 解决方法:请IAM用户和管理员等待15-30分钟后重试。 可能原因:您所属账号已欠费,无法使用该资源。 解决方法:请管理员在“费用中心”确认账单并充值,方法请参见:账户充值。 可能原因:浏览器缓存导致权限信息未更新。 解决方法:请清理浏览器缓存后重试。 可能原因:该服务可能提供独立权限控制,如软件开发生产线 CodeArts、 对象存储服务 OBS。 解决方法:请查看对应服务帮助文档,并授予用户对应权限。如CodeArts各角色的权限是怎样的、OBS权限控制概述。 可能原因:管理员同时在IAM和企业管理给用户授权,基于企业项目管理权限可能不生效。IAM鉴权优先于企业管理,如IAM用户同时拥有所有资源的ECS ReadOnlyAccess、企业项目A的ECS ReadOnlyAccess权限,用户可以查看所有ECS资源。 解决方法:请管理员根据情况在IAM控制台修改用户权限。
  • 授权 为了保证各类数据的安全性,满足用户自定义开发数据对象或功能授权的需求,xDM-F提供基于数据对象和操作的授权功能。您可以通过授权功能将参与者、搜索服务定义/具有“权限管理”功能的数据模型及操作类型进行关联,并将这组关系配置到策略集,提升模型维护效率,方便用户维护系统权限、数据流转等操作。 根据授权维度的不同,xDM-F的授权分为静态授权和动态授权。 表2 授权类型 类型 说明 静态授权 即实体授权,是对搜索服务定义/具有“权限管理”功能的数据模型的权限处理,基于数据模型维度所设置的权限,将影响至此数据模型所有的 数据实例 。 更多关于实体授权的操作请参见授权。 动态授权 即实例授权,是对具有“权限管理”功能的数据实例的精细化权限处理,可以为参与者基于某一个确定的数据实例进行权限设置,常见于工作流审批等需要临时为参与者设置数据权限等场景。 更多关于实例授权的操作请参见管理数据实例授权。
  • 策略集 策略集是一个容器,是您创建的参与者、数据模型、权限规则和操作类型相互关联的权限策略集合。当应用进行鉴权时,系统将在您指定的策略集中寻找权限策略,来确定参与者是否具有相应权限。更多关于策略集的操作请参见策略集。 xDM-F内置的“adhoc”和“function”策略集不允许编辑、删除或添加子策略集。 此外,文件夹具有策略集继承的功能,子文件夹的策略集可以继承父文件夹的策略集,也可以自定义。更多关于文件夹的操作请参见文件夹。
  • 参与者 参与者一般指的是在系统之外与系统交互的某人或某角色,在xDM-F中,参与者指的是对搜索服务定义、“权限管理”功能的数据模型与其数据实例等操作的某人或某角色。xDM-F当前提供如表1所示的参与者类型。 表1 参与者类型 类型 说明 团队角色 指一个人在团队中某一职位上应该承担的责任,例如某业务团队的业务经理、业务组长、业务人员和业务代表。 一个团队可以引用多个团队角色,一个团队角色可以被多个团队引用。 只有被引用的团队角色才可以在团队中为该团队角色添加角色成员。 群组 指将用户按照子公司、部门、项目等维度划分为不同的群组,使群组下的全部用户获得相应的权限,方便统一权限管理。 全局角色 指用于管理xDM-F全局功能的操作权限或者某个子模块最高权限的角色,例如超级管理员、系统管理员、安全管理员、质量管理员、数据源管理员等。 虚拟角色 xDM-F在团队角色中预置了所有人、拥有者和团队成员三种虚拟角色。 所有人:指应用下的所有用户,即“XDMUser”数据实体的所有数据实例。 拥有者:指数据实例的所有者,即创建某个数据实例时指定的所有者。 团队成员:指某个团队下的某个用户。例如某医院的护士团队、急诊医生团队、外科医生团队等,每个团队中均存在临时员工。此时,您可以通过该虚拟角色动态授权/鉴权。 用户 指应用下的个体成员,即“XDMUser”数据实体创建的数据实例。
  • 示例场景 如果用户需要访问成本中心的所有操作权限,请授予“BSS Administrator”权限。 如果用户仅需要查看成本中心的成本数据权限,请授予“BSS ReadonlyAccess”权限。 如果用户想要查看成本分析数据,下载分析结果等财务相关的权限,请授予“BSS FinanceAccess”权限。 如果想要对用户权限做更细粒度的限制,可以创建自定义策略。自定义策略的授权项(Action)说明请参考表3。
  • 示例流程 图1 给用户授权流程 创建用户组并授权 在IAM控制台创建用户组,并授予成本中心所有操作权限“BSS Administrator”。 创建用户并加入用户组 在IAM控制台创建用户,并将其加入1中创建的用户组。 用户登录并验证权限 新创建的用户登录成本中心,验证是否具有导出成本明细的权限。 在“成本分析”页面单击“导出成本明细”,验证是否可以导出成功。如果导出成功,表示“BSS Administrator”已生效。
  • UGO自定义策略样例 示例1:授权用户创建评估项目 { "Version": "1.1", "Statement": [{ "Action": ["ugo:evaluationJob:create"] "Effect": "Allow", }] } 示例2:拒绝用户删除评估项目 拒绝策略需要同时配合其他策略使用,否则没有实际作用。用户被授予的策略中,一个授权项的作用如果同时存在Allow和Deny,则遵循Deny优先。 如果您给用户授予UGO FullAccess的系统策略,但不希望用户拥有UGO FullAccess中定义的删除评估项目,您可以创建一条拒绝删除云服务的自定义策略,然后同时将UGO FullAccess和拒绝策略授予用户,根据Deny优先原则,则用户可以对评估项目执行除了删除评估项目外的所有操作。拒绝策略示例如下: { "Version": "1.1", "Statement": [{ "Action": ["ugo:evaluationJob:delete"], "Effect": "Deny" }] }
  • 示例流程 图1 给用户授予云连接权限流程 创建用户组并授权 在IAM控制台创建用户组,并授予云连接服务权限“Cross Connect Administrator”。 创建用户并加入用户组 在IAM控制台创建用户,并将其加入1中创建的用户组。 用户登录并验证权限 新创建的用户登录控制台,切换至授权区域,验证权限: 在“服务列表”中选择“网络 > 云连接”,进入云连接的页面,单击右上角“创建云连接”,尝试创建云连接实例,如果创建成功,表示“Cross Connect Administrator”已生效。 在“服务列表”中选择除云连接服务外(假设当前权限仅包含Cross Connect Administrator)的任一服务,如果提示权限不足,表示“Cross Connect Administrator”已生效。
  • 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的权限与委托 图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计算任务执行过程中需要访问其他云服务,此动作需要获得用户的委托授权。