3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

AWS Configにてマネージドルールを定期評価をさせる方法

Posted at

経緯

AWS ConfigにはAWSリソースが適切な設定になっているかを監視してくれる機能があります。
以下は一例です。

  • S3 バケットでパブリック読み取りアクセスが許可されないことを確認します。
  • AWS アカウントで AWS CloudTrail が有効になっているかどうかを確認します。
  • RDS DB インスタンスの高可用性が有効になっているかどうかを確認します。

一回目の非準拠メールを見逃してしまうと
上記のルールに非準拠した状態が継続することになります。
中々恐ろしいですね。
その為、ルールを定期的に評価させてみることになりました。

勘違い

AWS Configのマネージドルールについて勘違いをしまして、
ルールの詳細のトリガータイプを「設定の変更」→「定期的」にすれば
どれでも定期実行が可能だと思ってました。

が、ルールをEditで開いても「定期的」がグレーアウトしていてチェックすることができないものがあります。

AWSのサポートから教えて頂いた対処

StartConfigRulesEvaluationをLambdaで実装してCloudWatch EventsからLambdaを定期実行すれば
要望満たせるとのことでした。

Lambda用のRole

以下のPolicyを作成してこれから作成するLambda用のRoleへアタッチすればOKです。

JSONの場合

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "config:StartConfigRulesEvaluation",
            "Resource": "*"
        }
    ]
}

マネージドコンソールの場合

image.png

Lambda(Python3.6)

Pythonの参考ページを参照しつつ作成したコードがこちらです。

import boto3

client = boto3.client('config')
 
def lambda_handler(event, context):
    response = client.start_config_rules_evaluation(
        ConfigRuleNames=[
            's3-bucket-public-read-prohibited',
            'cloudtrail-enabled',
            'rds-multi-az-support' 
        ]
    )

ConfigRuleNamesの箇所にマネージドルールの項目名を記載するだけです。
上で作成したRoleを選択するとLambdaの画面でConfigが連携されます。

image.png

CloudWatch Events

スケジュールにて確認したい間隔を設定し、Lambdaを指定することで、連携が完了です。
image.png

確認方法

ルールの項目から評価状況を確認してください。
最後に成功した呼び込みと最後に成功した評価が指定した間隔で更新されたら成功です。

image.png

落とし穴

AWS Configは仕様でルールの準拠・非準拠のステータス変更時しか通知してくれません。
つまり非準拠が継続の場合にはメール通知がありません。
サポートから上記の回答を頂いたので2019年2月末時点では代替手段もなさそなので
「運用でカバー」をしないといけない様です・・・

■ 公式リンク
公式ページ
ブラックベルト
AWS Config マネージドルールのリスト

■ AWS Config過去記事
AWS Configの通知内容をLambdaで成形

3
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
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?