ハンズオン(簡易版): STS入門

2.1. STS API呼び出し元情報の取得 (IAMユーザー)

手順の目的

STS API呼び出し元の情報を取得します。

設定値の指定

設定値の指定

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

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

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

環境変数の設定:

export AWS_SHARED_CREDENTIALS_FILE="${HOME}/.credentials-handson-cli-sts-novice/handson-cli-sts-novice-1st-user.ini"

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

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

環境変数の設定:

export AWS_PROFILE='handson-cli-sts-novice-1st-user'

設定値の確認

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

変数の確認:

cat << END

  # 0.a. AWS_SHARED_CREDENTIALS_FILE:"${HOME}/.credentials-handson-cli-sts-novice/handson-cli-sts-novice-1st-user.ini"
         AWS_SHARED_CREDENTIALS_FILE="${AWS_SHARED_CREDENTIALS_FILE}"
  # 0.b. AWS_PROFILE:"handson-cli-sts-novice-1st-user"
         AWS_PROFILE="${AWS_PROFILE}"

END

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

処理の実行

STS API呼び出し元の情報を取得します。

コマンド:

aws sts get-caller-identity 

結果(例):

{
  "UserId": "AIDAXXXXXXXXXXXXXXXXX",
  "Account": "XXXXXXXXXXXX",
  "Arn": "arn:aws:iam::XXXXXXXXXXXX:user/handson-cli-sts-novice-1st-user"
}

AWSアカウントIDの取得

STS API呼び出し元のAWSアカウントIDを取得します。

コマンド:

aws_account_id=$( \
  aws sts get-caller-identity \
    --query 'Account' \
    --output text \
) \
  && echo ${aws_account_id}

結果(例):

XXXXXXXXXXXX

STS API呼び出し元エンティティのARN取得

STS API呼び出し元エンティティのARNを取得します。

コマンド:

iam_entity_arn=$( \
  aws sts get-caller-identity \
    --query 'Arn' \
    --output text \
) \
  && echo ${iam_entity_arn}

結果(例):

arn:aws:iam::XXXXXXXXXXXX:user/handson-cli-sts-novice-1st-user

完了確認

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

完了条件1: STS呼び出し元識別子の情報を取得できている。

「STS呼び出し元識別子の情報を取得できている。」ことを確認します。

注釈

主処理で取得できていればOKです

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

環境変数の設定:

export -n AWS_SHARED_CREDENTIALS_FILE \
  && unset AWS_SHARED_CREDENTIALS_FILE

環境変数の設定:

export -n AWS_PROFILE \
  && unset AWS_PROFILE

手順の完了