ハンズオン(簡易版): IAM基礎(ポリシー)

3.2. AWS CLIコマンドの実行 (describe-environmentsの失敗)

手順の目的

AWS CLIコマンドを実行します。

設定値の指定

設定値の指定

手順に必要な設定値を変数に格納をします。

0.a. リージョン

リージョンを指定します。

変数の設定

export AWS_DEFAULT_REGION='ap-northeast-1'

0.b. クレデンシャルファイル

クレデンシャルファイルを指定します。

環境変数の設定:

export AWS_SHARED_CREDENTIALS_FILE="${HOME}/.credentials-handson-cli-iam/handson-cli-basic_policy-user.ini"

0.c. AWSプロファイル名

AWSプロファイル名を指定します。

環境変数の設定:

export AWS_PROFILE='handson-cli-basic_policy-user'

設定値の確認

各変数に正しい設定値が格納されていることを確認します。

変数の確認:

cat << END

  # 0.a. AWS_DEFAULT_REGION:"ap-northeast-1"
         AWS_DEFAULT_REGION="${AWS_DEFAULT_REGION}"
  # 0.b. AWS_SHARED_CREDENTIALS_FILE:"${HOME}/.credentials-handson-cli-iam/handson-cli-basic_policy-user.ini"
         AWS_SHARED_CREDENTIALS_FILE="${AWS_SHARED_CREDENTIALS_FILE}"
  # 0.c  AWS_PROFILE:"handson-cli-basic_policy-user"
         AWS_PROFILE="${AWS_PROFILE}"

END

各変数について、上の行と下の行の値の内容もしくは形式が同じであることを確認します。 もし異なる場合は、それぞれの手順番号に戻って変数の設定を行います。

処理の実行

Cloud9環境IDを取得します。

コマンド:

ARRAY_CLOUD9_ENVIRONMENTS_IDS=$( \
  aws cloud9 list-environments \
    --query environmentIds[] \
    --output text \
) \
  && echo ${ARRAY_CLOUD9_ENVIRONMENTS_IDS}

結果(例):

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

describe-environmentsサブコマンドを正常に実行する権限が無いことを確認します。

コマンド:

aws cloud9 describe-environments \
  --environment-ids ${ARRAY_CLOUD9_ENVIRONMENTS_IDS}

結果(例):

An error occurred (AccessDeniedException) when calling the DescribeEnvironments operation: User: arn:aws:iam::XXXXXXXXXXXX:user/handson-cli-basic-policy-user is not authorized to perform: cloud9:DescribeEnvironments on resource: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

完了確認

本手順の主処理は、以下の完了条件を満たしたときに成功したものとします。

完了条件1: AWS CLIコマンドの実行結果を確認できている。

「AWS CLIコマンドの実行結果を確認できている。」ことを確認します。

注釈

主処理で確認できていればOKです。

環境変数を削除して、プロファイルの権限を無効にします。

環境変数の設定:

export -n AWS_SHARED_CREDENTIALS_FILE \
  && unset AWS_SHARED_CREDENTIALS_FILE

環境変数の設定:

export -n AWS_PROFILE \
  && unset AWS_PROFILE

手順の完了