起因--------------------------------

客户发现自己的腾讯云服务器中病毒了,经过查杀病毒后发现仍然没用,只能重装系统,不过客户采用的是子账号的登陆方式,目前一共有4台服务器,其中两台跑的是业务数据库,如果此时给子账号授予全部重装服务器的权限,那么担心子账号的权限被盗取,导致***重装所有服务器,所以只能从给子账号的权限入手,不过看到控制台权限预设的里面并没有精确到粒度,而是产品,即针对一类产品,所以当时以为没有这样的功能,后来发现通过自定义策略是可以做到的,遂尝试一下。

 

实现效果--------------------------

目前我在自己账号上开了两台服务器,最终实现可以查看两台服务器,但是只能对服务器1进行重装。

当对cvm2进行重装的时候,报错,提示没有权限

  image.png


当对cvm1进行重装的时候,发现可以正常重装,但是没有其他权限


image.png

  实际操作-------------------

  

 1、到主账号上,查看子账户的权限,点击策略

    image.png


  2、点击策略生成器创建

     image.png

      

  3、写action,并对这些资源进行操作

     image.png


   

资源:qcs::cvm:bj:uin/164256472:instance/i-15931881scv4

授权策略语法说明:

https://cloud.tencent.com/document/product/213/10313

点击生成然后授权给用户即可,

授权两个策略,一个允许所有读取权限,一个允许删除资源1

image.png

查看最终生成的策略语法


image.png

进而推论到当有多个账户的时候,是否可以让每个账户的人只看到自己账户的服务器

当然可以,不过设置完后,效果实现了,但是会出现报错,报错信息很明显,提示控制台是获取所有服务器的信息的

但是这边只设置了一台服务器的权限,所以提示报错

you are not authorized to perform operation (cvm:DescribeInstanceStatistics)

resource (qcs::cvm:gz:uin/100002745445:instance/*) has no permission

 (a4883eaf)

image.png  


    小感悟:

    在写方案的时候,我们总是着眼于眼前所看,即控制台上所看到的,但是实际上各大公有云平台控制台所能操作的功能并不一定是全部的

最全的功能在公有云的api调用上,所以下次当控制台无法满足客户的需求,可以转变想法,看一下API能否实现,方案中可以集成相应的

方案!!!