事後作業1.3. IAMロールのポリシーデタッチ (handson-cli-events-gettings-ebs-role)
目的
IAMロール"handson-cli-events-gettings-ebs-role"からIAMポリシー"CloudWatchLogsFullAccess"をデタッチします。
パラメータの指定
作業に必要なパラメータを変数に格納をします。
1. IAMロール名
IAMロール名を指定します。
変数の設定:
IAM_ROLE_NAME='handson-cli-events-gettings-ebs-role'
2. IAMポリシー名
IAMポリシー名を指定します。
変数の設定:
IAM_POLICY_NAME='CloudWatchLogsFullAccess'
各変数に正しいパラメータ値が格納されていることを確認します。
変数の確認:
cat << END
# 1. IAM_ROLE_NAME:"handson-cli-events-gettings-ebs-role"
IAM_ROLE_NAME="${IAM_ROLE_NAME}"
# 2. IAM_POLICY_NAME:"CloudWatchLogsFullAccess"
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/CloudWatchLogsFullAccess
ポリシーをデタッチします。
変数の確認:
cat << END
# IAM_ROLE_NAME:"handson-cli-events-gettings-ebs-role"
IAM_ROLE_NAME="${IAM_ROLE_NAME}"
# IAM_POLICY_ARN:"arn:aws:iam::aws:policy/CloudWatchLogsFullAccess"
IAM_POLICY_ARN="${IAM_POLICY_ARN}"
END
コマンド:
aws iam detach-role-policy \
--role-name ${IAM_ROLE_NAME} \
--policy-arn ${IAM_POLICY_ARN}
結果(例):
完了確認
「IAMロール"handson-cli-events-gettings-ebs-role"にAWS管理ポリシー"CloudWatchLogsFullAccess"がアタッチされていない。」ことを確認します。
コマンド:
aws iam list-attached-role-policies \
--role-name ${IAM_ROLE_NAME} \
--query "AttachedPolicies[?PolicyName == \`${IAM_POLICY_NAME}\`].PolicyName" \
--output text
結果(例):