IAMユーザー"handson-cli-s3-MaintUser"のAPIアクセスキーを作成します。
作業に必要なパラメータを変数に格納をします。
1. IAMユーザー
アクセスキーを作成するユーザー名を指定します。
変数の設定: IAM_USER_NAME='handson-cli-s3-MaintUser'
変数の設定:
IAM_USER_NAME='handson-cli-s3-MaintUser'
2. アクセスキーディレクトリ名
アクセスキーを保存するディレクトリ名を指定します。
変数の設定: DIR_ACCESS_KEY="${HOME}/environment/tmp-handson-cli-s3"
DIR_ACCESS_KEY="${HOME}/environment/tmp-handson-cli-s3"
ディレクトリが存在することを確認します。
コマンド: ls -d ${DIR_ACCESS_KEY} 結果(例:存在する場合): ${HOME}/environment/tmp-handson-cli-s3
コマンド:
ls -d ${DIR_ACCESS_KEY}
結果(例:存在する場合):
${HOME}/environment/tmp-handson-cli-s3
存在しない場合は作成します。
コマンド: mkdir -p ${DIR_ACCESS_KEY}
mkdir -p ${DIR_ACCESS_KEY}
各変数に正しいパラメータ値が格納されていることを確認します。
変数の確認: cat << END # 1. IAM_USER_NAME:"handson-cli-s3-MaintUser" IAM_USER_NAME="${IAM_USER_NAME}" # 2. DIR_ACCESS_KEY:"${HOME}/environment/tmp-handson-cli-s3" DIR_ACCESS_KEY="${DIR_ACCESS_KEY}" END
変数の確認:
cat << END # 1. IAM_USER_NAME:"handson-cli-s3-MaintUser" IAM_USER_NAME="${IAM_USER_NAME}" # 2. DIR_ACCESS_KEY:"${HOME}/environment/tmp-handson-cli-s3" DIR_ACCESS_KEY="${DIR_ACCESS_KEY}" END
現在のアクセスキーの数を確認します。(上限は2です。)
コマンド: COUNT_IAM_ACCESS_KEYS=$( \ aws iam list-access-keys \ --user-name ${IAM_USER_NAME} \ --query 'length(AccessKeyMetadata[])' \ ) \ && echo ${COUNT_IAM_ACCESS_KEYS} 結果(例): 0
COUNT_IAM_ACCESS_KEYS=$( \ aws iam list-access-keys \ --user-name ${IAM_USER_NAME} \ --query 'length(AccessKeyMetadata[])' \ ) \ && echo ${COUNT_IAM_ACCESS_KEYS}
結果(例):
0
アクセスキーのファイル名を指定します。
変数の設定: FILE_ACCESS_KEY="${DIR_ACCESS_KEY}/${IAM_USER_NAME}-token-${COUNT_IAM_ACCESS_KEYS}.json" \ && echo ${FILE_ACCESS_KEY} 結果(例): ${HOME}/environment/tmp-handson-cli-s3/handson-cli-s3-MaintUser-token-0.json
FILE_ACCESS_KEY="${DIR_ACCESS_KEY}/${IAM_USER_NAME}-token-${COUNT_IAM_ACCESS_KEYS}.json" \ && echo ${FILE_ACCESS_KEY}
${HOME}/environment/tmp-handson-cli-s3/handson-cli-s3-MaintUser-token-0.json
アクセスキーを作成します。
変数の確認: cat << END # IAM_USER_NAME:"handson-cli-s3-MaintUser" IAM_USER_NAME="${IAM_USER_NAME}" # FILE_ACCESS_KEY:"${HOME}/environment/tmp-handson-cli-s3/handson-cli-s3-MaintUser-token-0.json" FILE_ACCESS_KEY="${FILE_ACCESS_KEY}" END コマンド: aws iam create-access-key \ --user-name ${IAM_USER_NAME} \ > ${FILE_ACCESS_KEY} \ && cat ${FILE_ACCESS_KEY} 結果(例): { "AccessKey": { "UserName": "handson-cli-s3-MaintUser", "Status": "Active", "CreateDate": "2020-10-08T01:23:45.678Z", "SecretAccessKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "AccessKeyId": "AKIAxxxxxxxxxxxxxxxx" } }
cat << END # IAM_USER_NAME:"handson-cli-s3-MaintUser" IAM_USER_NAME="${IAM_USER_NAME}" # FILE_ACCESS_KEY:"${HOME}/environment/tmp-handson-cli-s3/handson-cli-s3-MaintUser-token-0.json" FILE_ACCESS_KEY="${FILE_ACCESS_KEY}" END
aws iam create-access-key \ --user-name ${IAM_USER_NAME} \ > ${FILE_ACCESS_KEY} \ && cat ${FILE_ACCESS_KEY}
{ "AccessKey": { "UserName": "handson-cli-s3-MaintUser", "Status": "Active", "CreateDate": "2020-10-08T01:23:45.678Z", "SecretAccessKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "AccessKeyId": "AKIAxxxxxxxxxxxxxxxx" } }
「IAMユーザー"handson-cli-s3-MaintUser"のActiveなアクセスキーが存在する。」ことを確認します。
コマンド: aws iam list-access-keys \ --user-name ${IAM_USER_NAME} \ --query 'AccessKeyMetadata[].[join(``,[CreateDate,`,`,Status])]' \ --output text 結果(例): 2020-10-08T01:23:45Z,Active
aws iam list-access-keys \ --user-name ${IAM_USER_NAME} \ --query 'AccessKeyMetadata[].[join(``,[CreateDate,`,`,Status])]' \ --output text
2020-10-08T01:23:45Z,Active
「アクセスキーファイル"${HOME}/environment/tmp-handson-cli-s3/handson-cli-s3-MaintUser-token-0.json"が存在する。」ことを確認します。
コマンド: ls ${FILE_ACCESS_KEY} 結果(例): ${HOME}/environment/tmp-handson-cli-s3/handson-cli-s3-MaintUser-token-0.json
ls ${FILE_ACCESS_KEY}