処理の実行
Organizationsポリシードキュメントを作成します。
変数の確認:
cat << END
# FILE_ORGANIZATIONS_POLICY_DOC:"${HOME}/conf-handson-cli-organizations/DenyAllOutsideRequestedRegions-policy.json"
FILE_ORGANIZATIONS_POLICY_DOC="${FILE_ORGANIZATIONS_POLICY_DOC}"
END
コマンド:
cat << EOF > ${FILE_ORGANIZATIONS_POLICY_DOC}
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DenyAllOutsideRequestedRegions",
"Effect": "Deny",
"NotAction": [
"cloudfront:*",
"iam:*",
"route53:*",
"support:*",
"aws-portal:*",
"budgets:*"
],
"Resource": "*",
"Condition": {
"StringNotEquals": {
"aws:RequestedRegion": [
"us-east-1",
"us-west-2",
"ap-northeast-1",
"ap-northeast-3"
]
}
}
}
]
}
EOF
cat ${FILE_ORGANIZATIONS_POLICY_DOC}
結果(例):
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DenyAllOutsideRequestedRegions",
"Effect": "Deny",
"NotAction": [
"cloudfront:*",
"iam:*",
"route53:*",
"support:*",
"aws-portal:*",
"budgets:*"
],
"Resource": "*",
"Condition": {
"StringNotEquals": {
"aws:RequestedRegion": [
"us-east-1",
"us-west-2",
"ap-northeast-1",
"ap-northeast-3"
]
}
}
}
]
}
JSONファイルを作成したら、フォーマットが壊れてないか必ず確認します。
コマンド:
cat ${FILE_ORGANIZATIONS_POLICY_DOC} \
| python3 -m json.tool \
> /dev/null
結果(例):
完了確認
本手順の主処理は、以下の完了条件を満たしたときに成功したものとします。
完了条件1: Organizationsポリシードキュメント"${HOME}/conf-handson-cli-organizations/DenyAllOutsideRequestedRegions-policy.json"が存在する。
「Organizationsポリシードキュメント"${HOME}/conf-handson-cli-organizations/DenyAllOutsideRequestedRegions-policy.json"が存在する。」ことを確認します。
コマンド:
ls ${FILE_ORGANIZATIONS_POLICY_DOC}
結果(例):
${HOME}/conf-handson-cli-organizations/DenyAllOutsideRequestedRegions-policy.json