事前作業4.4. IAMロールのポリシーアタッチ (AmazonSNSFullAccess)
目的
IAMロール"handson-cli-lambda-role"にIAMポリシー"AmazonSNSFullAccess"をアタッチします。
パラメータの指定
作業に必要なパラメータを変数に格納をします。
1. IAMロール名
IAMロール名を指定します。
変数の設定:
IAM_ROLE_NAME='handson-cli-lambda-role'
2. IAMポリシー名
IAMポリシー名を指定します。
変数の設定:
IAM_POLICY_NAME='AmazonSNSFullAccess'
各変数に正しいパラメータ値が格納されていることを確認します。
変数の確認:
cat << END
# 1. IAM_ROLE_NAME:"handson-cli-lambda-role"
IAM_ROLE_NAME="${IAM_ROLE_NAME}"
# 2. IAM_POLICY_NAME:"AmazonSNSFullAccess"
IAM_POLICY_NAME="${IAM_POLICY_NAME}"
END
手順
IAMポリシーARNを取得します。
変数の設定:
IAM_POLICY_ARN=$( \
aws iam list-policies \
--scope AWS \
--max-items 1000 \
--query "Policies[?PolicyName==\`${IAM_POLICY_NAME}\`].Arn" \
--output text \
) \
&& echo "${IAM_POLICY_ARN}"
結果(例):
arn:aws:iam::aws:policy/AmazonSNSFullAccess
IAMポリシーをアタッチします。
変数の確認:
cat << END
# IAM_ROLE_NAME:"handson-cli-lambda-role"
IAM_ROLE_NAME="${IAM_ROLE_NAME}"
# IAM_POLICY_ARN:"arn:aws:iam::aws:policy/AmazonSNSFullAccess"
IAM_POLICY_ARN="${IAM_POLICY_ARN}"
END
コマンド:
aws iam attach-role-policy \
--role-name ${IAM_ROLE_NAME} \
--policy-arn ${IAM_POLICY_ARN}
結果(例):
完了確認
「IAMロール"handson-cli-lambda-role"にIAMポリシー"AmazonSNSFullAccess"がアタッチされている。」ことを確認します。
コマンド:
aws iam list-attached-role-policies \
--role-name ${IAM_ROLE_NAME} \
--query "AttachedPolicies[?PolicyName == \`${IAM_POLICY_NAME}\`].PolicyName" \
--output text
結果(例):