AWS Organizations関連Tips①(SCPによるリージョン規制の落とし穴)

こんにちは。AWS担当のもちです。
夜な夜な、暗い部屋でスプラトゥーンをやっています。
AWS Organizationsは触る人が少ないからかネット上の情報が少ないため、
はまったことをブログで発信したいと思います。
今回は、
「SCP(サービスコントロールポリシー、以下SCP)によるリージョン規制(※)を既存アカウントに適用する際の落とし穴 」
をご説明します。
※使用できるリージョンを制限すること。
既存アカウントにリージョン規制をした場合、どのような落とし穴があるかご存知でしょうか?
まず結論ですが、
規制したリージョンで既に稼働中のサービスがある場合、APIは使用できなくなるがサービスは動いたまま
となります。
詳しくご説明します。
リージョン規制はAWS公式もSCPの例として挙げており、弊社も導入を進めております。
(詳しい経緯は過去ブログを参照ください)
今回は、未対応アカウントへの適用を進めている時に発覚した内容です。
検証環境で特定のリージョン以外は操作できなくなることを確認し、いざ既存アカウントに適用。
運用上問題ないことを確認して翌月になってみたら、AWS Securityhub(以下、Securityhub)のコストが削減できていません。
私の知識不足でした。
APIが叩けなくなっても、サービス自体は止まっていなかったのです。
SCPで禁止している以上、rootでもSecurityhubの停止ができません。
そこで、リージョン規制のSCPを一度デタッチしてからSecurityhubを停止し、再度SCPをアタッチする作業が必要となりました。
SCPでDenyを利用する場合、どのサービスがどのリージョンで使用されているか、アタッチ前に停止できているかを確認しましょう。
以下は、検証時の参考画面です。
SCP無しで、us-east-2(オハイオ)でSecurityhubが稼働している状態。

CLIも通ります。

マスターアカウントで、上記アカウントに以下のSCPをアタッチします。
test_RedundantRegionsProhibited
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DenyAllOutsideEU",
"Effect": "Deny",
"NotAction": [
"a4b:*",
"acm:*",
"aws-marketplace-management:*",
"aws-marketplace:*",
"aws-portal:*",
"awsbillingconsole:*",
"budgets:*",
"chatbot:*",
"ce:*",
"chime:*",
"cloudfront:*",
"config:*",
"cur:*",
"directconnect:*",
"ec2:DescribeRegions",
"ec2:DescribeTransitGateways",
"ec2:DescribeVpnGateways",
"fms:*",
"globalaccelerator:*",
"health:*",
"iam:*",
"importexport:*",
"kms:*",
"mobileanalytics:*",
"networkmanager:*",
"organizations:*",
"pricing:*",
"route53:*",
"route53domains:*",
"s3:GetAccountPublic*",
"s3:ListAllMyBuckets",
"s3:PutAccountPublic*",
"shield:*",
"sts:*",
"support:*",
"trustedadvisor:*",
"waf-regional:*",
"waf:*",
"wafv2:*",
"wellarchitected:*"
],
"Resource": "*",
"Condition": {
"StringNotEquals": {
"aws:RequestedRegion": [
"us-east-1",
"ap-northeast-1"
]
},
"ArnNotLike": {
"aws:PrincipalARN": [
"arn:aws:iam::*:role/aws-reserved/sso.amazonaws.com/AWSReservedSSO_AdministratorAccessWRR_*"
]
}
}
}
]
}

us-east-2(オハイオ)のSecurityhubは表示されなくなりました。

もちろんCLIも通りません。

しかし、us-east-2のSecurityhubは動いたままです。SCPをデタッチすると、稼働したままであることがわかります。
もちろんアタッチしたまま停止できないので、前述の通り、SCPデタッチ・Securityhub停止・SCPアタッチが必要となります。
今回もニッチな情報でしたが、誰かのお役に立てると幸いです。
もうすぐスプラトゥーン3が発売されますね!
ではまた。