RAM账号权限管理

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
对象存储 OSS,20GB 3个月
简介: 希望通过本次演讲,让大家更深入了解RAM账号权限管理,以某电商网站项目为例,根据研发、测试、生产环境划分及业务流程,使用阿里云RAM访问控制服务规划实现资源分组、账号用户体系、权限分配、安全加固、定期安全检查等措施的最佳实践。

分享人:谈慧杰             解决方案架构师

            阿   阮             阿里云访问控制RAM的产品经理

正文:

本篇内容将从3个部分为读者介绍单账号体系下用户管理、资源分组、权限配置、访问控制的治理方法及原则,希望可以让大家对RAM账号权限管理有更深入的了解,并可以将这些特性应用到项目中,达到降本提效的目的。

Ÿ 最佳实践原理讲解

Ÿ 访问控制RAM产品讲解

Ÿ 最佳实践系统搭建

 

一、最佳实践原理讲解

最佳实践原理讲解由阿里云智能业务支撑平台团队的解决方案架构师谈慧杰负责。


(1) 背景介绍


首先介绍访问控制服务的一些基本概念。在开始使用阿里云服务前,需要注册一个阿里云账号,使用账号登录后才能开通和创建各种云服务、云资源,构建自己的业务系统。阿里云是一个多租户的环境,不同租户间默认是完全隔离的,资源只能被阿里云账号所访问,任何其他用户访问都需要获得它的显式授权。资源使用产生的费用账单也会记到该账号下


image.png

阿里云账号就像是操作系统的root或Administrator,所以有时称它为根账号、主账号或者管理员账号。RAM通过身份凭证来验证用户的真实身份,通过登录密码验证用户的身份,通过API访问密钥(AccessKey,AK)来验证某个API请求发送者的身份。

还有一种身份凭证是多因素认证(MFA),它是一种简单有效的安全最佳实践。在用户名和密码之外再增加了一层安全保护,默认情况下它是关闭的,启用多因素认证后再次登录阿里云时,系统除了要求输入用户名和密码外,还要求提供多因素认证设备生产的验证码。我们不应该直接使用主账号来进行日常的工作,因为会带来各种安全隐患,也不符合各个岗位职责的分工。

从云资源的使用者来看,大致可以分为人和程序两大类。访问控制服务提供了RAM用户、用户组、RAM角色三种身份。

RAM用户是RAM的一种实体身份类型,有确定的身份ID和身份凭证,通常与某个确定的人或应用程序一一对应。一个阿里云账户可以创建多个RAM用户,对应企业内的员工、系统或应用程序。RAM用户不拥有资源,不能独立计量计费,云资源由所属阿里云账号统一计量和付费,RAM用户归属于阿里云账号,只能在所属的阿里云账号下可见,而不是独立的阿里云账号。RAM用户必须在获得阿里云账号的授权后才能登录控制台或使用API操作阿里云账号下的资源。

用户组可以对职责相同的RAM用户进行分类并授权,从而更好地管理用户及其权限。在RAM用户职责发生变化时,只需将其移动到相应职责的用户组下,不会对其他RAM用户产生影响。

RAM角色是一种虚拟用户,它有确定的身份可以被赋予一组权限策略,但它没有确定登录密码或访问密钥,RAM角色需要被一个受信的实体用户扮演,扮演成功后实体用户将获得RAM角色的安全令牌(STS Token)。使用这个安全令牌就能以角色身份访问被授权的资源。

image.png

访问控制身份管理概览:外部用户使用客户端,只生产和访问数据且处于不安全的环境,因此客户端对云资源的访问通过临时安全令牌访问。该临时安全令牌由服务端扮演相应的RAM角色获取,然后分发到客户端。服务端处于相对安全的内部环境中,主要访问和生产数据,可以授权给其对应的RAM用户直接使用AccessKey访问云资源也可以将权限配置在RAM角色上,授予服务端对应RAM用户扮演相应角色的权限,通过临时安全令牌访问云资源。运维工具也属于程序类,主要是对云资源进行管理和控制,可以使用其对应RAM用户的AccessKey。开发运维人员使用用户名密码/MFA登录控制台对云资源进行管理。

image.png

访问控制就是对身份的权限许可管理,通过身份来确定“谁”,通过权限策略确定“在什么条件下可以对什么资源做什么操作”,再将权限策略授予某个RAM身份就完成了权限的许可,当访问发起时RAM就会检查这个操作是否符合已有的用户授权策略,符合就通过,不符合就拒绝,从而达到访问控制的目的。


(2) 场景描述


本最佳实践讲解单账号体系下用户管理、资源分组、权限配置、访问控制的治理方法及实施原则。· 以某电商网站项目为例,根据研发业务流程划分研发、测试、生产环境,使用阿里云访问控制服务RAM,实现账号用户体系构建、资源分组、权限分配、安全加固、定期安全检查等目标。

适用所有使用阿里云使用者、首席技术官(CTO)、架构师、开发人员和运维团队成员。


(3) 用户体系构建


场景解析:运营人员发布商品信息,顾客通过web/移动端访问网站。内部技术团队分为开发、测试和运维,环境分为开发环境、测试环境、生产环境。由此构建相应的用户组和RAM用户遵循以下原则:不创建云账号AccessKey,不使用云账导进行日常运维管理,仅做用户及权履管理,开启MFA;需要控制台置陆的RAM用户不要生成AK,开启MFA。程序调用API的RAM用户不要授权控制台登陆。

 

(4) 环境规划


根据环境规划设定资源分组并规划网络,划分为开发环境、测试环境、生产环境。

image.png


(5) 识别研发业务流程


主要是代码发布、部署流程以及各团队对代码的访问权限,本示例中代码发布保存在OSS Bucket中。

image.png

 

(6) 部署架构图


使用3个PVC分别建立开发、测试和生产环境,每个环境中分别创建一台ECS和一个RDS,为研发环境的ECS绑定弹性公网IP。另外建立开发、测试、生产环境专用OSS Bucket,代码库专用OSS Bucket和一个其他OSS Bucket。此环境可以通过CADT工具完成快速部署,部署前请留意架构图模板中的提示信息。


image.png


(7) RAM用户安全加固


完成环境部署后,先对RAM用户进行安全加固,需遵循RAM用户访问控制台限制在办公内网、强化RAM用户密码规则的原则


(8) 用户权限规划


根据业务场景规划用户权限,详细设计各用户组的具体授权。遵循以下原则:登陆控制台的RAM用户禁止共享,每个实体一个用户;遵循所有RAM用户都归属于某RAM用户组,授权策略在RAM用户组上配置。做到用户和权限的解耦;RAM用户组的权限分配遭循最小授权原则;只对某资源组有权限的用户组授权策略配置在资源组上。

 

(9) 程序权限规划


根据业务场景规划程序权限,遵循以下原则:服务端程序限制访问源,最小权限原则;客户端程序仅使用STS临时授权令牌方式访问云资源,最小权限原则。


(10) 实施原则


用好访问控制服务是构建安全可靠的云资源环境的基础,只有在用户和权限管理上构建起足够的安全屏障才能充分享受阿里云服务高安全、高稳定的优势



二、访问控制RAM产品讲解

访问控制RAM产品讲解由阿里云访问控制RAM的产品经理阿阮负责。


image.png

访问控制RAM是阿里云提供的一项管理用户身份与资源访问权限的服务。当企业存在多用户协同操作资源时,使用RAM可以让您避免与其他用户共享云账号密钥,可按需为用户分配最小权限从而降低企业信息安全风险。

 

(1) 身份管理


从云资源的使用者大致可以分为人和程序两大类,无论是人还是程序都需要通过认证才能使用阿里云。

对人的认证方式有:在云账号下创建RAM用户对应企业内的员工,每个RAM用户拥有独立的用户名和密码用于登录验证,为了安全推荐为RAM用户开启MFA进行登录二次验证;适用于企业自有的一套身份系统,通过SSO和阿里云交互,人员的认证可在企业身份系统内完成,阿里云支持基于SAML2.0协议的SSO。

对程序的认证方式有:在云账号下创建RAM用户对应某个具体的应用程序,和人员身份的RAM用户不同的是,程序身份的RAM用户是使用访问密钥AccessKey来作为阿里云认证的身份凭证;实例RAM角色访问,部署在CSE实例中的应用程序,如需要访问其他云产品通常要 记住账号的AccessKey来实现,为了方便直接把AccessKey固化在实例中。实例RAM角色允许您将一个角色关联到ECS实例,在实例内部通过STS临时凭证访问其他云产品的API,STS临时凭证由系统自动生产且会周期性更新。

image.png

 

(2) 权限管理


RAM使用的是ABAC的权限管理模型,其优点是授权策略灵活、描述能力强,可表达多种场景化的授权。

image.png


(3) 访问控制的实现原理


一个RAM身份默认是没有任何权限的,要将权限策略授权给某个RAM身份才能完成权限的授予,当RAM身份使用阿里云控制台或者直接通过API访问云资源时,RAM会进行权限检查,将RAM身份此次操作的请求特征、身份特征、资源特征和RAM身份身上被授予的权限策略做对比。如果此次请求在RAM身份的权限范围内则鉴权通过可以正常执行操作,如此次请求超过RAM身份的权限范围则鉴权不通过,操作无法执行。

image.png


(4) 云产品支持RAM情况


绝大多数阿里云产品已支持RAM用户和角色访问,并使用RAM进行访问控制。



三、 最佳实践系统搭建

最佳实践系统搭建由阿里云智能业务支撑平台团队的解决方案架构师谈慧杰负责讲解。


(1) 创建资源组


步骤1 登录阿里云控制台,并前往首页。

步骤2 在页面上方菜单栏,选择企业 > 资源管理。

image.png

步骤3 在资源组页面,单击创建资源组。

步骤4 在创建资源组侧边页,完成以下生产环境资源组配置,并单击确定。image.png

步骤5 重复步骤 3~步骤 4,新建开发环境和测试环境资源组。image.png


(2) 添加基础资源


l 使用CADT工具部署资源环境

image.png

可从官方模版库 > 最佳实践 标签下找到 RAM 账号权限管理模版,快速创建本实践架构图。


l 创建OSS Bucket目录


步骤1 登录阿里云对象存储控制台。

步骤2 在 Bucket 列表中,单击 projects-code。

image.png

步骤3 在文件管理页面,单击新建目录。

步骤4 在新建目录侧边页,输入目录名为 release,并单击确定。

image.png

接下来需要在 Bucket projectx-dev 中上传一个文件。

步骤1 存储空间列表中,单击 projectx-dev。

步骤2 打开文件管理页签,并单击上传文件。

image.png

步骤3 在上传文件侧边页,单击直接上传,并选择上传一个本地文件(示例中使用 dfd.jpg)。

image.png


(3) 加固RAM用户安全设置


步骤1 登录阿里云访问控制控制台。

步骤2 加固密码强度设置。前往设置页面-打开安全设置页签-在密码强度设置下,单击编辑密码规则-在编辑密码规则侧边页,完成以下配置,并单击确定。

image.png

步骤3 加固登录安全。

在设置页面,打开安全设置页签,单击用户安全设置下的修改 RAM 用户安全设置。

在修改 RAM 用户安全设置侧边页,将登录掩码设置设置为办公网络出口 IP,并单击确定。

image.png

 


(4) 创建RAM用户组、用户及角色


步骤1 登录阿里云访问控制控制台。

步骤2 创建 RAM 用户组。前往人员管理 > 用户组页面-单击创建用户组-在新建用户组侧边页,完成以下配置,并单击确定-重复上述步 骤,分别创建开发组(dev)、测试组(test)、开发环境程序组(app_dev)、测试环境程序组(app_test)、生产环境程序组(app_prod)。


image.png

步骤3 创建 STS Token 分发用户。前往人员管理 > 用户页面-单击创建用户-在新建用户页面,完成以下配置,并单击确定-单击下载 CSV 文件,下载并保存三个用户的 AccessKey 信息-单击返回。

image.png

image.png

步骤4 创建 bucket 读写角色。前往 RAM 角色管理页面-单击新建 RAM 角色-在新建 RAM 角色侧边页,完成新建 RAM 角色向导-重复上述步骤,创建(测试 bucket)projectx-test 读写角色(role-projectx-test-rw)、(生产 bucket)projectx-prod 读写角色(role-projectx-prod-rw)。

image.png

image.png


(5) 资源组权限配置


l 创建权限策略


步骤1 登录阿里云访问控制控制台。

步骤2 前往权限管理 > 权限策略管理页面,单击创建权限策略。

image.png

步骤3 在新建自定义权限策略页面,完成以下配置,并单击确定。

image.png

步骤4 重复步骤 2~步骤 3,通过脚本配置的方式,再新建六个自定义权限策略。

 

l 开发环境授权


步骤1 登录阿里云控制台,并前往首页。

步骤2 在页面上方菜单栏,选择企业 > 资源管理。

步骤3 在资源组列表中,定位到开发环境资源组,并单击其操作列下的权限管理。

步骤4 在开发环境资源组页面,打开权限管理页签,并单击新增授权。

image.png

步骤5 在设置授权侧边页,完成以下设置,并单击确定。

image.png

步骤6 确认授权结果,并单击完成。

步骤7 登录阿里云访问控制控制台。

步骤8 前往人员管理 > 用户组页面。

步骤9 定位到开发组,单击其操作列下的添加权限。

image.png

步骤10 在添加权限侧边页,为开发组选择自定义策略下的以下权限,并单击确定。

oss_projects-code_release_rw:projects-code 下 release 目录读写权限

oss_projectx-dev_all:projectx-dev 完全控制权限

image.png

步骤11 确认授权结果,并单击完成。


l 测试环境授权


步骤1 登录阿里云控制台,并前往首页。

步骤2 在页面上方菜单栏,选择企业 > 资源管理。

步骤3 在资源组列表中,定位到测试环境资源组,并单击其操作列下的权限管理。

步骤4 在测试环境资源组页面,打开权限管理页签,并单击新增授权。

步骤5 在设置授权侧边页,完成以下设置,并单击确定。

image.png

步骤6 确认授权结果,并单击完成。

步骤7 登录阿里云访问控制控制台。

步骤8 前往人员管理 > 用户组页面。

步骤9 定位到测试组,单击其操作列下的添加权限。

步骤10 在添加权限侧边页,为测试组选择自定义授权策略下的以下权限,并单击确定。

oss_projects-code_release_r:projects-code 下 release 目录只读权限

oss_projectx-test_all:projectx-test 完全控制权限

步骤11 确认授权结果,并单击完成。

image.png

 

l 运维组授权(代管生产环境)


步骤1 登录阿里云访问控制控制台。

步骤2 前往人员管理 > 用户组页面。

步骤3 定位到运维组,单击其操作列下的添加权限。

步骤4 在添加权限侧边页,在运维组选择以下权限策略,并单击确定。

[系统权限策略] AdministratorAccess:管理所有阿里云资源的权限

[自定义策略] deny_ram:没有 RAM 管理权限

步骤5 确认授权结果,并单击完成。


(6) 程序组、STS Token分发用户权限配置


l 创建权限策略


步骤1 登录 RAM 访问控制控制台。

步骤2 前往权限管理 > 权限策略管理页面,并单击创建权限策略。

步骤3 在创建自定义权限策略页面,通过脚本配置的方式,新建 10 个自定义权限策略。


l 程序用户组授权


步骤1 登录 RAM 访问控制控制台。

步骤2 前往人员管理 > 用户组页面。

步骤3 定位到开发环境程序组,单击其操作列下的添加权限。

步骤4 在添加权限侧边页,授权范围选择开发环境资源组,并选择以下自定义权限策略,单击确定。

oss_projects-code_release_r_app:程序只读访问 projects-code release 目录权限

oss_projectx-dev_rw_app:开发环境读写访问 bucket projectx-dev 权限

         image.png

步骤5 确认授权结果,并单击完成。

步骤6 在用户组列表,定位到测试环境程序组,单击其操作列下的添加权限。

步骤7 在添加权限侧边页,在测试环境程序组选择以下自定义权限策略,并单击确定。

oss_projects-code_release_r_app:程序只读访问 projects-code release 目录权限

oss_projectx-test_rw_app:测试环境读写访问 bucket projectx-test 权限

步骤8 确认授权结果,并单击完成。

步骤9 在用户组列表,定位到生产环境程序组,单击其操作列下的添加权限。

步骤10 在添加权限侧边页,在生产环境程序组选择以下自定义权限策略,并单击确定。

oss_projects-code_release_r_app:程序只读访问 projects-code release 目录权限

oss_projectx-prod_rw_app:生产环境读写访问 bucket projectx-prod 权限

image.png

步骤11 确认授权结果,并单击完成。


l RAM角色授权


步骤1 登录 RAM 访问控制控制台。

步骤2 前往 RAM 角色管理页面。

步骤3 定位到 projectx-dev 读写角色(role-projectx-dev-rw),单击其操作列下的添加权限。

步骤4 在添加权限侧边页,为 projectx-dev 读写角色选择以下自定义权限策略,并单击确定。

oss_projectx-dev_rw_role:角色读写访问 bucket projectx-dev 权限

步骤5 确认授权结果,并单击完成。

步骤6 在 RAM 角色列表中,定位到 projectx-test 读写角色(role-projectx-test-rw),单击其操作列下的添加权限。

步骤7 在添加权限侧边页,为 projectx-test 读写角色选择以下自定义权限策略,并单击确定。

oss_projectx-test_rw_role:角色读写访问 bucket projectx-test 权限

image.png

步骤8 确认授权结果,并单击完成。

步骤9 在 RAM 角色列表中,定位到 projectx-prod 读写角色(role-projectx-prod-rw),单击其操作列下的添加权限。

步骤10 在添加权限侧边页,为 projectx-prod 读写角色选择以下自定义权限策略,并单击确定。

oss_projectx-prod_rw_role:角色读写访问 bucket projectx-prod 权限

步骤11 确认授权结果,并单击完成。

 

l STS Token分发用户授权


步骤1 登录阿里云 RAM 访问控制控制台。

步骤2 前往人员管理 > 用户页面。

步骤3 定位到开发环境 STS Token 分发用户,单击其操作列下的添加权限。

步骤4 在添加权限侧边页,为开发环境 STS Token 分发用户选择以下自定义策略,并单击确定。

assume_role-projectx-dev-rw:扮演 role-projectx-dev-rw 角色权限

步骤5 确认授权结果,并单击完成。

步骤6 在用户列表中,定位到测试环境 STS Token 分发用户,单击其操作列下的添加权限。

步骤7 在添加权限侧边页,为测试环境 STS Token 分发用户选择以下自定义权限策略,并单击确定。

assume_role-projectx-test-rw:扮演 role-projectx-test-rw 角色权限

步骤8 确认授权结果,并单击完成。

步骤9 在用户列表中,定位到生产环境 STS Token 分发用户,单击其操作列下的添加权限。

步骤10 在添加权限侧边页,为生产环境 STS Token 分发用户选择以下自定义权限策略,并单击确定。

assume_role-projectx-prod-rw:扮演 role-projectx-prod-rw 角色权限

步骤11 确认授权结果,并单击完成。

(7) RAM控制台用户权限验证


l 新建用户并添加到用户组


步骤1 登录阿里云 RAM 访问控制控制台。

步骤2 前往人员管理 > 用户页面,并单击创建用户。

步骤3 在创建用户页面,完成以下配置,并单击确定。

image.png

步骤4 勾 选新建的用户 Alice, 单击添加到用户组,并在添加组成员侧 边页 ,选 择开发组(dev),单击确定。

步骤5 重复步骤 4,将用户 Bob 添加到测试组(test),将用户 Colin 添加到运维组(sa)。


l 控制台用户验证


RAM 用户首次登录

步骤1 (主账号)登录阿里云 RAM 访问控制控制台。

步骤2 在概览页面,复制用户登录地址。

步骤3 注销当前主账号,访问步骤 2 复制的用户登录地址,并登录 RAM 用户 Alice(密码可以从下载的 CSV 文件中获取)。

步骤4 启用 MFA 设备。

1. 在移动端打开阿里云 APP。2. 使用阿里云 APP 扫描启用虚拟 MFA 设备页面的二维码,完成账号添加。3. 在启用虚拟 MFA 设备页面,连续输入阿里云 APP 上刷新的两组安全码,并单击确定启用。

步骤5 重置密码。设置符合要求要求的用户密码,并单击确认重置。

验证非办公环境无法登录

验证方式:通过手机网络尝试登录 RAM 用户 Alice。

预期结果:登录失败,并收到登录提示:您的 Ip 不在管理员配置的白名单内,登录受限。

办公网络环境登录

步骤1 在办公网络环境中,访问 RAM 用户登录地址。

步骤2 登录 Alice 用户。

步骤3 进行密码验证。

步骤4 进行多因素认证。

1. 打开移动端的阿里云 APP。2. 在常用工具下,单击虚拟 MFA。3. 获取安全码。4. 在验证虚拟 MFA 设备页面,输入安全码,并单击提交验证。

验证 ECS 权限

步骤1 登录 Alice 用户后,通过产品与服务导航,前往云服务器 ECS 控制台。

步骤2 验证仅可见开发环境下的 ECS 实例。

1. 前往实例与镜像 > 实例页面,并将资源组设置为开发环境,地域设置为华北 3(张家口),可以看到开发环境下的 ECS 实例。2.将资源组设置为生产环境。

步骤3 验证对开发环境实例仅可重启,不可停止、释放。

1. 开发环境下,在实例列表中勾选一个实例,并单击停止。2.在停止实例页面,选择停止,并单击确定。3.参照上述步骤,验证不可释放和可重启开发环境下实例。

验证 VPC 权限

步骤1 登录 Alice 用户后,通过产品与服务导航,前往专有网络控制台。

步骤2 验证仅可见开发环境下的 VPC 实例。

1. 在专有网络页面上方,将地域设置为华北 3(张家口),资源组分别设置为账号全部资源、默认资源组、测试环境、生产环境。2.将资源组设置为开发环境。

步骤3 验证无管理权限。

在 VPC 列表,尝试修改 VPC 名称 vpc_dev 操作,系统提示 RAM 用户无权限执行此操作。

验证 RDS 权限

步骤1 登录 Alice 用户后,通过产品与服务导航,前往云数据库 RDS 控制台。

步骤2 验证仅可见开发环境下的 RDS 实例。

1.在实例列表页面上方,将地域设置为华北 3(张家口),资源组分别设置为账号全部资源、默认资源组、测试环境、生产环境。2. 将资源组设置为开发环境。

步骤3 验证对 RDS 实例具有只读权限。

1.开发环境下,定位到 RDS 实例,单击其操作列下的管理。2. 分别打开基本信息、数据库管理、监控与报警、备份恢复页面,可以查看相关信息。3. 返回实例列表,单击实例操作列下的更多 > 释放实例。4. 在释放实例对话框中,单击确定。

验证 OSS 权限

步骤1 登录 Alice 用户后,通过产品与服务导航,前往对象存储控制台。

步骤2 验证对 projectx-dev bucket 以外非授权的 bucket 无访问权限。

1. 在左侧 Bucket 列表中,单击 dest-b,进入 dest-b 存储空间。2. 出现错误提示,没有相应的访问权限。

步骤3 验证对 projectx-dev bucket 拥有读、写、删权限。

1. 在左侧存储空间列表中,单击 projectx-dev,进入 projectx-dev 存储空间。2. 在 projectx-dev 存储空间中,打开文件管理页签。3. 单击示例文件操作列下的更多 > 下载。4. 单击新建目录,并在新建目录侧边页尝试新建一个目录(示例中目录名为 test-dev),单击确定。5. 单击新建目录操作列下的更多 > 删除,并确定删除。

步骤4 验证对 projects-code bucket 仅有 release 目录的读写权限,其他路径无权限。

1. 在左侧存储空间列表中,单击 projects-code,进入 projects-code 存储空间。2. 在 projects-code 存储空间中,打开文件管理页签。3. 尝试打开 prod 目录。4. 打开 release 目录。5. 单击上传文件。6. 在上传文件框内直接拖入一个文件,确认可以上传成功。7. 单击新上传文件操作列下的更多 > 删除。8. 在删除提示中,单击确定。

(8) RAM 程序用户权限验证

l 开发组程序用户

创建程序组用户

步骤1 (主账号)登录阿里云 RAM 访问控制控制台。

步骤2 前往人员管理 > 用户页面,并单击创建用户。

步骤3 在新建用户页面,完成以下配置,并单击确定。

image.png

步骤4 勾选新建的用户 app_dev_1,单击添加到用户组,并在添加组成员侧边页,选择开发环境程序组(app_dev),单击确定。

验证程序组用户权限

步骤1 登录云服务器 ECS 控制台。

步骤2 前往实例列表,并在页面上方将资源组设置为开发环境,地域设置为华北 3(张家口)。

步骤3 定位到开发环境下的 ECS 实例,您可以在实例的 IP 地址下看到其弹性 IP 地址。

步骤4 使用 putty 或者其他 SSH 客户端工具远程连接 ECS 实例。

步骤5 下载 OSS Util 工具。

步骤6 为 OSS Util 工具增加执行权限。

步骤7 配置 OSS Util 工具。

步骤8 验证 app_dev_1 用户没有 list Bucket 权限。

步骤9 验证 app_dev_1 用户对 bucket projects-code 仅有 release 目录只读权限。

步骤10 验证 app_dev_1 用户对 bucket projectx-dev 有写入、下载权限,没有 list 目录权限。


l STS Token分发用户


安装 SDK 环境

步骤1 通过 SSH 远程连接开发环境 ECS。

步骤2 升级 pip 工具到最新版本。

步骤3 安装阿里云 SDK 核心库。

步骤4 安装 STS SDK。

步骤5 安装 OSS SDK。

 

检查角色扮演权限

步骤1 在开发环境 ECS 上创建 python 文件(get_sts_token.py)。

步骤2 在文件中填入内容。

步骤3 按 Esc 退出编辑模式。

步骤4 按:wq 保存并退出文件。

步骤5 运行程序。

步骤6 验证此用户只能扮演 projectx-dev 读写角色(role-projectx-dev-rw)。

验证上传文件权限

步骤1 在开发环境 ECS 上创建 python 文件(oss_sts.py)。

步骤2 在文件中填入内容。

步骤3 按 Esc 退出编辑模式。

步骤4 按:wq 保存并退出文件。

步骤5 运行程序。

(9) 安全检查及安全报告

建议您定期前往 RAM 控制台,查看安全检查结果及 RAM 安全报告。

image.png

相关文章
|
5月前
|
文字识别 API
印刷文字识别产品使用合集之如何创建RAM用户和阿里云账号的访问密钥
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
6月前
|
弹性计算 运维 Devops
云效产品使用报错问题之云效绑定的是RAM账号,忘记密码如何解决
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
6月前
|
数据库 数据安全/隐私保护
在阿里云中,访问控制(Resource Access Management,简称RAM)是权限管理系统,主要用于控制账号在阿里云中
在阿里云中,访问控制(Resource Access Management,简称RAM)是权限管理系统,主要用于控制账号在阿里云中
653 3
|
6月前
|
缓存 BI
咨询下,阿里云云效ram账号绑定钉钉账号后,手机端看项目,是空的,怎么解决?
咨询下,阿里云云效ram账号绑定钉钉账号后,手机端看项目,是空的,怎么解决?
104 2
|
存储 数据库 数据安全/隐私保护
RAM账号快速入门
RAM账号快速入门
362 0
|
存储 数据采集 运维
阿里云RAM账号配置SLS数据加工最佳实践
数据加工服务是阿里云SLS推出的面向日志ETL处理的服务,主要解决数据加工过程中转换、过滤、分发、富化等场景。使用数据加工功能时,将涉及数据读写权限以及数据加工操作权限的授予问题。本文档主要介绍:1. 使用主账号为RAM用户授权以使其具有浏览Logstore数据的权限并能够创建和修改数据加工作业;2. 在不同工作场景下使用RAM账号创建或修改数据加工的最佳实践方法。
|
人工智能 自然语言处理 文字识别
阿里云子账号(RAM用户)使用人工智能产品相关授权示例
访问控制RAM(Resource Access Management)是阿里云提供的管理用户身份与资源访问权限的服务,使用RAM,您可以创建、管理RAM用户(例如员工、系统或应用程序),并可以控制这些RAM用户对资源的操作权限。当您的企业存在多用户协同操作资源的场景时,RAM可以让您避免与其他用户共享阿里云账号密钥,按需为用户分配最小权限,从而降低企业的信息安全风险。在使用RAM用户(子账号)调用相应API前,需要阿里云账号(主账号)对RAM账号进行相应授权。但是客户在第一次使用过程中往往看到权限问题不知如果解决,更不懂怎么进行授权操作等一系列问题。本文简单介绍在一些服务如何为RAM用户授权。
1255 0
阿里云子账号(RAM用户)使用人工智能产品相关授权示例
|
安全 NoSQL 关系型数据库
RAM账号权限管理
介绍单账号体系下用户管理、资源分组、权限配置、访问控制的治理方法及原则。以某电商网站项目为例,根据研发、测试、生产环境划分及业务流程,使用阿里云访问控制服务RAM规划实现资源分组、账号用户体系、权限分配、安全加固、定期安全检查等措施的最佳实践。
RAM账号权限管理
|
5月前
|
敏捷开发 Web App开发 测试技术
阿里云云效产品使用问题之钉钉绑定主帐号和RAM 有什么区别么
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
6月前
|
云安全 弹性计算 安全
AK泄露了,怎么办?
AccessKey(包含AccessKey ID和Secret)是程序访问的凭证,无异于打开云上资源的大门钥匙,保管好AK是保障云上安全最重要的事情,甚至没有之一。
106461 8