阿里云RAM科普系列:使用角色

时间:2021-07-15 | 标签: | 作者:Q8 | 来源:阿呆少爷网络

小提示:您能找到这篇{阿里云RAM科普系列:使用角色}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的阿里云RAM科普系列:使用角色内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您!

< ">阿里云的权限控制分为账号、角色和策略三个概念。账号包括主账号和子账号。策略可以直接附加到账号上面,当然更正规的做法是将策略附加到角色上面,然后指定不同的子账号来扮演(AssumeRole)具体的角色。这样做符合最小权限原则。接下来分别介绍一下这几个概念。

< font-size: 16px;">首先我们创建一个子账号。子账号拥有自己的AK id和AK secret。阿里云SDK一般都支持通过设置AK id和AK secret来使用资源。不过这不是推荐的做法。

< font-size: 16px;">



< font-size: 16px;">接着创建一个角色。角色分为普通账号和服务账号两种。如果选择普通账号,那么就限制了只有这个主账号下的子账号能扮演这个角色。阿里云控制台里面,点击进入一个角色,可以看到角色详情和角色授权策略两个入口,其中角色详情里面展示的是角色的信息,授予谁扮演本角色。角色授权策略则是附加到本角色的权限策略,扮演本角色之后这些权限策略将生效。

< font-size: 16px;">

< font-size: 16px;">角色创建完成之后,就可以将策略附加在角色上面。可以选择阿里云提供的策略。所有云产品都默认提供XXXFullAccess和XXXReadOnlyAccess两种权限策略。用户也可以创建自定义策略。

< font-size: 16px;">子账号能扮演什么角色,这个是在子账号的权限策略里面指定的。Resource指定为角色的ARN即可。这里也可以注意到RAM是Global Service。不需要指定region。

< font-size: 16px;">

< font-size: 16px;">< font-size: 16px;">如果子账号无权扮演某个角色,会报下面这个错误。

< font-size: 16px;">

Traceback (most recent call last):
  File "sts.py", line 25, in 止痒药膏广告<module>
    response = clt.do_action_with_exception(request)
  File "/Library/Python/2.7/site-packages/aliyunsdkcore/client.py", line 224, in do_action_with_exception
    raise ServerException(server_error_code, server_error_message, http_status=status, request_id=request_id)
aliyunsdkcore.acs_exception.exceptions.ServerException: HTTP Status: 403 Error:NoPermission No permission perform sts:AssumeRole on this Role. Maybe you are not authorized to perform sts:AssumeRole or the specified role does not trust you RequestID: 960C7DCD-59BF-41E0-8B13-558B4A225600

< ">服务账号则用于用户在阿里云开通的不同服务之间授权。比如EMR需要在ECS上部署和运行Hadoop集群,并且使用大量云资源,ECS、OSS、VPC平台危机公关案例等服务都需要授予EMR相关的权限。可以观察到角色里面的Principal字段跟普通账号的差异。
< font-size: 16px;">

< font-size: 16px;">

< font-size: 16px;">

< font-size: 16px;">

< font-size: 16px;">

< font-size: 16px;">

< font-size: 16px;">另外还有一个比较有意思的东西就是PassRole。如果用户使用子账号,需要授权EMR访问别的云产品,那么这个子账号需要被授予PassRole权限。需要使用别的云产品的服务的FullAccess角色的权限策略里面都会有passRole这一项,比如EMR和ActionTrail。

< font-size: 16px;">

{
  "Action": "ram:PassRole",
  "Resource": "*",
  "Effect": "Allow",
  "Condition": {
    "StringEqua危机公共关系营销ls": {
      "acs:Service": "actiontrail.aliyuncs.com"
    }
  }}

< ">参考资料。
< font-size: 16px;">

< font-size: 16px;">RAM产品概述

< font-size: 16px;">AssumeRole

< font-size: 16px;">阿里云STS token浅析,这篇文章详细介绍了如何使用STS token访问OSS资源,并且给出了Python SDK的玩法。



阿里云RAM科普系列:使用角色

上一篇:如何做Facebook广告的受众分析?
下一篇:在Google Cloud Storage上托管免费的静态网站


版权声明:以上主题为“阿里云RAM科普系列:使用角色"的内容可能是本站网友自行发布,或者来至于网络。如有侵权欢迎联系我们客服QQ处理,谢谢。
相关内容
推荐内容
扫码咨询
    阿里云RAM科普系列:使用角色
    打开微信扫码或长按识别二维码

小提示:您应该对本页介绍的“阿里云RAM科普系列:使用角色”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通阿里云RAM科普系列:使用角色的相关事宜。

关键词:阿里云RAM科普系列:使用

关于 | 业务 | 案例 | 免责 | 隐私
客服邮箱:sales@1330.com.cn
电话:400-021-1330 | 客服QQ:865612759
沪ICP备12034177号 | 沪公网安备31010702002418号