はじめに
Cloud9にある共有機能ですが、別のアカウントからスイッチしたユーザをどう設定するかわからなかったので、記事にしました。
まとめ
- 別アカウントからスイッチしたユーザを、Cloud9の共有時に指定する場合は、
arn:aws:sts::123456789012:assumed-role/MyAssumedRole/MyAssumedRoleSession
を使う-
123456789012
は、スイッチ先のアカウントID -
MyAssumedRole
は、スイッチ先のロール名 -
MyAssumedRoleSession
は、(だいたい)スイッチ元のユーザ名- 自分でセッション名を指定している場合はその文字列
-
aws sts get-caller-identity
で表示されるArn
-
経緯
公式に記載されている方法は以下になります。
ロールを引き受けたユーザーまたはロールを引き受けたフェデレーティッドユーザーを招待するには、「arn:aws:sts::123456789012:assumed-role/MyAssumedRole/MyAssumedRoleSession」と入力します。123456789012 を AWS アカウント ID、MyAssumedRole を引き受けたロールの名前、MyAssumedRoleSession を引き受けたロールのセッション名で置き換えます。
最初、引き受けたロールのセッション名という言葉がわからず、何の文字列を指定したらいいかわかりませんでした。
そのあたり、以下のページを読んではっきりしました。
- そもそも、スイッチする際の
aws sts assume-role
で、--role-session-name
としてロールのセッション名を指定する。 - コンソールでスイッチロールをした場合、IAMユーザ名が用いられる。
- 今までコンソールでしかスイッチしたことなかったので、ロールのセッション名というのを全く意識していなかった。
ということでした。
ちなみに私はいつも、以下のアドオンを使って切り替えています。便利なので使ってみてください。
おわりに
知ってしまえば簡単なことでしたが、至るまでに結構時間がかかりましたので、同じように困っている方の助けになれば幸いです。