AWS Config を使用して Amazon Redshift のセキュリティ設定をモニタリング - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS Config を使用して Amazon Redshift のセキュリティ設定をモニタリング

作成者: Lucas Kauffman (AWS) と abhishek sengar (AWS)

コードリポジトリ: awslabs/aws-config-rules

環境:本稼働

テクノロジー: セキュリティ、アイデンティティ、コンプライアンス

AWS サービス: AWS Config、Amazon Redshift、AWS Lambda

[概要]

AWS Config をして、AWS リソースのセキュリティ構成を評価できます。AWS Config はリソースを監視できます。構成の設定が定義したルールに違反している場合は、AWS Config はそのリソースに非準拠のフラグを付けます。

AWS Config を使用して、Amazon Redshift クラスターとデータベースを評価し監視できます。セキュリティの推奨事項と特徴量の詳細について、「Amazon Redshift のセキュリティ」 を参照してください。このパターンでは、AWS Config のカスタム AWS Lambda ルールが含まれています。これらのルールをアカウントにデプロイして、Amazon Redshift クラスターとデータベースのセキュリティ設定をモニタリングできます。このパターンのルールでは、AWS Config を使用して、次のことを確認できます:

  • Amazon Redshift クラスターのデータベースで監査ログが有効になっている

  • Amazon Redshift クラスターに接続するには SSL が必要である

  • 連邦情報処理規格 (FIPS) 暗号が使用中である

  • Amazon Redshift クラスター内のデータベースが暗号化されている

  • ユーザーアクティビティモニタリングが有効になっている

前提条件と制限

前提条件

製品バージョン

  • Python バージョン 3.9 以降

アーキテクチャ

ターゲットテクノロジースタック

  • AWS Config

ターゲットアーキテクチャ

ターゲットアーキテクチャの操作シーケンス
  1. AWS Config は定期的にカスタムルールを実行します。

  2. カスタムルールは、Lambda 関数を呼び出します。

  3. Lambda 関数は、Amazon Redshift クラスターに非準拠の設定がないかどうかをチェックします。

  4. Lambda 関数は、各 Amazon Redshift クラスターのコンプライアンス状態を AWS Config に報告します。

自動化とスケール

AWS Config カスタムルールは、アカウント内のすべての Amazon Redshift クラスターを評価するようにスケールされます。このソリューションをスケールするために追加のアクションは必要ありません。

ツール

AWS サービス

  • AWS Config は、AWS アカウントの AWS リソースの設定とその設定方法ついて詳細に表示します。リソースがどのように相互に関連しているかと、それらの構成が時間の経過とともにどのように変化したかを特定することを支援します。

  • AWS Identity and Access Management (IAM)」は、AWS リソースへのアクセスを安全に管理し、誰が認証され、使用する権限があるかを制御するのに役立ちます。

  • AWS Lambda は、サーバーのプロビジョニングや管理を行うことなくコードを実行できるコンピューティングサービスです。必要に応じてコードを実行し、自動的にスケーリングするため、課金は実際に使用したコンピューティング時間に対してのみ発生します。

  • Amazon Redshift は、 クラウド内でのフルマネージド型、ペタバイト規模のデータウェアハウスサービスです。

コードリポジトリ

このパターンのコードは リポジトリにあります GitHub aws-config-rules。このリポジトリのカスタムルールは Python プログラミング言語の Lambda ルールです。このリポジトリには、AWS Config の多くのカスタムルールが含まれています。このパターンでは以下のルールのみが使用されます:

  • REDSHIFT_AUDIT_ENABLED — Amazon Redshift クラスターで監査ログが有効になっていることを確認します。ユーザーアクティビティモニタリングが有効になっていることも確認する場合、代わりに REDSHIFT_USER_ACTIVITY_MONITORING_ENABLEDのルールをデプロイします。

  • REDSHIFT_SSL_REQUIRED — Amazon Redshift クラスターに接続するには SSL が必要であることを確認します。連邦情報処理標準 (FIPS) の暗号が使用されていることも確認する場合、代わりに REDSHIFT_FIPS_REQUIRED ルールをデプロイします。

  • REDSHIFT_FIPS_REQUIRED — SSL が必要で、FIPS 暗号が使用されていることを確認します。

  • REDSHIFT_DB_ENCRYPTED — Amazon Redshift クラスター内のデータベースが暗号化されていることを確認します。

  • REDSHIFT_USER_ACTIVITY_MONITORING_ENABLED — 監査ログ記録とユーザーアクティビティモニタリングが有効になっていることを確認します。

エピック

タスク説明必要なスキル

IAM ポリシーを設定

  1. Lambda 実行ロールが Amazon Redshift クラスター設定を読み取れるようにする、カスタム IAM アイデンティティベースのポリシーを作成します。詳細については、「リソースへのアクセスの管理」 (Amazon Redshift ドキュメント) および「IAM ポリシーの作成」 (IAM ドキュメント) を参照してください。

    {     "Version": "2012-10-17",     "Statement": [       {         "Effect": "Allow",         "Action": [             "redshift:DescribeClusterParameterGroups",             "redshift:DescribeClusterParameters",             "redshift:DescribeClusters",             "redshift:DescribeClusterSecurityGroups",             "redshift:DescribeClusterSnapshots",             "redshift:DescribeClusterSubnetGroups",             "redshift:DescribeEventSubscriptions",             "redshift:DescribeLoggingStatus"         ],         "Resource": "*"       }     ] }
  2. AWSLambdaExecute および AWSConfigRulesExecutionRole管理ポリシーを Lambda 実行ロール のアクセス許可ポリシーとして割り当てます。手順については、「IAM アイデンティティアクセス権限の追加」 (IAM ドキュメント)を参照してください。

AWS 管理者

リポジトリをクローン作成します。

Bash シェルで、次のコマンドを実行します。これにより、 からaws-config-rulesリポジトリのクローンが作成されます GitHub。

git clone https://github.com/awslabs/aws-config-rules.git
AWS 全般
タスク説明必要なスキル

ルールを AWS Config にデプロイします。

カスタム Lambda ルールの作成」 (AWS Config ドキュメント)の手順に従って、アカウントに次の 1 つ以上のルールをデプロイします:

  • REDSHIFT_AUDIT_ENABLED

  • REDSHIFT_SSL_REQUIRED

  • REDSHIFT_FIPS_REQUIRED

  • REDSHIFT_DB_ENCRYPTED

  • REDSHIFT_USER_ACTIVITY_MONITORING_ENABLED

AWS 管理者

ルールが機能していることを確認します。

ルールをデプロイした後、「リソースの評価」 (AWS Config ドキュメント)の手順んに従って、AWS Config が Amazon Redshift リソースを正しく評価していることを確認します。

AWS 全般

関連リソース

AWS サービスのドキュメント

AWS 規範ガイダンス

追加情報

AWS Config で次の AWS マネージドルールを使用して、Amazon Redshift の以下のセキュリティ構成を確認できます:

  • redshift-cluster-configuration-check – このルールを使用して、Amazon Redshift クラスター内のデータベースで監査ログ記録が有効になっていることを確認し、データベースが暗号化されていることを確認します。

  • redshift-require-tls-ssl – このルールを使用して、Amazon Redshift クラスターへの接続に SSL が必要であることを確認します。