如何切换Cloud9的Owner

注意: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

https://aws.amazon.com/cn/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell