注意:Cloud9宣布了将在2024年7月之后不再为新账号提供服务,原有AWS账号可继续使用。请参考本文末尾的官网说明。
一、背景
使用Cloud9时候经常遇到一个问题,创建Cloud9开发环境的是另外的IAM User或者是联合登陆的IAM Role,在环境创建好之后使用另外的账户去操作Cloud9,在本Region的Cloud9界面下的My environment
下是看不到别人创建的Cloud9的。由此必须切换到创建Cloud9的身份重新登陆AWS控制台。这样使用非常不便。另外,如果创建Cloud9的是一个IAM Role,可能无法直接登陆。
此时,可以通过CLI为现有的Cloud9增加新的权限,即可让其他人有权限使用。
二、拼接命令并修改权限
1、查看要操作的Cloud9的环境ID
进入Cloud9服务,确认Region正确,点击左侧菜单All account environments
查询本账号下所有环境,点击环境名称进入,查看EC2 Instance下边的ARN,里边的environments后便的就是ID。如下截图。
2、查询当前操作环境的身份
进入对应region,点击右上角的Cloud Shell图标,在浏览器内启动控制台,然后执行如下命令。
aws sts get-caller-identity
由此获得当前账户身份的ARN,复制下来,下一步使用。如下截图。
3、拼接AWSCLI命令
拼接如下一段命令。替换其中的environment-id
为第一步查询获得的cloud9的ID,替换user-arn
为第二部查询到的当前操作者的ARN,然后替换region
,并执行命令,即可完成权限修改。
aws cloud9 create-environment-membership \
--environment-id 0f65b942a7604a1591293d252882d3f0 \
--user-arn arn:aws:sts::123456789012:assumed-role/miao2/zhangsan \
--permissions read-write \
--region us-west-2
修改成功。
三、参考文档
AWSCLI修改Cloud9的参数说明
https://docs.aws.amazon.com/cli/latest/reference/cloud9/create-environment-membership.html
如何从Cloud9切换到AWS IDE Toolkits or AWS CloudShell