導入
対象読者
- アプリケーションエンジニアとしてAWSを利用しているが、ガバナンスやセキュリティにはそこまで明るくない方
- AWS Configがどういうものかざっくりとは知っている方
対象読者を上記に設定しているのは、自分がそうであったということと、似たようなスキル感の方をよく見かけるためです。(もちろん、属している場所に依存するとは思いますが)
そのため、この記事を通して、AWS Configについて知ってもらうことで、同様のモヤモヤを抱えている方の一助になればと考えています。
この記事を作成するに際して感じていた課題
- AWSに入門しよう、と考えてアプリケーションを作成するようなハンズオンをする場合、ガバナンス周りの解説がされているような学習リソースがあまりない
- ↑のため、ガバナンス関係のことは独立して勉強するが、それがアプリケーションとどう統合されるかイマイチ想像がつかない
AWS Configの概要・AWS Configがないことで困ること
概要
AWS Configは主に以下の2つの要素によって構成されています。
- Configuration Recorder
- Config Rules
Configuration Recorderによってリソース構成の変更を継続的に評価、モニタリング、記録し、
Config Rulesによってリソース構成が企業のポリシーに準拠しているかを継続的に監査および評価します。
ないと困ること
AWSは、該当のリソースに特別詳しくなくても、それっぽくリソースを立ててしまえます。
また、実務でAWSを使うとなった際、事前に相当の勉強をするような時間がなかったり、勉強する時間があっても実務レベルでの学習は難しいと思います。
そうした状況でできたリソースは潜在的にセキュリティリスクを抱えていることがありますが、そうした状況を自ら検知するのは難しい、というか、問題が起きてからでないとわからないことが多いです。
そういった問題を解決してくれるのがAWS Configです。
この記事では特にConfig Rulesについて解説します。
Config Rules
AWS Configについてざっくりと知っていた自分は、まず「どういうルールを設定すればいいかわからない」と思いました。
そのため、まずはAWSが公式として提唱しているベストプラクティスや、それに準ずるものに準拠したいと考え、調査した結果、以下が最もらしいのではないかと踏みました。
AWS Foundational Security Best Practices (FSBP)
https://docs.aws.amazon.com/ja_jp/securityhub/latest/userguide/fsbp-standard.html
https://aws.amazon.com/jp/blogs/security/aws-foundational-security-best-practices-standard-now-available-security-hub/
Top 10 security items to improve in your AWS account
https://aws.amazon.com/jp/blogs/security/top-10-security-items-to-improve-in-your-aws-account/
上記によると、Security Hub CSPMを有効化することによって、AWS Foundational Security Best Practciesに則ったAWS Configのマネージドルールが有効になるとのことです。
また、AWS Foundational Security Best PractciesはAWSのトップ 10 セキュリティベストプラクティスと密接に関係があり、設定する内容の情報源としては十分に根拠があると考えました。
AWSFoundational Security Best Practices (FSBP)で適用されるルールの例
自分はAmazon ECSを使用してWebアプリケーション開発をすることが多いため、その付近の技術に関するルールで、何が適用されるかをいくつか例示します。
- ECR
- ECS
- Aurora
- ALB
- VPC
やってみる
AWS Configの画面に移動します。
Configuration Recorderを有効化します。
Security Hub CSPMの画面に移動します。
AWS基礎セキュリティのベストプラクティスv1.0.0を有効にする にチェックして有効化

AWS Config > ルール に移動します。
以下のように、securityhub-のプレフィックスのルールが作成されています。

個別にルールを設定するシチュエーション
Security Hub CSPMはあくまでセキュリティ観点での合否を見るため、それ以外のガバナンスのチェックをしていないです。
そのため、自組織特有のルールで特定の名前を含めてタグ付けする必要がある、などの場合は独自に設定する必要があります。
また、自動修正が必要な場合も、AWS Config独自でやる必要があります。
おわりに
アプリケーションエンジニアをしていると、どうしてもコンピューティング周りのことでいっぱいですが、AWSをきちんと使用するには、それ以外のリソースについてもある程度理解を持っておく必要があります。
というか、その方が玄人感出てきそうだなーと思うので、セキュリティやガバナンスの観点の知見も増やしていきたいと考えています。



