阿里云-访问控制服务用户指南-D_第1页
阿里云-访问控制服务用户指南-D_第2页
阿里云-访问控制服务用户指南-D_第3页
阿里云-访问控制服务用户指南-D_第4页
阿里云-访问控制服务用户指南-D_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、访问控制用户指南访问控制/用户指南访问控制/用户指南 PAGE 42 PAGE 42用户指南概述RAM用户指南是对RAM产品核心功能及其应用场景的详细介绍。核心功能主要包括用户身份与授权管理,应用场景可以覆盖企业子账号与分权管理、针对移动App的临时授权管理、不同组织之间的资源互操作与授 权管理、跨域身份联盟(支持SSO)与授权管理。身份管理部分用户身份管理对用户进行分组管理角色身份管理授权管理部分访问策略(Policy)管理对用户或角色身份进行授权授权策略语言典型使用场景企业子账号与分权管理针对不可信客户端App的临时授权管理不同组织之间的资源互操作与授权管理身份管理用户如果有新的用户或应用

2、程序需要访问您的云资源,您可能需要创建RAM用户并授权。一般操作步骤如下:主账户(或拥有RAM操作权限的RAM用户)登录RAM控制台。创建RAM用户,并将该用户添加到一个或多个组。给用户(或其所属的组)添加一个或多个授权策略。设置用户密钥。如果用户是通过控制台进行操作,则需为用户设置登录密码;如果用户是通过API进 行调用,则需为用户创建API访问密钥(AccessKey)。如果用户需要使用特权操作(如停止虚拟机),那么可以为用户设置多因素认证(MFA),并要求用户 必须使用MFA口令才能登录到阿里云控制台。向用户提供登录URL,用户名及其登录密码。基本设置设置企业别名操作步骤:登入RAM管理

3、控制台,选择设置 - 企业别名设置,选择编辑企业别名。设置RAM用户的密码策略操作步骤:登入RAM管理控制台,选择设置 - 密码强度设置。一旦设置成功,您所创建的所有RAM用户都必须满足此密码强度要求。创建RAM用户操作步骤:登入RAM管理控制台,选择用户管理 - 新建用户,进入创建用户页面。设置登录密码操作步骤:登入RAM管理控制台,选择用户管理 - 选择用户 - 进入用户详情页面。您可以选择启用控制台登录,在弹窗中为用户设置初始密码,并可以指定用户登录时必须更换密码。登录密码设置成功后,您还可以进一步设置多因素认证,或者重置密码,或者关闭控制台登录。创建访问密钥(AK)用户的访问密钥Acc

4、essKey相当于登录密码,只是使用场景不同。AccessKey用于程序方式调用云服务API,登 录密码用于登录控制台。如果用户不需要调用API,那么就需要创建AccessKey。操作步骤:登入RAM管理控制台,选择用户管理 - 选择用户 - 进入用户详情页面。您可以选择创建AccessKey,在弹窗中会出现新创建的AccessKey。注意新创建的AccessKey只会在创建时显示,为了安全起见RAM并不提供查询接口,请您妥善保管。如果AccessKey泄露或丢失,那么你需要创建新的AccessKey。设置多因素认证(虚拟MFA)多因素认证(Multi-Factor Authenticatio

5、n, MFA)是一种简单有效的最佳安全实践方法,它能够在用户名和密码之外再额外增加一层安全保护。启用 MFA 后,用户登录阿里云时,系统将要求输入用户名和密码(第一安全要素),然后要求输入来自其MFA设备的可变验证码(第二安全要素)。这些多重要素结合起来将为您的 账户提供更高的安全保护。虚拟MFA设备是产生一个6位数字验证码的应用程序,它遵循基于时间的一次性密码 (TOTP) 标准(RFC 6238(包括智能手机)上运行。使用虚拟MFA应用非常方便,但您需要理解虚拟MFA设备有所差异,因为虚拟MFA应用程序可以在安全性较差的设备 上运行(例如智能手机)。操作步骤:登入RAM管理控制台,选择用户

6、管理 - 选择用户 - 进入用户详情页面。您可以选择启用虚拟MFA设备,然后进入到绑定MFA设备的流程。RAM用户登录,RAM用户不能通过云账户登录页面进行登录。 在RAM控制台的概览页中,您可以找到RAM用户登录链接:RAM用户可以通过该登录URL登录到阿里云控制台:注意:RAM用户默认是没有任何访问权限的。如果没有被授权,即使能登入控制台,但仍然无权做任何操作。 了解如何给RAM用户授权,请参考给用户授权。用户组管理如果您的云账号下创建了多个RAM用户,为了更好的管理用户及其权限,建议您通过用户组(Group)来管理。创建群组操作步骤:登入RAM管理控制台,选择群组管理 - 新建群组,在弹

7、出的窗口中填写需要新建的群组名称。组成员管理操作步骤:登入RAM管理控制台,选择群组管理 - 选择相应的群组名称 - 进入群组详情页面。此页面的组成员管理中已经列出了所有的组成员,如果想删除组成员,只需要点击移除出组。如果需要向群组添加新成员,则可以通过编辑组成员来完成。重命名群组操作步骤:登入RAM管理控制台,选择群组管理 - 选择相应的群组名称 - 进入群组详情页面,选择编辑基本信息即可。删除群组操作步骤:登入RAM管理控制台,选择群组管理 - 选择相应的群组点击删除即可。如果群组有包含组成员或者有绑定的授权策略,那么需要选定强制解除关联关系才能删除群组。给群组授权关于群组的授权管理,请参

8、考授权相关章节。角色基本概念教科书式角色(Textbook-Role)教科书式角色(或传统意义上的角色)是指一组权限集合,它类似于RAM里的Policy。如果一个用户被赋予了 某种角色,也就意味着该用户被赋予了一组权限,然后该用户就能访问被授权的资源。RAM角色(RAM-Role)RAM角色不同于教科书式角色。RAM角色是一种虚拟用户(或影子账号),它是RAM用户类型的一种。这种 虚拟用户有确定的身份,也可以被赋予一组权限(Policy),但它没有确定的身份认证密钥(登录密码或,RAM角色需要被一个授信的实体用户扮演,扮演成 功后实体用户将获得RAM角色的临时安全令牌,使用这个临时安全令牌就能

9、以角色身份访问被授权的资源。虚拟用户 vs 实体用户虚拟用户与实体用户的区别在于是否能被直接身份认证,实体用户拥有确定的登录密码或AccessKey,比 如云账号、RAM-User账号、云服务账号;而虚拟用户没有确定的认证密钥,比如RAM-Role。RAM-Role必须与一种实体用户身份联合起来才能使用。如果一个实体用户要想使用被赋予的某个RAM角色,实体用户必须先以自己身份登录,然后执行切换到角色的操作将自己从实体身份切换到角色身份。当切换到角色身份后,将只能执行该角色身份被授权的所有操作,而登录时实体身份所对应的访问权限被隐藏。如果用 户希望从角色身份回到实体身份,那么只需执行切回登录身份

10、的操作,此时将拥有实体身份所对应的访问权限,而不再拥有角色身份所拥有的权限。RAM角色主要用于解决身份联盟(Identity Federation)相关需求,比如联合您的企业本地账号实现SSORAM用户操作您所控制的资源、委托云服务操作您所控制的资源。 注意:如果没有特别说明,文中出现的角色都是指RAM角色。与RAM角色相关的几个基本概念如下:概念注解RoleARNRoleARN是角色的全局资源描述符,我们使用它来指定角色。RoleARN遵循阿里云ARN的命名规范。比如,某个云账号下的devops角色的ARN为:acs:ram:*:1234567890123456:role/devops。受信

11、演员角色的受信演员是指可以扮演角色(即扮演角色)的实体用户身份。创建角色时必须指定受信演员,角色只能被受信的演员扮演。权限策略一个角色可以绑定一组权限(Policy)。没有绑定权限的角色也可以存在,但不能被使用。扮演角色扮演角色(AssumeRole)是实体用户获取角色身份的安全令牌的方法。一个实体用户通过调用AssumeRole的API可以获得角色的安全令牌,使用安全令牌可以访问云服务API。切换角色切换角色(SwitchRole)是在控制台中实体用户从当前登录身份切换到角色身份的方法。一个实体用户登录到控制台之后,可以切换到被许可扮演的某一种角色身份,然后以角色身份操作云资源。切换到角色身

12、份后,原实体用户身份的访问权限将被屏蔽。用户不需要使用角色身份时,可以从角色身份切换回原来的登录身份。角色令牌角色令牌是角色身份的一种临时访问密钥。角色身份没有确定的访问密钥,当一个实体用户要使用角色时,必须通过扮演角色来获取对应的角色令牌,然后使用角色令牌来调用阿里云服务API。角色的使用场景- 临时授权移动App客户端直接操作您所控制的资源场景概述:企业A开发了一款移动App,并购买了OSS服务。移动App需要上传数据到OSS(或从OSS下载数据),A不希望所有App都通过AppServer来进行数据中转,而希望让App能直连OSS上传/下载数据。由于移动App运行在用户自己的终端设备上,

13、这些设备并不受A的控制。出于安全考虑,A不能将访问密钥保存到移动 App直连OSS时都必须使用最小权限的访问令牌,而且 访问时效也要很短(比如30分钟)。解决思路:云账号A在RAM中创建一个角色,给角色授予合适的权限,并允许AppServer(以RAM用户身份运 行)使用该角色。当App需要直连OSS上传/下载数据时,AppServer可以使用角色,获取角色的一个临时安全 令牌并传送给App,App就可以使用临时安全令牌直接访问OSS API。如果需要更精细地控制每个App的权限,AppServer可以在使用角色时进一步限制临时安全令牌的资源操作权限,比如,不同App用户只能操作不同 的子目录

14、,那么AppServer在使用角色时就可以进行这种限制。- 跨账号的资源操作与授权管理场景概述:A和B代表不同的企业。A购买了多种云资源(如ECS实例/RDS实例/SLB实例/OSS存储桶/.)来开 展业务。A希望能专注于业务系统,而将云资源运维监控管理等任务委托或授权给企业B。当然,企业B可以进 一步将代运维任务分配给B的员工。B可以精细控制其员工对A的云资源操作权限。如果A和B的这种代运维合同 终止,A随时可以撤销对B的授权。解决思路:云账号A在RAM中创建一个角色,给角色授予合适的权限,并允许云账号B使用该角色。如果云账号 B下的某个员工(RAM用户)需要使用该角色,那么云账号B可以自主

15、进行授权控制。代运维操作时,账号B下 的RAM用户将使用被授予的角色身份来操作账号A的资源。如果账号A与账号B的合作终止,A只需要撤销账号 B对该角色的使用。一旦账号B对角色的使用权限被撤销,那么B下的所有RAM用户对该角色的使用权限将被自 动撤销。角色的类型RAM支持两种类型的角色:用户角色和服务角色。用户角色允许RAM用户所扮演的角色,被称为用户角色。扮演角色的RAM用户可以属于自己云账号,也可以是属于其他 云帐号。用户角色主要用来解决跨帐号访问和临时授权的问题。服务角色允许云服务所扮演的角色,被称为服务角色。服务角色主要用于授权云服务代理您进行资源操作。创建与使用角色创建角色通过RAM控

16、制台来创建RAM角色的基本步骤如下:选择角色类型选择受信的演员身份填写角色名称给角色绑定权限策略创建RAM用户使用的角色操作步骤:登入RAM控制台,选择角色管理 - 新建角色,在创建角色的窗口中选择用户角色,然后按步骤执行。如果您创建的角色是给您自己名下的RAM用户使用(比如授权移动App客户端直接操作OSS资源的应用场景),那么你可以选择当前云账号为受信云账号。如果您创建的角色是给其他云账号名下的RAM用户使用(比如跨账号的资源授权场景),那么您需要选择其他 云账号,并在受信云账号ID中填写其他云账号的ID,如下图所示:创建角色成功后,在RAM控制台的角色管理页面中,可以看到相应的角色详情如

17、下:成功创建角色后,我们还需要给该角色授权。给角色授权的方法和给普通RAM用户授权的方法类似,请参考给 用户授权内容。创建云服务使用的角色操作步骤:登入RAM控制台,选择角色管理 - 新建角色,在创建角色的窗口中选择服务角色,然后按步骤执行。使用角色必须使用RAM用户身份扮演角色(AssumeRole)为了遵循最佳安全实践,我们不允许受信云账号以自己身份扮演角色。因此,受信云账号必须通过创建一个RAM用户账号,并授予该RAM用户账号的AssumeRole权限,然后以RAM用户身份去扮演角色。操作步骤:创建一个RAM用户,为该用户创建AccessKey或设置登录密码给该RAM用户授权,授权时可以

18、选择AliyunSTSAssumeRoleAccess系统授权策略RAM用户使用角色身份访问云服务API当RAM用户被授予AssumeRole权限之后,他就可以使用自己的AccessKey调用安全令牌服务(STS)的AssumeRole接口来获取某个角色的临时安全令牌。关于AssumeRole API的调用方法,请参考STS API文档。RAM用户使用角色身份操作控制台如果要使用角色身份进行控制台操作,首先RAM用户需要以自己身份登录控制台,然后通过切换角色的方式 使用角色身份进行控制台操作。例如,company2(企业别名)下的RAM用户zhangsan登录控制台之后,控制台右上角会显示该用

19、户的身份 信息,如下图所示:用户点击切换身份操作,进入角色切换的页面,此时用户需要选择相应的企业别名和角色名(假设当前用户 已被授权允许扮演company1(企业别名)下的ecs-admin角色):切换成功后,将以角色身份访问控制台。此时控制台右上角将显示角色身份(即当前身份)和登录身份。授权管理权限权限是允许(Allow)或拒绝(Deny)在某种条件下、对某些资源执行某些操作。主帐号(资源Owner)控制所有权限每个资源有且仅有一个属主(资源Owner),属主必须是云帐号,是对资源付费的人,对资源拥有完全控制权 限。资源属主不一定是资源创建者。比如,一个RAM用户被授予创建资源的权限,该用户

20、创建的资源归属于主 帐号,该用户是资源创建者但不是资源属主。RAM用户(操作员)默认无任何权限RAM用户默认没有任何操作权限,只有在被授权 之后,才能通过控制台和API操作资源。资源创建者(RAM用户)不会自动拥有对所创建资源的任何权限如果RAM用户被授予创建资源的权限,用户将可以创建资源,但不会自动拥有对所创建资源的任何权限,除非 资源Owner对他有显式的授权。访问策略访问策略(Policy)是用访问策略语言所描述的一组权限,它可以精确的描述被授权的资源集、操作集以及授 权条件。当授权策略中既有Allow又有Deny的授权语句时,我们遵循Deny优先的原则。在RAM中,访问策略是一种资源实

21、体,用户可以创建、更新、删除和查看访问策略。RAM支持两种类型的授权 策略:系统访问策略和自定义访问策略。系统访问策略是由阿里云创建和管理的一组常用的权限集,比如对ECS的完全权限等,用户只能使用而不能修改。自定义访问策略由客户自己创建和管理,它 是对系统访问策略的扩展和补充。系统访问策略所描述的权限粒度较粗,如果用户需要更精细的授权描述,比 如精确控制对某个ECS实例的权限或添加授权条件限制,则需要用户创建自定义授权策略。给RAM用户授权给RAM用户授权的方法是给用户或用户组绑定一个或多个授权策略。绑定的授权策略可以是系统授权策略也可 以是自定义授权策略。如果绑定的授权策略被更新,更新后的授

22、权策略自动生效,无需重新绑定授权策略。授权策略管理授权策略是一组权限的集合,它以一种策略语言来描述。关于授权策略语言的详细描述,请参考附录中的授权 策略语言章节。通过给用户或群组附加授权策略,用户或群组中的所有用户就能获得授权策略中指定的访问权 限。我们支持两种类型的授权策略:系统授权策略和客户自定义授权策略。系统授权策略系统授权策略是阿里云提供的一组通用授权策略,主要针对不同产品的只读权限或所有权限。对于阿里云提供 的这组授权策略,用户只能用于授权,而不能编辑和修改。对于这些系统授权策略,阿里云会自动进行更新或 修改。如果要查看阿里云支持的所有系统授权策略,请登录RAM控制台 - 进入授权策

23、略管理页面,用户就可以看到所有的系统授权策略列表.RAM支持的系统授权策略列表如下:系统授权策略名称所包含的权限注解AdministratorAccess管理所有阿里云资源的权限AliyunActionTrailFullAccess管理操作审计(ActionTrail)的权限AliyunActionTrailReadOnlyAccess只读访问操作审计(ActionTrail)的权限AliyunBatchComputeFullAccess管理批量计算服务(BatchCompute)的权限AliyunBSSFullAccess管理费用中心(BSS)的权限AliyunBSSOrderAccess在

24、费用中心(BSS)查看订单、支付订单及取消订单的权限AliyunBSSReadOnlyAccess只读访问费用中心(BSS)的权限AliyunCDNFullAccess管理CDN的权限AliyunCDNReadOnlyAccess只读访问CDN的权限AliyunCloudMonitorFullAccess管理云监控(CloudMonitor)的权限AliyunCloudMonitorReadOnlyAccess只读访问云监控(CloudMonitor)的权限AliyunDirectMailFullAccess管理邮件推送(DirectMail)的权限AliyunDirectMailReadOn

25、lyAccess只读访问邮件推送(DirectMail)的权限AliyunECSFullAccess管理云服务器服务(ECS)的权限AliyunECSReadOnlyAccess只读访问云服务器服务(ECS)的权限AliyunEIPFullAccess管理弹性公网IP(EIP)的权限AliyunEIPReadOnlyAccess只读访问弹性公网IP(EIP)的权限AliyunEMRFullAccess管理E-MapReduce的权限AliyunKvstoreFullAccess管理云数据库Redis版(Kvstore)的权限AliyunKvstoreReadOnlyAccess只读访问云数据库

26、Redis版(Kvstore)的权限AliyunLogFullAccess管理日志服务(Log)的权限AliyunLogReadOnlyAccess只读访问日志服务(Log)的权限AliyunMNSFullAccess管理消息服务(MNS)的权限AliyunMNSReadOnlyAccess只读访问消息服务(MNS)的权限AliyunMTSFullAccess管理媒体转码服务的权限AliyunOCSFullAccess管理云数据库Memcache版(OCS)的权限AliyunOCSReadOnlyAccess只读访问云数据库Memcache版(OCS)的权限AliyunOSSFullAcces

27、s管理对象存储服务(OSS)权限AliyunOSSReadOnlyAccess只读访问对象存储服务(OSS)的权限AliyunOTSFullAccess管理表格存储服务(OTS)的权限AliyunOTSReadOnlyAccess只读访问表格存储服务(OTS)的权限AliyunPTSFullAccess管理性能测试服务(PTS)的权限AliyunRAMFullAccess管理资源访问管理服务(RAM)的权限,即管理用户以及授权的权限AliyunRAMReadOnlyAccess只读访问资源访问管理服务(RAM)的权限,即查看用户、组以及授权信息的权限AliyunRDSFullAccess管理云

28、数据库服务(RDS)的权限AliyunRDSReadOnlyAccess只读访问云数据库服务(RDS)的权限AliyunSLBFullAccess管理负载均衡服务的权限AliyunSLBReadOnlyAccess只读访问负载均衡服务的权限AliyunSTSAssumeRoleAccess调用STS服务AssumeRole接口的权限AliyunSupportFullAccess管理工单系统的权限AliyunVPCFullAccess管理专有网络(VPC)的权限AliyunVPCReadOnlyAccess只读访问专有网络(VPC)的权限AliyunYundunAegisFullAccess管理

29、云盾安骑士(Aegis)的权限AliyunYundunAFSFullAccess管理云盾反欺诈(AFS)的权限AliyunYundunAPSFullAccess管理云盾渗透测试(APS)的权限AliyunYundunCloudsFullAccess管理云盾安全网络(Clouds)的权限AliyunYundunDDosFullAccess管理云盾DDos基础防护(DDos)的权限AliyunYundunFlawSaleFullAccess管理云盾补丁管理(FlawSale)的权限AliyunYundunFullAccess管理云盾所有产品(Yundun)的权限AliyunYundunGreenW

30、ebFullAccess管理云盾绿网(GreenWeb)的权限AliyunYundunHighFullAccess管理云盾高防IP(High)的权限AliyunYundunHSMFullAccess管理云盾密码机(HSM)的权限AliyunYundunMSSFullAccess管理云盾安全托管(MSS)的权限AliyunYundunSASFullAccess管理云盾态势感知(SAS)的权限AliyunYundunWAFFullAccess管理云盾应用防火墙(WAF)的权限AliyunYundunXianzhiFullAccess管理云盾先知计划(Xianzhi)的权限ReadOnlyAcces

31、s只读访问所有阿里云资源的权限自定义授权策略由于系统授权策略的授权粒度比较粗,如果这种粗粒度授权策略不能满足您的需要,那么您可以创建自定义授 权策略。比如,你想控制对某个具体的ECS实例的操作权限,或者你要求访问者的资源操作请求必须来自于指 定的IP地址,你必须使用自定义授权策略才能满足这种细粒度要求。创建自定义授权策略如果您有更细粒度的授权需求,比如授权用户bob只能对oss:/sample_bucket/bob/下的所有对象执行只读操 作、而且限制IP来源必须为您的公司网络(可以通过搜索引擎查询我的IP来获知您的公司网络IP地址),那么您 可以通过创建自定义授权策略来进行访问控制。在创建自

32、定义授权策略时,您需要了解授权策略语言的基本结构和语法,相关内容的详细描述请参考授权策略 语言描述。在了解授权策略语言之后,您通过RAM控制台可以很方便地创建满足上述需求的自定义授权策略。 操作步骤:进入RAM控制台,选择授权策略管理,选择自定义授权策略,然后按如下步骤操作:Step 1. 点击新建授权策略,打开新建授权策略弹窗:Step 2. 选择一个模板(这里选择AliyunOSSReadOnlyAccess),我们可以基于这个模板进行Policy编辑,如下图所示:我们修改了自定义的授权策略名称,备注和策略内容。上图策略内容中的选中部分是我们新增的细粒度授权限 制内容。Version: 1

33、,Version: 1,Statement: Action: Statement: Action: oss:Get*, oss:List*,Effect: Allow,Resource: acs:oss:*:*:samplebucket/bob/*, Condition: IpAddress: acs:SourceIp: Step 3. 策略内容编辑完成后,点击 新建授权策略 即可新建自定义授权策略。如果将这个自定义的授权策略附加给用户bob,那么bob对oss:/samplebucket/bob/下的对象有只读操作权 限,但限制条件是必须从您的公司网络(假设为)进行访问。修改自定义授权策略当

34、用户的权限发生变更时,比如新增或撤销权限,你需要修改授权策略。当你修改授权策略时可能会遇到两个 问题:(1) 希望一段时间后,老的授权策略还能继续使用;(2) 修改完成后,您发现授权策略修改错了,需要回滚。为了解决授权策略在使用中存在的问题,我们为授权策略提供了版本管理机制。您可以为一个授权策略保留多 个版本。如果超出限制,您需要自主删除不需要的版本。对于一个存在多版本的授权策略而言,只有一个版本 是活跃的,我们称之为默认版本。管理授权策略版本的方法:进入RAM删除自定义授权策略您可以创建多个自定义授权策略,每个策略也可以维护多个版本。当您不再需要自定义授权策略时,您应该将 授权策略删除。当一

35、个授权策略存在多个版本时,授权策略无法被删除。您必须先删除除默认版本之外的所有版本。当只有唯 一的默认版本时,授权策略才能被删除。删除一个授权策略的方法:进入RAM授权对自己名下的RAM用户授权是将一个或多个授权策略绑定到用户或用户组的过程。对其他云账号下的RAM用户授权是将一个或多个授权策略绑定到角色的过程。给用户或用户组授权给用户授权的操作步骤:登入RAM控制台,进入用户管理 - 选择用户 - 点击授权,进入编辑授权策略的页面,选择合适的授权策略名称进行授权即可。给用户组授权的操作步骤:登入RAM控制台,进入群组管理 - 选择群组 - 点击授权,进入编辑授权策略的页面,选择合适的授权策略名

36、称进行授权即可。给角色授权给角色授权的操作步骤:登入RAM控制台,进入角色管理 - 选择角色 - 点击授权,进入编辑授权策略的页面,选择合适的授权策略名称进行授权即可。访问资源给用户授权之后,用户可以通过控制台或API操作资源。用户登录控制台操作资源RAM控制台中查看),登录时使用主账号别名、用户名和密码 登录控制台后,登录成功后可以操作被授权的资源。如果用户点击了没有授权的操作,一般会报告没有操作权 限的错误。如果RAM用户被许可扮演角色,在RAM用户登录控制台之后,可以通过切换角色操作将当前登录身份切换到角色身份,从而可以使用角色身份的权限来操作资源;如果要使用原登录身份操作资源,那么可以

37、通过返回登 录身份操作从角色身份返回到当前登录身份。关于使用角色的更多内容请参考角色。应用程序调用云服务API操作资源如果你的应用程序需要调用云服务API,你需要为应用程序创建一个RAM用户账号并授予合适的权限,给RAM用户创建AccessKey,应用程序使用该AccessKey来调用云服务SDK或API。通过客户端工具操作云资源某些云服务提供了易用的客户端工具,这些工具支持使用RAM用户AccessKey来操作云资源。下面以OSS服务为例,假设RAM用户获得了某个Bucket的访问授权,那么可以使用OSS客户端工具ossbrowser来访问指定的Bucket。步骤1:打开ossbrowser

38、,在账号和密码处分别输入RAM用户的AccessKeyId和AccessKeySecret。如下图所 示:步骤2:登录后进入ossbrowser界面,选择授权Bucket标签,点击添加即可添加一个授权Bucket。如下图 所示:然后你就可以操作被授权Bucket的内容。使用场景企业用户账号管理与分权场景描述企业A的某个项目(Project-X)上云,购买了多种云资源(如ECS实例/RDS实例/SLB实例/OSS存储桶/.)。项目 里有多个员工需要操作这些云资源,比如有的负责购买,有的负责运维,还有的负责线上应用。由于每个员工 的工作职责不一样,需要的权限也不一样。出于安全或信任的考虑,A不希望

39、将云账号密钥直接透露给员工,而 希望能给员工创建相应的用户账号。用户账号只能在授权的前提下操作资源,不需要对用户账号进行独立的计 量计费,所有开销都算在A的头上。当然,A随时可以撤销用户账号身上的权限,也可以随时删除其创建的用户 账号。需求说明杜绝多员工共享主账号,防止主账号密码或AK泄露导致风险不可控给不同员工分配独立的用户账号(或操作员账号)并独立分配权限,做到责权一致所有用户账号的所有操作行为可审计不需要分别核算每个操作人员的成本,所发生费用统一计入主账号账单解决方法使用RAM的用户账号与授权管理功能,如下图所示:操作流程如下:给主账号绑定MFA设备。给主账号设置多因素认证,避免因主账号

40、密码泄露导致风险。开通RAM HYPERLINK /product/ram /product/ram)创建用户账号。为不同员工(或应用系统)创建RAM用户账号,并按需设置登录密码或创建AccessKey。创建群组。如果有多个员工的职责相同,建议创建群组,并将用户添加到群组。授权。给群组或用户添加一条或多条系统授权策略。如果需要更细粒度的授权,可以创建自定义授权 策略,然后给群组或用户授权。针对移动App的临时授权管理场景描述企业A开发了一款移动App,并购买了OSS服务。移动App需要上传数据到OSS(或从OSS下载数据),A不希 望所有App都通过AppServer来进行数据中转,而希望让A

41、pp能直连OSS上传/下载数据。由于移动App运行在 用户自己的终端设备上,这些设备并不受A的控制。出于安全考虑,A不能将访问密钥保存到移动App中。A希 望将安全风险控制到最小,比如,每个移动App直连OSS时都必须使用最小权限的访问令牌,而且访问时效也 要很短(比如30分钟)。需求说明移动App需要直传数据到OSS,不需要经过数据proxy不能将AK交给移动App,因为移动设备归属于您的用户来控制(所以并不可信),最佳实践是使用带 过期时间的访问令牌每个移动App的访问权限都可以限制,支持到OSS对象的粒度解决方法:使用RAM角色令牌授权流程步骤1:A创建角色进入RAMoss-readon

42、ly) 确定创建角色。acs:ram:11223344:role/oss-readonly创建角色成功后,可以在角色详情中查看到该角色的基本信息,比如角色的全局名称Arn如下:acs:ram:11223344:role/oss-readonly角色的信任策略(只允许A自己来扮演角色)如下:Statement: Action: sts:AssumeRole, Effect: Allow, Principal: RAM: acs:ram:11223344:root,Version: 1步骤2:A给角色授权,即给角色绑定合适的授权策略。在上一步的创建角色完成时,可以直接按照引导进入授权操作界面;也可

43、以选择进入角色详情页面,进入 编辑授权策略进入授权操作界面。在授权操作界面上,可以选择系统授权策略,如AliyunOSSReadOnlyAccess,然后点击确定。 步骤3:A为AppServer创建一个RAM用户身份,并授权该用户可以扮演上述角色。进入RAMappserver,为该用户创建AccessKey;创建用户后,进入用户详情页 - 用户授权策略。在编辑授权策略窗口中,选择系统授权策略,如AliyunSTSAssumeRoleAccess,然后点击确定。AppServer颁发STS-Token访问资源步骤1:AppServer使用RAM用户appserver的AccessKey调用ST

44、S AssumeRole$ aliyuncli sts AssumeRole -RoleArn acs:ram:11223344:role/oss-readonly -RoleSessionName client-001AssumedRoleUser: $ aliyuncli sts AssumeRole -RoleArn acs:ram:11223344:role/oss-readonly -RoleSessionName client-001AssumedRoleUser: AssumedRoleId: 391578752573972854:client-001, Arn: acs:ram

45、:11223344:role/oss-readonly/client-001,Credentials: AccessKeySecret: 93ci2umK1QKNEja6WGqi1Ba7Q2Fv9PwxZqtVF2VynUvz, SecurityToken:CAES6AIIARKAAUiwSHpkD3GXRMQk9stDr3YSVbyGqanqkS+fPlEEkjZ+dlgFnGdCI2PV93jksole8ijH8dHJrHRA5JA1YC GsfX5hrzcNM37Vr4eVdWFVQhoCw0DXBpHv/ZcITp+ELRr4MHsnyGiErnDsXLkI7q/sbuWg6PACZ/

46、jzQfEWQb/f7Y1Gh 1TVFMuRjEzR2pza1hUamszOGRCWTZZeEp0WEFaayISMzkxNTc4NzUyNTczOTcyODU0KgpjbGllbnQtMDAxMKT+lIHB KjoGUnNhTUQ1QkoKATEaRQoFQWxsb3cSGwoMQWN0aW9uRXF1YWxzEgZBY3Rpb24aAwoBKhIfCg5SZXNvdXJjZU VxdWFscxIIUmVzb3VyY2UaAwoBKkoFNDMyNzRSBTI2ODQyWg9Bc3N1bWVkUm9sZVVzZXJgAGoSMzkxNTc4NzUy NTczOTcyODU0cgllY3M

47、tYWRtaW544Mbewo/26AE=,Expiration: 2016-01-13T15:02:37Z,AccessKeyId: STS.F13GjskXTjk38dBY6YxJtXAZk,RequestId: E1779AAB-E7AF-47D6-A9A4-53128708B6CE注意,上述AssumeRole调用时没有指定Policy参数,那么意味着该STS-Token拥有oss-readonly的所有权限$aliyuncli$aliyunclistsAssumeRole-RoleArnacs:ram:11223344:role/oss-readonly-RoleSessionNam

48、eclient-002-Policy Version:1, Statement: Effect:Allow,Action:oss:GetObject,Resource:acs:oss:*:*:sample-bucket/2015/01/01/*.jpgAssumedRoleUser: AssumedRoleId: 391578752573972854:client-002, Arn: acs:ram:11223344:role/oss-readonly/client-002,Credentials: AccessKeySecret: 28Co5Vyx2XhtTqj3RJgdud4ntyzrSN

49、dUvNygAj7xEMow, SecurityToken:CAESnQMIARKAASJgnzMzlXVyJn4KI+FsysaIpTGm8ns8Y74HVEj0pOevO8ZWXrnnkz4a4rBEPBAdFkh3197GUsprujsiU 78FkszxhnQPKkQKcyvPihoXqKvuukrQ/Uoudk31KAJEz5o2EjlNUREcxWjRDRSISMzkxNTc4NzUyNTczOTcyODU0Kgpjb GllbnQtMDAxMKmZxIHBKjoGUnNhTUQ1Qn8KATEaegoFQWxsb3cSJwoMQWN0aW9uRXF1YWxzEgZBY3Rpb24

50、aDw oNb3NzOkdldE9iamVjdBJICg5SZXNvdXJjZUVxdWFscxIIUmVzb3VyY2UaLAoqYWNzOm9zczoqOio6c2FtcGxlLWJ1Y2tl dC8yMDE1LzAxLzAxLyouanBnSgU0MzI3NFIFMjY4NDJaD0Fzc3VtZWRSb2xlVXNlcmAAahIzOTE1Nzg3NTI1NzM5NzI4 NTRyCWVjcy1hZG1pbnjgxt7Cj/boAQ=,Expiration: 2016-01-13T15:03:39Z, AccessKeyId: STS.FJ6EMcS1JLZgAcBJSTDG1Z4CE

51、,RequestId: 98835D9B-86E5-4BB5-A6DF-9D3156ABA567此外,上述STS-Token的默认过期时间为3600秒,用户还可以通过DurationSeconds参数来限制STS-Token的过期时间(最长不超过3600秒)。步骤2:AppServer获取并解析Credentials中获取AccessKeyId、AccessKeySecret和SecurityToken。考虑 到STS-Token过期时间较短,如果应用业务需要一个较长的过期时间,需要AppServer重新颁发新的STS-Token(比如每隔1800秒颁发一次STS-Token)。步骤3:App

52、Server将STS-Token安全传递给AppClient步骤4:AppClient使用STS-Token直接访问云服务的API(比如OSS)配置STS-Token语法:aliyuncli oss Config -host -accessid -accesskey -sts_token 配置STS-Token语法:aliyuncli oss Config -host -accessid -accesskey -sts_token $ aliyuncli oss Config -host -accessid STS.FJ6EMcS1JLZgAcBJSTDG1Z4CE -accesskey 28

53、Co5Vyx2XhtTqj3RJgdud4ntyzrSNdUvNygAj7xEMow -sts_token CAESnQMIARKAASJgnzMzlXVyJn4KI+FsysaIpTGm8ns8Y74HVEj0pOevO8ZWXrnnkz4a4rBEPBAdFkh3197GUsprujsiU7 8FkszxhnQPKkQKcyvPihoXqKvuukrQ/Uoudk31KAJEz5o2EjlNUREcxWjRDRSISMzkxNTc4NzUyNTczOTcyODU0KgpjbG llbnQtMDAxMKmZxIHBKjoGUnNhTUQ1Qn8KATEaegoFQWxsb3cSJwoMQWN

54、0aW9uRXF1YWxzEgZBY3Rpb24aDwo Nb3NzOkdldE9iamVjdBJICg5SZXNvdXJjZUVxdWFscxIIUmVzb3VyY2UaLAoqYWNzOm9zczoqOio6c2FtcGxlLWJ1Y2tld C8yMDE1LzAxLzAxLyouanBnSgU0MzI3NFIFMjY4NDJaD0Fzc3VtZWRSb2xlVXNlcmAAahIzOTE1Nzg3NTI1NzM5NzI4 NTRyCWVjcy1hZG1pbnjgxt7Cj/boAQ=访问OSS对象$ aliyuncli oss Get oss:/sample-bucket/2015/01

55、/01/grass.jpg grass.jpg更多参考材料关于移动应用直传场景的更多参考材料:30分钟快速搭建移动应用直传服务搭建应用服务器之STSPolicy30分钟快速搭建移动应用上传回调服务进阶使用STS不同企业之间的资源操作与授权管理场景描述账号A和账号B分别代表不同的企业。A购买了多种云资源(如ECS实例/RDS实例/SLB实例/OSS存储桶/.)来 开展业务。A希望能专注于业务系统,而将云资源运维监控管理等任务委托(或授权)给企业B。此外,B还可 以进一步将A的资源访问权限分配给B的某一个或多个员工。B可以精细控制其员工对A所控制的资源的操作权限。如果A和B的这种代运维合同终止,A

56、随时可以撤销对B的授权。需求说明涉及A和B两个云账号之间的授权账户A是资源Owner,希望授权账号B来操作账户B需要进一步给其子用户(代表员工或应用)授权当B的员工加入或离职时,A无需做任何权限变更如果双方业务终止,A随时可以撤销对B的授权解决方法:使用RAM角色做跨账号授权跨账号授权操作步骤假设租户A(AccountID=11223344,别名company-a)需要授权租户B(AccountID=12345678,别名company-b)的员工对其ECS进行操作,操作步骤如下:步骤1:A创建角色进入RAM在创建角色弹窗中:选择用户角色 - 选择其他云账号并填写受信云账号ID(比如12345

57、678) - 填写角色名称(假设为ecs-admin)acs:ram:11223344:role/ecs-admin创建角色成功后,可以在角色详情中查看到该角色的基本信息,比如角色的全局名称Arn如下:acs:ram:11223344:role/ecs-admin角色的信任策略(只允许租户B来扮演角色)如下:Statement: Action: sts:AssumeRole, Effect: Allow, Principal: RAM: acs:ram:12345678:root,Version: 1步骤2:A给角色授权在上一步的创建角色完成时,可以直接按照引导进入授权操作界面;也可以选择进入

58、角色详情页面,进入 编辑授权策略进入授权操作界面。在授权操作界面上,可以选择系统授权策略,如AliyunECSFullAccess,然后点击确定。 步骤3:B创建子用户并授权扮演角色B登录RAMzhangsan,为该用户设置登录密码;创建用户后,进入用户详情页 - 用户授权策略。在编辑授权策略窗口中,选择系统授权策略,如AliyunSTSAssumeRoleAccess,然后点击确定。跨账号资源访问通过控制台访问步骤1:B的子用户zhangsan登录,子用户登录时需正确输入企业别名、子用户名称和子用户密码。步骤2:zhangsan登录控制台后,右上角会显示用户登录信息。点击选择切换身份,进入身

59、份切换页面,输 入正确的企业别名(company-a)和角色名(ecs-admin)。步骤3:zhangsan操作租户A下的ecs资源。RAM操作记录使用ActionTrail记录RAM操作ActionTrail中查看所有用户(主账号/RAM用 户)对您的资源实例所进行的运维管控类操作记录。ActionTrail记录的RAM信息包括:主账号/RAM用户登录RAM控制台操作RAM/STS的所有创建、变更、删除类API调用主账号/RAM用户登录相关记录请参考ActionTrail产品文档的ConsoleSignin操作事件格式样例RAM控制台操作记录请参考ActionTrail产品文档的RAM操作

60、事件格式样例的RAM用户通过控制台操作RAM。RAM/STS的所有创建、变更、删除类API调用记录请参考ActionTrail产品文档的RAM操作事件格式样例的RAM用户通过SDK操作RAM。关于操作记录的详细信息,请参考ActionTrail操作日志的结构RAM实体限制请参考RAM API文档的实体限制。附录1: 授权策略语言Policy基本元素(Effect)、资源(Resource)、对资 源所授予的操作权限(Action)以及限制条件(Condition)这几个基本元素。效力(Effect)授权效力包括两种:允许(Allow)和拒绝(Deny)。资源(Resource)资源是指被授权的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论