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

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云数据库 RDS SQL Server,独享型 2核4GB
云数据库 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
目录
相关文章
|
2月前
|
弹性计算 关系型数据库 MySQL
快速上手阿里云RDS MySQL实例创建,轻松管理数据库
快速上手阿里云RDS MySQL实例创建,轻松管理数据库 在数字化时代,数据已成为企业的核心资产。如何高效、安全地存储和管理这些数据,成为企业在云计算时代亟待解决的问题。阿里云的RDS(关系型数据库服务)应运而生,为用户提供稳定、可靠的云上数据库解决方案。本文将详细介绍如何通过阿里云RDS管理控制台快速创建RDS MySQL实例,让您轻松上手,快速部署数据库。
161 2
|
2月前
|
关系型数据库 MySQL
MySQL错误 -.--secure-file-priv 无导出权限
MySQL错误 -.--secure-file-priv 无导出权限
25 0
|
2月前
|
SQL 关系型数据库 MySQL
|
14天前
|
安全 关系型数据库 MySQL
mysql权限
mysql权限
10 2
|
18天前
|
域名解析 网络协议 数据安全/隐私保护
DNS解析问题之授权RAM子账号管理指定域名如何解决
DNS解析是指将人类可读的域名转换成机器可读的IP地址的过程,它是互联网访问中不可或缺的一环;本合集将介绍DNS解析的机制、类型和相关问题的解决策略,以确保域名解析的准确性和高效性。
23 1
|
23天前
|
关系型数据库 MySQL 数据库
MySQL技能完整学习列表9、用户管理和权限控制——1、创建和管理用户——2、权限授予和撤销
MySQL技能完整学习列表9、用户管理和权限控制——1、创建和管理用户——2、权限授予和撤销
30 0
|
26天前
|
关系型数据库 MySQL Linux
docker构建mysql以及多实例
docker构建mysql以及多实例
13 0
|
2月前
|
关系型数据库 MySQL 数据库
实现RDS MySQL实例数据迁移的详细步骤
实现RDS MySQL实例数据迁移的详细步骤 随着科技的飞速发展,数据库的应用越来越广泛,而数据迁移作为数据库管理的重要环节,其重要性不言而喻。本文将详细介绍如何使用数据传输服务(Data Transmission Service,简称DTS),实现将三节点企业系列的RDS MySQL实例的数据迁移到集群系列的RDS MySQL。
105 4
|
3月前
|
监控 关系型数据库 数据库
rds实例如何备份
rds实例如何备份
84 1
|
3月前
|
关系型数据库 数据库 RDS
如何恢复误删除的rds实例
如何恢复误删除的rds实例
89 1

相关产品

  • 云数据库 RDS MySQL 版
  • 推荐镜像

    更多