はじめまして!東京でシステムエンジニアをしているkeidといいます。
今回は自分のアカウントでCloud9を使って友人とコードをシェアして一緒に開発する必要ができたため、
1.AwsCloud9にのみアクセス可能なユーザーを払い出し、
2.もとのアカウントで作成していた環境を共有
してみたいと思います。
AWS Cloud9へのアクセスのみが可能なユーザーを作成する
1.IAMグループの新規作成
まずはルートユーザあるいは権限のあるユーザを使ってcloud9シェア専用のアカウントの払い出しを行います。
1.マネジメントコンソール>IAM>グループへ移動し"新しいグループの作成”を選択する。
2.任意のグループ名を入力しポリシーのアタッチ画面へ移動。ここで今回割り当てる権限を選択する。が、試しに検索フォームに"cloud9"と入力すると以下のように3つのポリシーが表示される。
適切な権限を与える。
awsのユーザーガイドを参照してみるとそれぞれ以下のような違いがあるらしい。
-
AWSCloud9Administrator
Amazon EC2: AWS アカウントの複数 Amazon VPC とサブネットリソースに関する情報を取得する。
AWS Cloud9: AWS アカウントのすべての AWS Cloud9 アクション。
IAM: AWS アカウントの IAM ユーザーに関する情報を取得し、必要に応じて AWS アカウントに AWS Cloud9 サービスにリンクされたロールを作成する。 -
AWSCloud9User
Amazon EC2: AWS アカウントの複数 Amazon VPC とサブネットリソースに関する情報を取得する。
AWS Cloud9: environments に関する情報を作成して取得し、その environments のユーザー設定を取得して変更する。
IAM: AWS アカウントの IAM ユーザーに関する情報を取得し、必要に応じて AWS アカウントに AWS Cloud9 サービスにリンクされたロールを作成する。
- AWSCloud9EnvironmentMember
AWS Cloud9: 招待された environments の情報を取得し、招待された environments のユーザー設定を取得する。
IAM: AWS アカウントの IAM ユーザーに関する情報を取得する。
少し分かりづらいが、だいたいこんな感じか。
-
AWSCloud9Administrator
Cloud9に関してルートユーザーとほぼ同じ権限(環境のシェア、新規作成、削除などほぼ全て行うことができる) -
AWSCloud9User
Cloud9でシェアされた環境にアクセス、編集ができる。また、新しい環境の作成ができる。 -
AWSCloud9EnvironmentMember
Cloud9でシェアされた環境にアクセスができる。編集はできない。
今回の目的は環境のシェアと編集の権限なので私はAWSCloud9Userを選択しました。それぞれの目的に応じて選択しましょう。
長くなりましたが、ポリシーを選択したら確認画面をクリックしてグループの作成完了です。
2.IAMユーザの作成、グループの割り当て
次はユーザを作成し、先ほど作成したグループに割り当てます。
1.マネジメントコンソール>IAM>ユーザを追加 へ移動し任意のユーザ名を入力する。
2."ユーザをグループに追加"の画面では先ほど作成したグループを選択する。
以上でユーザの作成と権限の割り当てが完了です。
3.Cloud9で環境のシェア
ユーザの作成が完了したのでいよいよCloud9の環境シェアをしていきます。
1.今回シェアするCloud9の環境を持っているユーザーでログインする。
2.マネジメントコンソール>cloud9からシェアしたい環境のIDEを開く。
3.Window>Shareを選択。画面下部にあるInvite Membersにシェアしたいユーザ名(先ほど作成したユーザ)を入力しInviteをクリック。(この際入力フォーム右のボタンでcloud9へのアクセス権限を選択する。R...Read,RW...Read&Write)
4. 新しくユーザが追加されたことを確認したらDoneをクリックしてシェア完了!
シェアされた環境にアクセスしてみる
環境のシェアが完了したはずなので確認してみましょう。
1.シェアされたアカウントでログインしなおす。
2.マネジメントコンソール>cloud9>Sharedwithyou を選択。シェアされた環境が表示されていることを確認。
やってみればなんてことないですが、AWS初心者にとってはポリシーの違いなど理解しづらくて時間がかかるかもですね。少しずつ慣れていきたいですね。。