LoginSignup
1
0

AWS Control Tower × BLEAの概要について調べてみる

Last updated at Posted at 2024-03-24

はじめに

Control Tower と BLEA を用いたゲストアカウントのセットアップについて、BLEA 公式のGitHubのREADMEから概要をまとめました

前提

  • AWS CDKや Control Tower の基礎知識

BLEAとは

  • Baseline-Environment-on-AWS の略です
  • スタンドアロン又は Control Tower ベースのマルチアカウントAWS環境において、安全なベースラインを確立するためのCDKテンプレートです
  • aws-samples / baseline-environment-on-aws上にコードが公開されています

Governance baselines

Control Tower のゲストアカウントに対して、以下3つの導入方法が提供されています

  1. 手元からの直接展開(blea-gov-base-ct.ts)(デフォルト)
  2. cdkPipelinesを使用した展開(blea-gov-base-ct-via-cdk-pipelines.ts)
  3. ControlTowerのAFCを使用した展開(blea-giv-base-ct-via-cdk-pipelines.ts)

各テンプレートはリポジトリ内のusecases/blea-gov-base-ct配下にあり、CDKの別スタックとして用意があります

2,3の方法はアカウント払い出しの自動化の際は有用かと思いますが、1の方法が最初は試しやすそうです

参考:https://github.com/aws-samples/baseline-environment-on-aws?tab=readme-ov-file#governance-baselines

cdkPipelinesは、AWS CDK のスタックを複数環境に展開する為に利用可能なパイプラインです
詳しくはユーザーガイドのCDK Pipelinesを使用した継続的な統合と配信(CI/CDK)を参照ください

AFC(Account Factory Customization)は Control Tower 上から新規及び既存の AWS アカウントをカスタマイズ可能です
詳しくはユーザーガイドのAccount Factory Customization (AFC) を使用したアカウントのカスタマイズを参照ください

Deployment flow

  • ランタイムや導入手順が紹介されていますが、CDK を使える状態(ex. Node.jsのインストールやawscliの認証設定)が最低限必要です
  • またgit secrets --scanがコミット前に実行されるよう設定されているため、コミットをする場合はこちらのセットアップが必要です
  • プロジェクトルートのREAME.mdにはスタンドアロンの場合の導入方法が記載されており、ControlTowerへの導入手順はdoc/DeployToControlTower.mdを参照してください

参考:https://github.com/aws-samples/baseline-environment-on-aws?tab=readme-ov-file#deployment-flow

git-secretsを利用する事で、Gitリポジトリにシークレットが追加されるのを防ぐ設定が可能です
詳しくはawslabs / git-secretsを参照ください

DeployToControlTower

  • ありがたいことに英語版日本語版のREADMEが存在します
  • また、HowTo_ja.mdにはVSCodeのセットアップの他、CloudShellによるデプロイについての解説もあります

Control Tower 配下への導入手順

  • 手順1: Control Tower の追加のサービス設定手順
  • 手順2:ゲストアカウントの Control Tower での作成手順
  • 手順3~6: パッケージインストール、認証情報の設定、ゲストアカウントへのデプロイ、アプリケーションサンプルのデプロイの手順

手順4のゲストアカウントのガバナンスベースのデプロイにより以下設定がされます

  • デフォルトセキュリティグループの閉塞 (逸脱した場合自動修復)
  • AWS Health イベントの通知
  • セキュリティに影響する変更操作の通知(一部)
  • セキュリティイベントを通知する SNS トピック (SecurityAlarmTopic) の作成
  • 上記 SNS トピックを経由した、メールの送信と Slack のセキュリティチャネルへの通知

引用:https://github.com/aws-samples/baseline-environment-on-aws/blob/main/doc/DeployToControlTower_ja.md#%E5%B0%8E%E5%85%A5%E6%89%8B%E9%A0%86

おわりに

  • 今回は実際に設定する所までは試しませんでしたが、 Control Towerを用いて払い出したアカウントに対して、BLEA を用いる事でよりセキュアな環境の実現が可能という事が分かりました
  • また、CDK の実装例・コミット時のgit-secretsの設定・プルリクチェックの仕組み等、CDK を用いた開発全般のリポジトリ設定の手本としても、 BLEA のリポジトリは参考になりそうです

参考文献

slideshare - 20211109 bleaの使い方(基本編)

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0