TOP>コラム一覧>AWS Control Towerのリージョン拒否設定を試してみた -AWS Control Tower編第3弾-

AWS Control Towerのリージョン拒否設定を試してみた
-AWS Control Tower編第3弾-

はじめに

こんにちは。CTCの朴木です。
本記事は-AWS Control Tower編第3弾-となります。今回は第2弾で設定しなかったリージョン拒否設定を試していきます。第1弾ではAWS Control Towerの内容について、第2弾では実際にセットアップの方法を記載しておりますのでよければそちらも見ていただけますと幸いです。

リージョン拒否設定とは

リージョン拒否設定は2021年のAWS re:Inventにて発表されたAWS Control Towerの新機能となります。リージョン拒否設定を用いることでAWS Control Towerの管理リージョン以外へのアクセスが拒否されるようになります。例えば東京リージョンのみ利用するお客様は、この拒否設定によって東京リージョン以外へのアクセスを一律で制限でき、他のリージョンへのリソースのデプロイを防ぐことができます。この機能を用いることでお客様のコンプライアンスに沿ったリージョンへのアクセス制限が実施できるようになります。

後で変更ができる設定

リージョン拒否設定は後で変更が可能な機能となっており、AWS Control Towerをセットアップした後でも拒否設定を入れたり外したりすることが可能です。AWS Control Towerセットアップ後に変更できるランディングゾーンの設定は以下になります。

  • リージョン拒否設定
  • 管理するAWS リージョンの追加・削除
  • KMS暗号化

これらの設定は後で変更が可能ですが、ランディングゾーンの更新作業が実施されるためセットアップに1時間程度かかります。また、ホームリージョンにつきましては変更ができませんのでご注意ください。

リージョン拒否設定の実施

それでは実際に設定していきましょう。リージョン拒否設定はランディングゾーンの更新作業となります。ランディングゾーンの設定と同じようにセットアップに約1時間程度かかりますので今回も気長に待ちましょう。
まずはAWS Control Towerのサービスを開き、左ペインの「ランディングゾーンの設定」を選択して「設定を変更する」ボタンをクリックします。

AWS Well-Architectedレビュー 6つの柱の優先順位とは

リージョン拒否設定項目にて「有効」を選択します。

AWS Well-Architectedレビュー 6つの柱の優先順位とは

今回はガバナンスのための追加リージョンやKMS暗号化は設定せずに進みます。「ランディングゾーンの更新」ボタンをクリックします。

AWS Well-Architectedレビュー 6つの柱の優先順位とは

確認画面が出てきますので、改めて「ランディングゾーンの更新」ボタンをクリックします。

AWS Well-Architectedレビュー 6つの柱の優先順位とは

あとは更新完了まで1時間ほど待ちましょう!

AWS Well-Architectedレビュー 6つの柱の優先順位とは

更新が完了したら早速AWS Control Towerの管理対象アカウントの方を確認してみましょう!本環境のAWS Control Tower管理リージョンはホームリージョンの東京のみとなっています。
管理対象アカウントの東京リージョンのEC2ダッシュボードを確認するとこのようになっています。

AWS Well-Architectedレビュー 6つの柱の優先順位とは

次に、同じアカウントのバージニアリージョンを確認してみましょう。以下の通りアクセス権限がなく閲覧ができない状態となっています。

AWS Well-Architectedレビュー 6つの柱の優先順位とは

このとおり、リージョン拒否設定によってAWS Control Towerの管理リージョン以外のアクセスが拒否されるようになりました。それでは次に、拒否設定がどうやって適用されているか確認してみましょう!

リージョン拒否設定で付与されるSCP

AWS Control Towerは基本的にAWS ConfigやSCPを用いて制限が設定されています。リージョン拒否設定はSCPにて適用されており、そのSCPの内容は以下になります(2022年3月現在)。

 {
    "Version": "2012-10-17",
    "Statement": [
      {
        "Sid": "GRREGIONDENY",
        "Effect": "Deny",
        "NotAction": [
          "a4b:*",
          "acm:*",
          "aws-marketplace-management:*",
          "aws-marketplace:*",
          "aws-portal:*",
          "budgets:*",
          "ce:*",
          "chime:*",
          "cloudfront:*",
          "config:*",
          "cur:*",
          "directconnect:*",
          "ec2:DescribeRegions",
          "ec2:DescribeTransitGateways",
          "ec2:DescribeVpnGateways",
          "fms:*",
          "globalaccelerator:*",
          "health:*",
          "iam:*",
          "importexport:*",
          "kms:*",
          "mobileanalytics:*",
          "networkmanager:*",
          "organizations:*",
          "pricing:*",
          "route53-recovery-control-config:*",
          "route53-recovery-readiness:*",
          "route53-recovery-cluster:*",
          "route53:*",
          "route53domains:*",
          "s3:GetBucketPublicAccessBlock",
          "s3:ListAllMyBuckets",
          "s3:GetBucketLocation",
          "shield:*",
          "sts:*",
          "support:*",
          "trustedadvisor:*",
          "waf-regional:*",
          "waf:*",
          "wafv2:*",
          "access-analyzer:*"
        ],
        "Resource": "*",
        "Condition": {
          "StringNotEquals": {
            "aws:RequestedRegion": []
            /* ここにAWS Control Towerのランディングゾーンで設定した管理リージョンが記載されます */
          },
          "ArnNotLike": {
            "aws:PrincipalARN": [
              "arn:aws:iam::*:role/AWSControlTowerExecution"
            ]
          }
        }
      }
    ]
  }
  

"Condition"の構文にてランディングゾーンで設定したリージョンが指定されるので、管理リージョンで東京しか設定していない場合は、東京リージョン以外のアクセスがすべて拒否されるようになります。
2022年3月時点でAWS Control Towerのサポート対象リージョンは以下の15リージョンとなっています。そのため最大で15リージョンはアクセスが許可できるような設定も実施すること可能ですが、AWS Control Towerでは、お客様が使用するリージョンのみを管理対象とすることを推奨しています。そのため、管理対象とするリージョンについてはお客様の構成やワークロードに沿ってご検討いただく必要があります。なお、大阪リージョンはAWS Control Towerのサポート外となっています。大阪リージョンをご利用のお客様がAWS Control Towerのリージョン拒否設定を入れてしまうと大阪リージョンへのアクセスが拒否されてしまいますのでご注意ください。

AWS Control Towerがサポートしているリージョン(2022年3月現在)

  • 米国東部(バージニア北部)
  • 米国東部 (オハイオ)
  • 米国西部 (オレゴン)
  • カナダ (中部) リージョン
  • アジアパシフィック (シドニー)
  • アジアパシフィック (シンガポール) リージョン
  • 欧州(フランクフルト)リージョン
  • 欧州 (アイルランド)
  • 欧州 (ロンドン) リージョン
  • 欧州(ストックホルム)リージョン
  • Asia Pacific (Mumbai) Region
  • Asia Pacific (Seoul) Region
  • アジアパシフィック (東京) リージョン
  • 欧州(パリ)リージョン
  • 南米 (サンパウロ) リージョン

おわりに

いかがでしたでしょうか。リージョン拒否設定はあるリージョン以外へのアクセス制限を一律で実施したいというお客様に向いている機能となります。リージョン拒否設定はAWS Control Towerの管理対象アカウントすべてに適用されます。いくつかのアカウントだけ複数のリージョンへアクセスしたいという要件がある場合、そのアカウントをAWS Control Towerの管理対象にするのは難しいため、アカウント組織単位の構成については要件と合わせて検討していきましょう。

CTCは、AWSのビジネス利活用に向けて、お客様のステージに合わせた幅広い構築・運用支援サービスを提供しています。
経験豊富なエンジニアが、ワンストップかつ柔軟にご支援します。
ぜひ、お気軽にお問い合わせください。

お問い合わせ

関連コラム

【著者プロフィール】

朴木 瞳(ほうのき ひとみ)

伊藤忠テクノソリューションズ株式会社 クラウドエンジニア

AWSのインフラ構築や技術QAを経験し、現在はアカウント管理に従事。従量削減のためのRIのコストシミュレーションにおいてお客様を支援中。

朴木 瞳(ほうのき ひとみ)

TOP>コラム一覧>AWS Control Towerのリージョン拒否設定を試してみた -AWS Control Tower編第3弾-

pagetop