ヤマムギ

growing hard days.

*

Cloud9環境を共有した際の環境認証

   

Cloud9を環境を構築したIAMユーザー以外に共有したとき、その環境から実行するCLIコマンドやSDKプログラムにはどの権限が適用されるのかを確認しました。

確認結果

環境の認証情報が使用されるので次のとおりでした。

  • AWSマネージド一時認証情報がONの場合
    環境を構築したIAMユーザー、IAMロールの権限

  • AWSマネージド一時認証情報がOFFで.aws/credentialsに認証情報がある場合
    .aws/credentialsの権限

  • AWSマネージド一時認証情報がOFFで、.aws/credentialsがなくCloud9のEC2にIAMロールが設定されている場合
    IAMロールの権限

共有する場合は、AWSマネージド一時認証情報を使用するべきではなさそうです。
開発環境として必要なIAMロールを設定してあげる方法が良さそうです。

確認手順

AWSマネージド一時認証情報がONの場合

IAMロールを引き受けた状態でCloud9環境を構築して、IAMユーザーCloud9ShareUserを招待しました。

Cloud9ShareUserでマネジメントコンソールにサインインして、Cloud9環境にアクセスして、sts get-caller-identityで権限を確認しました。

Cloud9環境を構築したIAMロールを引き受けたセッションの権限で実行されていることがわかりました。

AWSマネージド一時認証情報がOFFで.aws/credentialsに認証情報がある場合

環境を構築したIAMロールセッション側で、AWSマネージド一時認証情報をOFFにしました。
この操作は共有されたIAMユーザー側ではできませんでした。

CLIコマンドaws configureを実行して、IAMユーザーCloud9ShareUserのアクセスキーIDとシークレットアクセスキーを設定しました。
aws configureは構築した側でも招待された側でもどちらでも設定可能でした。

EC2インスタンスにEC2DefaultというIAMロールも引き受けるよう設定しました。
EC2インスタンスでは、IAMロールよりも.aws/credentialsが優先されるのでこれで検証できます。

招待されているCloud9ShareUserで、sts get-caller-identityで権限を確認しました。

.aws/credentialsの権限が適用されています。

AWSマネージド一時認証情報がOFFで、.aws/credentialsがなくCloud9のEC2にIAMロールが設定されている場合

rm ~/.aws/credentials で削除しました。

招待されているCloud9ShareUserで、sts get-caller-identityで権限を確認しました。

EC2インスタンスに設定したIAMロールの権限が適用されています。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS ,

ad

ad

  関連記事

EC2 Amazon LinuxのNginx+RDS MySQLにレンタルWebサーバーからWordPressを移設する(手順整理版)

ブログサイト(WordPress)をレンタルWebサーバーからAWSに移設する事 …

EC2インスタンスプロファイルによってAssumeRoleされた認証情報の有効期限は短くできるのでしょうか

「EC2インスタンスプロファイルによってAssumeRoleされた認証情報の有効 …

Selenium, Headless ChromeとAWS Lambdaで夜な夜なスクレイピング

このようなアーキテクチャで、Alexaスキルの開発を進めていまして、元となる情報 …

AWS Cloud9で環境を共有する

(特にリモート環境では)画面共有をしたり、リポジトリを共有したり、コーディング環 …

PyCharmにAWS Tool kitをインストールしてサンプルのLambda関数をデプロイして実行しました

この記事はJetBrainsIDE Advent Calendar 2018に参 …

AWS コスト最適化ハブを有効にしました

新しいコスト最適化ハブは、推奨アクションを一元化してコストを節約します 2023 …

AWS複数アカウントのリソースをLambda(Python)から一括操作したくて

AWSの複数アカウント(30ちょい)のリソースをまとめて自動処理したくて。 とり …

EC2 Linux ユーザーデータ実行ユーザーとカレントディレクトリの確認

きっと、rootなんだろうなあと認識してたのですが、自分の目で確認したことはなか …

AWS Toolkit for EclipseからLambda関数を直接作成できずにMavenでパッケージ化して作成

AWS Toolkit for EclipseからLambda関数を直接作成 チ …

EC2にSystems MangerからCloudWatchエージェントをインストール

CloudWatchエージェント EC2の標準メトリクスでは収集できないメモリの …