用户是访问控制的一种身份,由账号(也称主账号)或是拥有权限的用户创建。用户被授予策略后,可登录控制台或使用访问密钥(Access Key)调用 API 访问云资源。每个主账号可以创建多个子用户,并为不同的子用户授予不同的权限,以此管理账号下不同身份对云资源的访问权限。本文介绍如何为子用户设置使用 veDB MySQL 服务的相关权限。
独立管理资源:为不同业务创建不同子用户,通过子用户访问不同业务所属的资源。
安全问题:使用子用户的 AK/SK 调用 OpenAPI 接口,可有效避免主账号 AK/SK 的泄露风险。
策略是对权限的一种描述,IAM 用户、用户组或角色均需通过关联策略来赋予权限。策略中可定义操作范围、资源范围和权限生效条件,具体可参考策略语法结构。IAM 支持两种类型的策略:系统预设策略和自定义策略。
说明
若需要使用子用户访问 veDB MySQL 服务的相关内容,至少需要为子用户赋予系统预设策略中的云数据库 veDB MySQL 版、私有网络、云监控服务的管理或只读权限,以及下文中自定义的策略。
私有网络、云监控和下文中自定义的策略,只能为子用户在全局范围内添加该权限,不可添加为项目权限。
系统预设策略:是由火山引擎创建和管理的一些常见的权限集合,粒度较粗。系统预设策略只能用于授权,不可编辑和修改。
关联服务 | 策略名称 | 说明 |
---|---|---|
火山引擎中所有支持 IAM 的产品 | AdministratorAccess | 包含全部支持 IAM 的产品的管理权限,例如包含 ECSFullAccess、VPCFullAccess、IAMFullAccess、CloudMonitorFullAccess 等。 注意 拥有 |
云数据库 veDB MySQL 版 | VedbMysqlFullAccess | 云数据库 veDB MySQL 版全部管理权限。添加此权限后,用户会拥有策略作用范围内云数据库 veDB MySQL 版的读写权限,如创建实例、删除实例、变更实例配置等。 |
VedbMysqlReadOnlyAccess | 云数据库 veDB MySQL 版只读访问权限。添加此权限后,用户可以查看策略作用范围内 veDB MySQL 实例。 | |
私有网络 | VPCFullAccess | 私有网络(VPC)的全部管理权限。添加此权限后,用户会拥有策略作用范围内私有网络的读写权限,如创建私有网络,为 veDB MySQL 实例绑定私有网络或子网等。 |
VPCReadOnlyAccess | 私有网络(VPC)的只读访问权限。添加此权限后,用户可以查看策略作用范围内 veDB MySQL 实例的私网和子网信息。 | |
云监控 | CloudMonitorFullAccess | 云监控(CloudMonitor)的全部管理权限。添加此权限后,用户会拥有策略作用范围内 veDB MySQL 实例的监控告警的读写权限,如查看实例的监控数据、为实例添加告警策略等。 |
CloudMonitorReadOnlyAccess | 云监控(CloudMonitor)的只读访问权限。添加此权限后,用户可以查看策略作用范围内 veDB MySQL 实例的监控数据。 | |
(可选)数据库工作台 | DbwFullAccess | 数据库工作台 DBW 全部管理权限。添加此权限后,用户会拥有策略作用范围内数据库工作台的读写权限,如使用数据交互台功能,使用观测诊断功能等。 说明 拥有 |
自定义策略:手动创建的更精细化的描述对资源管理的权限集合,当系统预设策略不能满足要求时,您可以创建自定义策略,对权限进行细粒度的定义。操作详情请参见新建自定义策略。
为了能够正常使用 veDB MySQL 服务,您还需要为子用户在全局权限中赋予以下自定义权限。
使用主账号登录云数据库 veDB MySQL 版控制台,并在右上角个人中心,单击访问控制。
在访问控制 > 策略管理页面,单击新建自定义策略,并选择 JSON编辑器,分别复制以下内容至编辑器中,单击提交。
管理权限(策略名称:VedbMysql_Full)
{ "Statement": [ { "Effect": "Allow", "Action": [ "vedbm:DescribeRegions", "vedbm:DescribeAvailabilityZones", "vedbm:CancelScheduleEvents", "vedbm:DescribeScheduleEvents", "vedbm:ModifyScheduleEvents", "vedbm:ModifyAllowList", "vedbm:DescribeAllowListDetail", "vedbm:DeleteAllowList", "vedbm:DescribeAllowLists", "vedbm:CreateAllowList", "vedbm:ListDeletedClusterBaseInfos", "vedbm:ListDedicatedStoragePools", "vedbm:DescribeDBInstanceSpecs", "vedbm:DescribeDBInstancePriceDetail", "vpc:DescribeSubnetAttributes", "vpc:DescribeEipAddresses" ], "Resource": [ "*" ] } ] }
只读权限(策略名称:VedbMysql_ReadOnly)
{ "Statement": [ { "Effect": "Allow", "Action": [ "vedbm:DescribeRegions", "vedbm:DescribeAvailabilityZones", "vedbm:DescribeScheduleEvents", "vedbm:DescribeAllowListDetail", "vedbm:DescribeAllowLists", "vedbm:ListDeletedClusterBaseInfos", "vedbm:ListDedicatedStoragePools", "vedbm:DescribeDBInstanceSpecs", "vedbm:DescribeDBInstancePriceDetail", "vpc:DescribeSubnetAttributes", "vpc:DescribeEipAddresses" ], "Resource": [ "*" ] } ] }
选择策略后,可根据需要为子用户指定策略的生效范围:
全局权限:添加全局权限后,用户获得的权限策略对账号内所有项目(包括未来新增项目)生效。
项目权限:添加项目权限后,用户获得的权限策略仅对指定项目内的资源生效。
使用主账号登录云数据库 veDB MySQL 版控制台,并在右上角个人中心,单击访问控制。
在访问控制 > 身份管理 > 用户页面,单击新建用户。
在创建用户页面,选择创建用户的方式,并填写基本信息。
在权限设置向导页中,为该用户设置权限策略和作用范围,并提交。
授予权限类型 | 权限策略 |
---|---|
管理权限 | 若需要让子用户拥有 veDB MySQL 的管理权限,您需要为子用户授予以下权限。
|
只读权限 | 若需要让子用户拥有 veDB MySQL 的只读权限,您需要为子用户授予以下权限。
|
说明
子用户创建成功后,您也可以随时修改其权限策略,操作详情请参见管理用户。
(可选)为子用户创建 AK/SK。关于创建 AK/SK的详细信息,请参见 Access Key(密钥) 管理。