~~NOCACHE~~ ~~DISCUSSION~~ ## 10.適用手順-共通項目① 管理アカウント/全てのメンバアカウント共通で実施する項目を記載します。 ### CloudShellから以下を実行する。 #強力なパスワードポリシーを設定する aws iam update-account-password-policy \ --minimum-password-length 14 \ --require-symbols \ --require-numbers \ --require-uppercase-characters \ --require-lowercase-characters \ --allow-users-to-change-password \ --max-password-age 90 #アカウントのS3パブリックアクセスを無効化する ACCOUNT_ID=$(aws sts get-caller-identity --query 'Account' --output text) JSON='{ "BlockPublicAcls": true, "IgnorePublicAcls": true, "BlockPublicPolicy": true, "RestrictPublicBuckets": true }' aws s3control put-public-access-block --account-id ${ACCOUNT_ID} --public-access-block-configuration "${JSON}" #全てのリージョンでEBSのデフォルト暗号化を有効にする aws ec2 describe-regions --query "Regions[].[RegionName]" --output text \ | while read region; do echo "## ebs encryption in ${region}" aws --region ${region} ec2 enable-ebs-encryption-by-default done #全てのリージョンでデフォルトVPCを削除する aws ec2 describe-regions --query "Regions[].[RegionName]" --output text \ | while read region; do aws --region ${region} --output text \ ec2 describe-vpcs --query "Vpcs[?IsDefault].[VpcId]" \ | while read vpc; do echo "## deleting vpc: ${vpc} in ${region}" ### IGW aws --region ${region} --output text \ ec2 describe-internet-gateways --filters Name=attachment.vpc-id,Values=${vpc} \ --query "InternetGateways[].[InternetGatewayId]" \ | while read igw; do echo "## deleting igw: ${igw} in ${vpc}, ${region}" echo "--> detatching" aws --region ${region} --output json \ ec2 detach-internet-gateway --internet-gateway-id ${igw} --vpc-id ${vpc} echo "--> deleteing" aws --region ${region} --output json \ ec2 delete-internet-gateway --internet-gateway-id ${igw} done ### Subnet aws --region ${region} --output text \ ec2 describe-subnets --filters Name=vpc-id,Values=${vpc} \ --query "Subnets[].[SubnetId]" \ | while read subnet; do echo "## deleting subnet: ${subnet} in ${vpc}, ${region}" aws --region ${region} --output json \ ec2 delete-subnet --subnet-id ${subnet} done ### VPC echo "## finally, deleting vpc: ${vpc} in ${region}" aws --region ${region} --output json \ ec2 delete-vpc --vpc-id ${vpc} done done {{tag>AWS CloudShell Security セキュリティプリセット}}