後始末1.1. IAMグループのポリシーデタッチ (handson-cli-s3-MaintGroup: handson-cli-s3-website-logging-website-S3BucketWritePolicy)
目的
IAMグループ"handson-cli-s3-MaintGroup "からカスタマ管理IAMポリシー"handson-cli-s3-website-logging-website-S3BucketWritePolicy"をデタッチします。
パラメータの指定
作業に必要なパラメータを変数に格納をします。
1. IAMグループ名
IAMグループ名を指定します。
変数の設定:
IAM_GROUP_NAME='handson-cli-s3-MaintGroup'
2. IAMポリシー名
IAMポリシー名を指定します。
変数の設定:
IAM_POLICY_NAME='handson-cli-s3-website-logging-website-S3BucketWritePolicy'
3. IAMポリシーパス
IAMポリシーパスを指定します。
変数の設定:
IAM_POLICY_PATH='/handson-cli/'
各変数に正しいパラメータ値が格納されていることを確認します。
変数の確認:
cat << END
# 1. IAM_GROUP_NAME:"handson-cli-s3-MaintGroup"
IAM_GROUP_NAME="${IAM_GROUP_NAME}"
# 2. IAM_POLICY_NAME:"handson-cli-s3-website-logging-website-S3BucketWritePolicy"
IAM_POLICY_NAME="${IAM_POLICY_NAME}"
# 3. IAM_POLICY_PATH:"/handson-cli/"
IAM_POLICY_PATH="${IAM_POLICY_PATH}"
END
手順
IAMポリシーのARNを取得します。
変数の設定:
IAM_POLICY_ARN=$( \
aws iam list-policies \
--scope Local \
--path-prefix "${IAM_POLICY_PATH}" \
--max-items 1000 \
--query "Policies[?PolicyName==\`${IAM_POLICY_NAME}\`].Arn" \
--output text \
) \
&& echo "${IAM_POLICY_ARN}"
結果(例):
arn:aws:iam::XXXXXXXXXXXX:policy/handson-cli-s3-website-logging-website-S3BucketWritePolicy
IAMグループからIAMポリシーをデタッチします。
変数の確認:
cat << END
# IAM_GROUP_NAME:"handson-cli-s3-MaintGroup"
IAM_GROUP_NAME="${IAM_GROUP_NAME}"
# IAM_POLICY_ARN:"arn:aws:iam::XXXXXXXXXXXX:policy/handson-cli/handson-cli-s3-website-logging-website-S3BucketWritePolicy"
IAM_POLICY_ARN="${IAM_POLICY_ARN}"
END
コマンド:
aws iam detach-group-policy \
--group-name ${IAM_GROUP_NAME} \
--policy-arn ${IAM_POLICY_ARN}
結果(例):
完了確認
「IAMグループ"handson-cli-s3-MaintGroup"にカスタマ管理ポリシー"handson-cli-s3-website-logging-website-S3BucketWritePolicy"がアタッチされていない。」ことを確認します。
コマンド:
aws iam list-attached-group-policies \
--group-name ${IAM_GROUP_NAME} \
--query "AttachedPolicies[?PolicyName == \`${IAM_POLICY_NAME}\`].PolicyName" \
--output text
結果(例):