はじめに
NTTデータの西川です。
普段は公共部門の技術集約組織でクラウドの導入支援に従事しています。
2024年はAWSアカウントを組織で管理するのに役立つAWS Control TowerやAWS Organizationsに関するアップデートがありました。今回はマルチアカウントガバナンスに関連するコントロールタイプについて紹介します。特に予防的統制に関するコントロールタイプについて、政府統一基準の観点を通して機能をまとめてみました。
マルチアカウントが必要な背景・目的
マルチアカウントとは
AWSにおけるマルチアカウントは、複数のAWSアカウントを組織的に管理し、リソースやアクセス権限を分離する方法です。これによりセキュリティ、コスト管理、コンプライアンスの向上を実現します。
AWSアカウントを分割する目的
AWSあカウントを分割する目的として、以下のようなものが挙げられます。
- 環境分離:セキュリティ、ガバナンス、規制のために分離できる。
- 権限移譲:事前定義されたガバナンスフレームワークの中で、特定部門に対する権限委譲が行える。
- ワークロードの分離:リスクやデータ分類などに応じてワークロードを分離できる。
引用元:スタートアップにおけるマルチアカウントの考え方と AWS Control Tower のすゝめ
マルチアカウントガバナンスを実現するためのAWSサービス
1. AWS Control Tower
AWS上でマルチアカウントのセットアップと管理を自動化するためのマネージドサービスです。組織のセキュリティポリシーやベストプラクティスに基づく統制の取れたマルチアカウント環境を構築することができます。
2. AWS Organizations
複数のAWSアカウントを一元管理するためのサービスです。組織全体でアカウントをグループ化し、ポリシーの管理や請求を効率化できます。
引用元:AWS Control Tower 基礎編
余談ですが、デジタル庁が整備している政府共通のクラウドサービスの利用環境である「ガバメントクラウド」でも、AWS Control TowerとAWS Organizationsを用いてマルチアカウントガバナンスを実現しています。
引用元:⾃治体がガバメントクラウド利⽤に向けておさえておきたい 10 のこと
コントロールタイプの全体像
AWS Control Towerの機能の1つとしてコントロールがあります。
引用元:AWS Control Tower 基礎編
1つのコントロールは「動作」と「ガイダンス」で構成されています。
- 動作:予防、検出、またはプロアクティブのいずれかです。
- 予防:好ましくないイベント・状態の発生自体を防ぐ。
- SCPs(Service control policies)
- RCPs(Resource control policies)
- 宣言型ポリシー
- 検出:好ましくないイベント発生・状態を発見・通知する。
- AWS Config ルール
- AWS Security Hub 標準
- プロアクティブ:規制に準拠していないリソースの作成や変更を防ぐ。
- AWS CloudFormation Hooks
- 予防:好ましくないイベント・状態の発生自体を防ぐ。
- ガイダンス:各コントロールを適用する方法に関する推奨プラクティスを指します。
引用元:re:Invent 2024 から見るAWS マルチアカウントガバナンスのこれまでとこれから
引用元:About controls in AWS Control Tower
政府統一基準とは
内閣サイバーセキュリティセンター(NISC)公開の「政府機関等のサイバーセキュリティ対策のための統一基準群」(以下「政府統一基準」)では、国の行政機関及び独立行政法人等(以下「政府機関等」)の情報セキュリティ水準を向上させるための統一的な枠組みとして、政府機関等の情報セキュリティのベースラインや、より高い水準の情報セキュリティを確保するための対策事項が規定されています。
引用元:「政府機関等のサイバーセキュリティ対策のための統一基準群」
政府統一基準を通して見た予防的統制に関するコントロールタイプのアップデート
予防的統制とは
セキュリティインシデントの原因となる問題を取り除く、もしくは、軽減させるための対策です。例としては権限分離によってユーザーが利用できる機能を制限する、というような統制を指します。
引用元:すぐに始めて、継続できる AWS のセキュリティ対策
以下、各コントロールタイプに対応する政府統一基準の遵守事項の一部を抜粋します。あくまで一例であり、遵守事項に対する網羅性を担保していない点はご了承ください。
SCPs(Service control policies)
SCPsとは
SCPsは組織のアクセス許可を管理するために使用できる組織ポリシーの一種です。組織内のIAMユーザーとIAMロールが利用できる最大アクセス許可を一元的に制御可能です。
以下の例ではProduction OUにアタッチされているSCPsに、特定のサービスに対して明示的な Denyステートメントが指定されているとします。結果として、組織内のどのレベルにも適用された拒否ポリシーが、その下にあるすべてのOUとメンバーアカウントに対して評価されるため、アカウントAとアカウントBの両方がサービスへのアクセスを拒否されます。
図:Production OU で Deny ステートメントがアタッチされた組織構造の例
引用元:SCP と Deny の連携の仕組み
SCPsは管理アカウントのユーザーまたはロールには影響せず、組織内のメンバーアカウントにのみ影響を与えます。
参考:SCPs
政府統一基準の遵守事項とSCPsの関連性
- 該当するガイドライン項目
- 4.2.2.(1)(a) クラウドサービスの利用に係る運用規程の整備
- 遵守事項:統括情報セキュリティ責任者は、クラウドサービスの特性や責任分界点に係る考え方等を踏まえ、クラウドサービスを利用して情報システムを導入・構築する際のセキュリティ対策の基本方針を運用規程として整備すること。
- 基本対策事項:e) クラウドサービス上に保存する情報やクラウドサービスの機能に対してアクセス制御できることの確認及び適切なアクセス制御の実施
- 基本対策事項:f) クラウドサービス利用者によるクラウドサービスに多大な影響を与える操作の特定と誤操作の抑制
- 遵守事項:統括情報セキュリティ責任者は、クラウドサービスの特性や責任分界点に係る考え方等を踏まえ、クラウドサービスを利用して情報システムを導入・構築する際のセキュリティ対策の基本方針を運用規程として整備すること。
- 4.2.2.(1)(a) クラウドサービスの利用に係る運用規程の整備
- サービス利用による準拠
- SCPsで一元的に最大アクセス許可を制御します。複数アカウントにまたがる組織のアクセス許可の管理に使用できる組織ポリシーを予防コントロールとして提供しています。
※ AWSリソースへのアクセス制御はIAMロール等にアタッチするIAMポリシーやRCPsと併せて最小権限を実現すること。
引用元:政府機関等の対策基準策定のためのガイドライン(令和5年度版)
- SCPsで一元的に最大アクセス許可を制御します。複数アカウントにまたがる組織のアクセス許可の管理に使用できる組織ポリシーを予防コントロールとして提供しています。
RCPs(Resource control policies)
RCPsとは
RCPsは組織内のアクセス許可を管理するために使用できる組織ポリシーの一種です。組織内のリソースに対して使用可能な最大アクセス許可を一元的に制御可能です。SCPsは操作主体への権限制御、RCPsは被操作対象への権限制御となっています。
これまでは各リソースに対する操作権限は個別に管理する必要がありました。
ポリシーの評価フローによると、RCPsはSCPsよりも先に評価される仕様です。
RCPsは以下のAWSサービスに適用されます。
- Amazon S3
- AWS Security Token Service
- AWS Key Management Service
- Amazon SQS
- AWS Secrets Manager
引用元:AWS のサービス をサポートする のリスト RCPs
RCPsは管理アカウントのユーザーまたはロールには影響せず、組織内のメンバーアカウントにのみ影響を与えます。
参考:RCPs
政府統一基準の遵守事項とRCPsの関連性
- 該当するガイドライン項目
- 7.1.2(1)(b)アクセス制御機能の導入
- 遵守事項:情報システムセキュリティ責任者は、情報システム及び情報へのアクセスを許可する主体が確実に制限されるように、アクセス制御機能を適切に運用すること。
- 7.1.2(1)(b)アクセス制御機能の導入
- サービス利用による準拠:
- RCPsで最低限予防したい操作を拒否します。リソースへのアクセス許可の管理に使用できる組織ポリシーを予防コントロールとして提供しています。
※ AWSリソースへのアクセス制御はIAMロール等にアタッチするIAMポリシーやSCPsと併せて最小権限を実現すること。
引用元:政府機関等の対策基準策定のためのガイドライン(令和5年度版)
- RCPsで最低限予防したい操作を拒否します。リソースへのアクセス許可の管理に使用できる組織ポリシーを予防コントロールとして提供しています。
宣言型ポリシー
宣言型ポリシーとは
宣言型ポリシーを使用すると、組織内におけるAWSサービスで特定の操作に必要な設定を一元的に宣言して適用できます。
- 例1)AMI(Amazon Machine Image)の制御が可能です。
- 例2)組織全体のAmazon VPCリソースへのインターネット経由での通信をブロック可能です。
引用元:re:Invent 2024 から見るAWS マルチアカウントガバナンスのこれまでとこれから
これまでは各サービスに対する設定は個別に管理する必要がありました。
SCPsやRCPsとはポリシーの概念が異なります。SCPsやRCPsは承認ポリシーと呼ばれており、宣言型ポリシーとは異なる概念です。2つのポリシーの違いとしては『APIレベルで適用されるか』または『サービスのコントロールプレーンで適用されるか』という点です。
SCPsやRCPsの制御はAPIレベルで適用されるため、新機能などで新しいAPIが導入された場合、AWSアカウント利用者が望ましくない操作を行うことが可能でした。一方、宣言型ポリシーはサービスのコントロールプレーンで適用されるので、確実に統制を効かせてベースライン設定を適用することができます。
引用元:re:Invent 2024 から見るAWS マルチアカウントガバナンスのこれまでとこれから
引用元:宣言ポリシーの仕組み
政府統一基準の遵守事項と宣言型ポリシーの関連性
- 該当するガイドライン項目
- 4.2.2.(4)(a) クラウドサービスを利用した情報システムの運用・保守時の対策
- 遵守事項:クラウドサービス管理者は、(1)(b)で定めた運用規程を踏まえて、クラウドサービスに係る運用・保守を適切に実施すること。また、運用・保守時に実施状況を定期的に確認・記録すること。
- 基本対策事項:b) クラウドサービスの設定を変更する場合の設定の誤りを防止するための対策
- 遵守事項:クラウドサービス管理者は、(1)(b)で定めた運用規程を踏まえて、クラウドサービスに係る運用・保守を適切に実施すること。また、運用・保守時に実施状況を定期的に確認・記録すること。
- 4.2.2.(4)(a) クラウドサービスを利用した情報システムの運用・保守時の対策
- サービス利用による準拠:宣言型ポリシーで意図しない設定の誤りを防止します。
※ 発見的統制に則り、AWS Configのマネージドルール等の利用も併せて検討すること。AWS ConfigによってAWSリソースの構成が意図した状態にあることの確認を定期的・自動的に行うこと。
引用元:政府機関等の対策基準策定のためのガイドライン(令和5年度版)
おわりに
今回紹介したサービス群を活用して、マルチアカウント構成を効率的かつセキュアに運用していくことは公共分野に限らず広く重要な概念だと考えています。参考資料を適宜参照しつつ、一般的なAWSのマルチアカウントガバナンスの理解の一助となれば幸いです。
本ブログは2025/3時点の情報となります。最新状況については公開情報をご確認ください。
※ 本ブログに記載した内容は個人の見解であり、所属する会社、組織とは関係ありません。