如何为RAM子账号授予单一RDS实例的访问权限?

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云原生数据库 PolarDB 分布式版,标准版 2核8GB
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 在阿里云中,如何为RAM子账号进行精准授权,授予单一RDS实例的访问权限?这篇文档帮到你

问题背景

由于公司权限控制,需要对阿里云RDS MySQL实例的进行资源隔离,即单一RAM子账号只能访问特定的资源,下面我们举一个例子来看看如何处理。



操作流程

1、主账号下有两个RDS实例A和B,我们选其中实例A来赋予RAM子账号独立访问操作的权限

image.png


2、首先我们在RAM访问控制中创建RAM子账号。

image.png

image.png


3、创建自定义权限策略

image.png

image.png

{
  "Statement": [
    {
      "Action": "rds:Describe*",
      "Effect": "Allow",
      "Resource": "acs:rds:*:*:dbinstance/rm-bxxxxxxxxo"
    },
    {
      "Action": "rds:DescribeDBInstances",
      "Effect": "Allow",
      "Resource": "*"
    }
  ],
  "Version": "1"
}

RDS支持policy在resource中指定资源实例ID写法。

image.png


4、授权操作,确认后点击【完成】即可。具体详见为RAM账户授权

image.png

image.png

授权成功。


5、使用对应的RAM账号登录验证:

image.png


6、此时,控制台还是能看到实例B。

image.png


7、访问实例A正常的,由于没有实例B的授权,因此点进实例页面会发现报错:“该实例不存在,请确认实例是否存在或已过期”,这个是因为没有授权导致。

image.png

image.png

这个问题的原因是由于单个实例授权在控制台现在不支持,实例列表页请求本身不带资源ID鉴权不会通过,现在只能支持到acs:rds:*:主账号uid:dbinstance/*这种策略,单一api调用是可以用实例级别的策略。


那能不能进一步优化,隐藏掉未指定的实例?接着往下看

1、首先我们使用主账号回到RAM访问控制>用户页面为RAM账户绑定标签注意:Tag的key和value不要用大写字母。image.png

image.png


2、因为在【资源管理/标签】对应的标签就自动创建了,我们再给实例绑定该标签。

image.png

image.png


3、验证下,按照标签检索

image.png


4、回到前面自定义的授权页面,变更授权

image.png

image.png

参考:权限策略由哪些元素组成_访问控制-阿里云帮助中心


5、变更后:

image.png

文本格式:

{
    "Statement": [
        {
            "Action": "rds:*",
            "Effect": "Allow",
            "Resource": "acs:rds:*:*:*",
            "Condition": {
                "StringEquals": {
                    "rds:ResourceTag/chytag": "test"
                }
            }
        },
        {
            "Action": "rds:DescribeTag*",
            "Effect": "Allow",
            "Resource": "*"
        }
    ],
    "Version": "1"
}

更详细授权如下:

{
    "Statement": [
        {
            "Action": "rds:Describe*",
            "Effect": "Allow",
            "Resource": "acs:rds:*:*:*",
            "Condition": {
                "StringEquals": {
                    "rds:ResourceTag/chytag": "test"
                }
            }
        },
        {
            "Action": "rds:DescribeTag*",
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": [
                "rds:DescribeSQLCollectorVersion",
                "rds:DescribeVSwitches"
            ],
            "Effect": "Allow",
            "Resource": "acs:rds:*:*:*"
        },
        {
            "Action": [
                "hdm:Get*",
                "hdm:Describe*",
                "hdm:Query*"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "actiontrail:Lookup*",
                "actiontrail:Describe*",
                "actiontrail:Get*",
                "actiontrail:Check*",
                "actiontrail:List*"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ],
    "Version": "1"
}


6、RAM子账号登录验证:RDS实例列表控制台

image.png


7、通过Tag标签检索

image.png

成功获取实例,且具有该RDS实例的所有权限

image.png



两种方案各有利弊吧,都有不太妥当的地方,期待阿里云继续优化吧。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
30天前
|
网络协议 关系型数据库 MySQL
mysql8.0远程连接权限设置
mysql8.0远程连接权限设置
55 0
|
1月前
|
安全 关系型数据库 数据管理
DMS产品常见问题之香港地区RDS开启安全访问代理失败如何解决
DMS(数据管理服务,Data Management Service)是阿里云提供的一种数据库管理和维护工具,它支持数据的查询、编辑、分析及安全管控;本汇总集中了DMS产品在实际使用中用户常遇到的问题及其相应的解答,目的是为使用者提供快速参考,帮助他们有效地解决在数据管理过程中所面临的挑战。
|
1月前
|
机器学习/深度学习 API 数据安全/隐私保护
视觉智能平台常见问题之一直提示ram没有权限但是我在角色中已经有添加相应的权限如何解决
视觉智能平台是利用机器学习和图像处理技术,提供图像识别、视频分析等智能视觉服务的平台;本合集针对该平台在使用中遇到的常见问题进行了收集和解答,以帮助开发者和企业用户在整合和部署视觉智能解决方案时,能够更快地定位问题并找到有效的解决策略。
23 0
|
3月前
|
关系型数据库 MySQL
MySQL错误 -.--secure-file-priv 无导出权限
MySQL错误 -.--secure-file-priv 无导出权限
34 0
|
3月前
|
SQL 关系型数据库 MySQL
|
1天前
|
安全 关系型数据库 MySQL
node实战——后端koa结合jwt连接mysql实现权限登录(node后端就业储备知识)
node实战——后端koa结合jwt连接mysql实现权限登录(node后端就业储备知识)
10 3
|
1月前
|
安全 关系型数据库 应用服务中间件
连接rds设置网络权限
连接阿里云RDS需关注:1) 设置白名单,允许特定IP访问;2) 选择合适网络类型,如VPC或经典网络;3) 确保VPC内路由与安全组规则正确;4) 同VPC内可使用内网地址连接;5) 可启用SSL/TLS加密增强安全性。记得遵循最小权限原则,确保数据库安全。不同服务商操作可能有差异,但基本流程相似。
24 9
|
1月前
|
机器学习/深度学习 API 数据安全/隐私保护
视觉智能平台常见问题之一直提示ram没有权限如何解决
视觉智能平台是利用机器学习和图像处理技术,提供图像识别、视频分析等智能视觉服务的平台;本合集针对该平台在使用中遇到的常见问题进行了收集和解答,以帮助开发者和企业用户在整合和部署视觉智能解决方案时,能够更快地定位问题并找到有效的解决策略。
177 1
|
2月前
|
安全 关系型数据库 MySQL
mysql权限
mysql权限
19 2
|
2月前
|
关系型数据库 MySQL 数据库
MySQL技能完整学习列表9、用户管理和权限控制——1、创建和管理用户——2、权限授予和撤销
MySQL技能完整学习列表9、用户管理和权限控制——1、创建和管理用户——2、权限授予和撤销
44 0

相关产品

  • 云数据库 RDS MySQL 版