[アップデート] AWS Control Tower に新たに 65 個のコントロールが追加されて OU 単位でのリージョン制限もできるようになりました #AWSreInvent
AWS Control Tower に新たに 65 個のコントロールが追加されました。その中には OU 単位でリージョン制限ができるコントロールも存在しています。これまでは、AWS Control Tower 環境では組織全体で共通のリージョン拒否設定による実現(ランディングゾーン設定による設定)だけでしたが、OU 単位で制限するコントロールが追加され、よりきめ細やかな環境を実現できるようになりました。
Waht's New 情報はこちらです。
AWS Control Tower announces 65 new controls to help meet digital sovereignty requirements
65 個のコントロールの追加に関する AWS ブログも合わせて公開されています。
追加されたコントロールは「Digital Sovereignty」要件を満たすことを助けるための内容とのことです。
AWS の Digital Sovereignty については次のページに掲載されています。
上記のページで AWS Digital Sovereignty Pledge の実現について次のように述べられています。
AWS Digital Sovereignty Pledge は、すべての AWS のお客様にクラウドで利用可能な最も高度な主権コントロールと機能のセットを提供するというコミットメントです。AWS クラウドのパフォーマンス、イノベーション、セキュリティ、スケールを犠牲にすることなく、お客様がデジタル主権のニーズを満たすことができるように、機能を拡張することを約束します。
つまり、AWS にとってのお客様がデータの保護・管理を実現するための機能を提供することを約束していると理解しました。そのために、データアクセスに対する検証可能な制御やあらゆる場所での暗号化を実現する機能が提供されます。
AWS Digital Sovereignty Pledge の理解のためには、次ブログも役立ちました。
Digital Sovereignty に関するコントロール
理解を深めるために、新たに追加されたコントロールも含めて、Digital Sovereignty に関するコントロールの一部を確認してみました(追加された 65 個全ての紹介ではありませんのご注意ください)。Digital Sovereignty に関するコントロールは次のガイドに記載されています。執筆時点では英語版のみです。この中からいくつかピックアップして紹介したいと思います。
Controls that enhance digital sovereignty protection - AWS Control Tower
まず、Digital Sovereignty のガバナンス体制を支援する目的の予防的コントロールとして次の内容があります。予防的コントロールを展開した場合は SCP (Service Control Policy) として実現されます。実装される SCP もユーザーガイド上から確認できます。
以下は、すべて予防的コントロールです。
- AWS AppSnc 関連
- Amazon EC2 関連
- CT.EC2.PV.1: Require an Amazon EBS snapshot to be created from an encrypted EC2 volume
- CT.EC2.PV.2: Require that an attached Amazon EBS volume is configured to encrypt data at rest
- CT.EC2.PV.3: Require that an Amazon EBS snapshot cannot be publicly restorable
- CT.EC2.PV.4: Require that Amazon EBS direct APIs are not called
- CT.EC2.PV.5: Disallow the use of Amazon EC2 VM import and export
- CT.EC2.PV.6: Disallow the use of deprecated Amazon EC2 RequestSpotFleet and RequestSpotInstances API actions
- AWS KMS 関連
- CT.KMS.PV.1: Require an AWS KMS key policy to have a statement that limits creation of AWS KMS grants to AWS services
- CT.KMS.PV.2: Require that an AWS KMS asymmetric key with RSA key material used for encryption does not have a key length of 2048 bits
- CT.KMS.PV.3: Require that an AWS KMS key is configured with the bypass policy lockout safety check enabled
- CT.KMS.PV.4: Require that an AWS KMS customer-managed key (CMK) is configured with key material originating from AWS CloudHSM
- CT.KMS.PV.5: Require that an AWS KMS customer-managed key (CMK) is configured with imported key material
- CT.KMS.PV.6: Require that an AWS KMS customer-managed key (CMK) is configured with key material originating from an external key store (XKS)
- AWS Lambda 関連
次に、Data Residency に関するコントロールです。データを特定の状況に留めていく目的の予防的コントロール、および発見的コントロールです。VPC からインターネットへのアクセスを禁止(IGW の作成・アタッチの禁止、デフォルト VPC 作成禁止など)や AWS Lambda でパブリックアクセスをブロックをしていないリソースの検出、といった内容のコントロールが含まれます。
予防的コントロールに属するものです。
- Disallow internet access for an Amazon VPC instance managed by a customer
- Disallow Amazon Virtual Private Network (VPN) connections
- Disallow cross-region networking for Amazon EC2, Amazon CloudFront, and AWS Global Accelerator
発見的コントロールに属するものです。
- Detect whether public IP addresses for Amazon EC2 autoscaling are enabled through launch configurations
- Detect whether replication instances for AWS Database Migration Service are public
- Detect whether Amazon EBS snapshots are restorable by all AWS accounts
- Detect whether any Amazon EC2 instance has an associated public IPv4 address
- Detect whether Amazon S3 settings to block public access are set as true for the account
- Detects whether an Amazon EKS endpoint is blocked from public access
- Detect whether an Amazon OpenSearch Service domain is in Amazon VPC
- Detect whether any Amazon EMR cluster master nodes have public IP addresses
- Detect whether the AWS Lambda function policy attached to the Lambda resource blocks public access
- Detect whether public routes exist in the route table for an Internet Gateway (IGW)
- Detect whether Amazon Redshift clusters are blocked from public access
- Detect whether an Amazon SageMaker notebook instance allows direct internet access
- Detect whether any Amazon VPC subnets are assigned a public IP address
- Detect whether AWS Systems Manager documents owned by the account are public
最後に、個人的に一番うれしい内容となるのですが、リージョン制限を OU 単位で展開できるコントロールです。
なお、AWS マネジメントコンソールから Digital Sovereignty に関するコントロールを確認する場合は「コントロールライブラリ」の「カテゴリー」から「Groups」タブを開くことで確認できます。
OU 単位のリージョン制限を試してみた
今回、検証する Control Tower 環境では、ランディングゾーン設定として次の 3 つのリージョンを管理対象としており、かつ、管理対象以外のリージョンを拒否設定にしています。
- 東京リージョン
- バージニア北部リージョン
- オレゴンリージョン
この設定の状態で、Sandbox OU 配下のアカウントにおいて東京リージョン以外を使えないようにしてみたいと思います。
始めに、コントロールライブラリからCT.MULTISERVICE.PV.1
を探して「コントロールを有効にする」を選択します。
リージョン制限のコントロールを展開する OU を選択します。
選択した OU 配下のアカウントに関して、アクセスを許可するリージョンを選択します。下記の設定は、東京リージョンは利用できるが、バージニア北部・オレゴンリージョンは利用できない設定となります。
オプション設定で、例外とするアクションの追加もできます。
Adding NotActions
NotAction
is an advanced policy element that explicitly matches everything except the specified list of actions. For policies that use theDeny
effect, all of the applicable actions or services that are not listed are denied.(https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_notaction.html),You can use wildcards(
*
) to define multipleNotAction
elements. For example, typeDescribe*
to specify allNotActions
beginning with Describe. Before adding aNotAction
, check to see if it is listed in the policy or if any wildcards(*
) are associated with theNotAction
service or elements. SpecificNotAction
elements can be ignored if theNotAction
service or element is listed with a wildcard.
次もオプション設定であり、リージョン制限の対象外とする IAM プリンシパル(IAM ユーザーや IAM ロールなど)を指定することもできます。上の画像のようにデフォルトでは AWS Control Tower 関連の IAM プリンシパルが存在しているのみです。今回は、追加なしで試してみます。
最後に設定内容を確認してから「コントロールを有効にする」を実行します。
これで設定完了です。Sandbox OU に対して「有効」状態であることが確認できます。
Sandbox OU 配下の AWS アカウントにアクセスして確認してみます。
バージニア北部リージョンとオレゴンリージョンでは EC2 画面を見ることができず、意図通り利用が制限されていました。
以上で、OU 単位のリージョン制限のコントロールのお試しは終わりです。
さいごに
「Digital Sovereignty」要件に関するコントロールが強化されました。これまでは AWS Control Tower を展開した AWS Organizations 組織全体で共通の内容のリージョン制限でしたが、OU 単位で制限するコントロールも追加されて、今後は統制の柔軟性が高くなりました。うれしいアップデートです。
以上、このブログがどなたかのご参考になれば幸いです。