使用数据管理DMS访问RDS数据库,对应的授权Action是”dms:LoginDatabase”
例1:授权子账号登录指定RDS
{
"Statement": [
{
"Action": "dms:LoginDatabase",
"Effect": "Allow",
"Resource": "acs:rds:*:*:dbinstance/rds783a0639ks5k7328y"
}
],
"Version": "1"
}
例2:授权子账号登录全部RDS
选择授权策略:AliyunRDSFullAccess
或者
{
"Statement": [
{
"Action": "dms:LoginDatabase",
"Effect": "Allow",
"Resource": "acs:rds:*:*:*"
}
],
"Version": "1"
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
您提供的信息是正确的。在阿里云中,如果您想通过数据管理服务(Data Management Service, DMS)来访问或管理RDS(Relational Database Service)数据库,确实需要给子账号相应的授权。这里有两个例子说明了如何进行授权:
{
"Statement": [
{
"Action": "dms:LoginDatabase",
"Effect": "Allow",
"Resource": "acs:rds:*:*:dbinstance/rds783a0639ks5k7328y"
}
],
"Version": "1"
}
在这个例子中,Action
设置为dms:LoginDatabase
,表示允许执行登录数据库的操作。Effect
设为Allow
表明这是一个允许的操作。Resource
字段具体指定了可以访问的RDS实例ID,格式为acs:rds:*:*:dbinstance/实例ID
,其中星号代表所有区域和所有账号,最后是具体的实例ID。这样配置后,该子账号只能登录到这个特定的RDS实例。
直接在阿里云控制台的安全与合规(如RAM)部分,给子账号应用预定义的策略AliyunRDSFullAccess
。这个策略通常包含了对RDS的全面访问权限,包括但不限于登录、读写数据等操作。适用于需要全面管理所有RDS实例的场景。
{
"Statement": [
{
"Action": "dms:LoginDatabase",
"Effect": "Allow",
"Resource": "acs:rds:*:*:*"
}
],
"Version": "1"
}
这个自定义策略同样允许dms:LoginDatabase
操作,但这里的Resource
使用了通配符*
,意味着允许访问所有区域下所有账号的所有RDS实例。这相当于给予了子账号登录任何RDS实例的权限。
请根据实际需求选择合适的授权方式,并注意权限最小化原则,仅授予完成工作所必需的最小权限,以保障账户安全。