AWSPremiumSupport-DDoSResiliencyAssessment - AWS Systems Manager オートメーションランブックリファレンス

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

AWSPremiumSupport-DDoSResiliencyAssessment

説明

AWSPremiumSupport-DDoSResiliencyAssessment、AWS Systems Manager 自動化ランブックを使用すると、DDoS の脆弱性を確認したり、お客様の AWS アカウント の AWS Shield Advanced 保護に従ってリソースの設定を確認したりすることができます。Distributed Denial of Service (DDoS) 攻撃に脆弱なリソースの構成設定レポートを提供します。これは、AWS Shield Advanced保護の推奨ベストプラクティスに従って、設定の Amazon Route 53、Amazon Load Balancer、Amazon AWS CloudFront ディストリビューション、AWS Global AcceleratorElastic IPsのリソースを収集、分析、評価するために使用します。最終的な設定レポートは、選択した Amazon S3 バケットで HTML ファイルとして利用できます。

動作の仕組み

このランブックには、パブリックアクセスが有効になっているさまざまなタイプのリソースと、AWSDDoS ベストプラクティスホワイトペーパーの推奨事項に従って保護が設定されているかどうかに関する一連のチェックが含まれています。ランブックは、次の内容を実行します。

  • AWS Shield Advanced へのサブスクリプションが有効になっているかどうかを確認します。

  • 有効にすると、Shield Advanced で保護されているリソースがあるかどうかが確認されます。

  • AWS アカウント 内のすべてのグローバルリソースとリージョン別リソースを検索し、それらが Shield で保護されているかどうかを確認します。

  • これには、評価用のリソースタイプパラメータ、Amazon S3 バケット名、および Amazon S3 バケット AWS アカウント ID (S3) が必要ですBucketOwner。

  • 結果は、指定された Amazon S3 バケットに保存された HTML レポートとして返されます。

入力パラメータ AssessmentType によって、すべてのリソースのチェックを実行するかどうかが決まります。デフォルトでは、このランブックはすべてのタイプのリソースをチェックします。GlobalResources または RegionalResources パラメータのみを選択した場合、ランブックは選択したリソースタイプのみをチェックします。

重要

この自動化を実行する (コンソール)

ドキュメントタイプ

Automation

所有者

Amazon

[Platforms] (プラットフォーム)

Linux、macOS、Windows

パラメータ

  • AutomationAssumeRole

    型: 文字列

    説明: (オプション) Systems Manager Automation がユーザーに代わってアクションを実行できるようにする AWS Identity and Access Management (IAM) ロールの Amazon リソースネーム (ARN)。ロールを指定しない場合、Systems Manager Automation はこのランブックを開始するユーザーのアクセス許可を使用します。

  • AssessmentType

    型: 文字列

    説明: (オプション) DDoS レジリエンス評価の対象となるリソースのタイプを決定します。デフォルトでは、このランブックはグローバルリソースとリージョン別リソースの両方を評価します。リージョン別リソースについては、ランブックにはアプリケーション (ALB) とネットワーク (NLB) のすべてのロードバランサーのほか、AWS アカウント/リージョンのすべての Auto Scaling グループが記載されています。

    有効な値: ['Global Resources', 'Regional Resources', 'Global and Regional Resources']

    デフォルト: グローバルリソースとリージョン別リソース

  • S3BucketName

    タイプ: AWS::S3::Bucket::Name

    説明: (必須) レポートがアップロードされる Amazon S3 バケット名。

    許可されたパターン: ^[0-9a-z][a-z0-9\-\.]{3,63}$

  • S3BucketOwnerAccount

    型: 文字列

    説明: (オプション) Amazon S3 バケットを所有する AWS アカウント。Amazon S3 バケットが別の AWS アカウント に属している場合、このパラメータを指定してください。それ以外の場合は、このパラメータを空のままにしておくことができます。

    許可されたパターン: ^$|^[0-9]{12,13}$

  • S3BucketOwnerRoleArn

    タイプ: AWS::IAM::Role::Arn

    説明: (オプション) Amazon S3 バケットと AWS アカウント を記述し、バケットが別の AWS アカウント にある場合はパブリックアクセス設定をブロックする権限を持つ IAM ロールの ARN。このパラメータが指定されていない場合、ランブックは AutomationAssumeRole またはこのランブックを起動する IAM ユーザーを使用します (AutomationAssumeRoleが指定されていない場合)。ランブックの説明の「必要な権限」セクションを参照してください。

    許可されたパターン: ^$|^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):iam::[0-9]{12,13}:role/.*$

  • S3BucketPrefix

    型: 文字列

    説明: (オプション) 結果を保存するための Amazon S3 内のパスのプレフィックス。

    許可されたパターン: ^[a-zA-Z0-9][-./a-zA-Z0-9]{0,255}$|^$

必要な IAM アクセス許可

AutomationAssumeRole パラメータでは、ランブックを正常に使用するために、次のアクションが必要です。

  • autoscaling:DescribeAutoScalingGroups

  • cloudfront:ListDistributions

  • ec2:DescribeAddresses

  • ec2:DescribeNetworkAcls

  • ec2:DescribeInstances

  • elasticloadbalancing:DescribeLoadBalancers

  • elasticloadbalancing:DescribeTargetGroups

  • globalaccelerator:ListAccelerators

  • iam:GetRole

  • iam:ListAttachedRolePolicies

  • route53:ListHostedZones

  • route53:GetHealthCheck

  • shield:ListProtections

  • shield:GetSubscriptionState

  • shield:DescribeSubscription

  • shield:DescribeEmergencyContactSettings

  • shield:DescribeDRTAccess

  • waf:GetWebACL

  • waf:GetRateBasedRule

  • wafv2:GetWebACL

  • wafv2:GetWebACLForResource

  • waf-regional:GetWebACLForResource

  • waf-regional:GetWebACL

  • s3:ListBucket

  • s3:GetBucketAcl

  • s3:GetBucketLocation

  • s3:GetBucketPublicAccessBlock

  • s3:GetBucketPolicyStatus

  • s3:GetBucketEncryption

  • s3:GetAccountPublicAccessBlock

  • s3:PutObject

自動化引き受けロールの IAM ポリシーの例

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:ListBucket", "s3:GetBucketAcl", "s3:GetAccountPublicAccessBlock" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "s3:ListBucket", "s3:GetBucketAcl", "s3:GetBucketLocation", "s3:GetBucketPublicAccessBlock", "s3:GetBucketPolicyStatus", "s3:GetEncryptionConfiguration" ], "Resource": "arn:aws:s3:::<bucket-name>", "Effect": "Allow" }, { "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::<bucket-name>/*", "Effect": "Allow" }, { "Action": [ "autoscaling:DescribeAutoScalingGroups", "cloudfront:ListDistributions", "ec2:DescribeInstances", "ec2:DescribeAddresses", "ec2:DescribeNetworkAcls", "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeTargetGroups", "globalaccelerator:ListAccelerators", "iam:GetRole", "iam:ListAttachedRolePolicies", "route53:ListHostedZones", "route53:GetHealthCheck", "shield:ListProtections", "shield:GetSubscriptionState", "shield:DescribeSubscription", "shield:DescribeEmergencyContactSettings", "shield:DescribeDRTAccess", "waf:GetWebACL", "waf:GetRateBasedRule", "wafv2:GetWebACL", "wafv2:GetWebACLForResource", "waf-regional:GetWebACLForResource", "waf-regional:GetWebACL" ], "Resource": "*", "Effect": "Allow" }, { "Action": "iam:PassRole", "Resource": "arn:aws:iam::123456789012:role/<AutomationAssumeRole-Name>", "Effect": "Allow" } ] }

Instructions

  1. AWS Systems Manager コンソールで AWSPremiumSupport-DDoSResiliencyAssessment に移動します。

  2. [Execute automation] (オートメーションを実行) を選択します。

  3. 次の入力パラメータを入力できます。

    • AutomationAssumeRole (オプション):

      Systems Manager Automation がユーザーに代わってアクションを実行できるようにする AWS Identity and Access Management (IAM) ロールの Amazon リソースネーム (ARN)。ロールを指定しない場合、Systems Manager Automation はこのランブックを開始するユーザーのアクセス許可を使用します。

    • AssessmentType (オプション):

      DDoS レジリエンス評価の対象となるリソースのタイプを決定します。デフォルトでは、このランブックはグローバルリソースとリージョン別リソースの両方を評価します。

    • S3BucketName (必須):

      HTML 形式で評価レポートを保存する Amazon S3 バケットの名前。

    • S3BucketOwner (オプション):

      所有権を確認するための Amazon S3 バケットの AWS アカウント ID。AWS アカウント ID は、レポートをクロスアカウントの Amazon S3 バケットに公開する必要がある場合は必須で、Amazon S3 バケットが自動化開始と同じ AWS アカウント 内にある場合はオプションです。

    • S3BucketPrefix (オプション):

      結果を保存するための Amazon S3 内のパスの任意のプレフィックス。

  4. [実行] を選択します。

  5. 自動化が開始されます。

  6. ドキュメントは以下のステップを実行します。

    • CheckShieldAdvancedState:

      「S3」で指定された Amazon S3 バケットが匿名またはパブリックの読み取りまたは書き込みアクセス許可BucketNameを許可しているかどうか、バケットで保管時の暗号化が有効になっているかどうか、および「S3BucketOwner」で指定された AWS アカウント ID が Amazon S3 バケットの所有者であるかどうかをチェックします。

    • S3BucketSecurityChecks:

      「S3」で指定された Amazon S3 バケットが匿名またはパブリックの読み取りまたは書き込みアクセス許可BucketNameを許可しているかどうか、バケットで保管時の暗号化が有効になっているかどうか、および「S3BucketOwner」で指定された AWS アカウント ID が Amazon S3 バケットの所有者であるかどうかをチェックします。

    • BranchOnShieldAdvancedStatus:

      分岐は、AWS Shield Advanced サブスクリプションステータスや Amazon S3 バケット所有権ステータスに基づいてステップを文書化します。

    • ShieldAdvancedConfigurationReview:

      Shield Advanced の設定を確認して、必要最小限の詳細が記載されていることを確認します。例: AWS Shield レスポンスチーム (SRT) チームの IAM アクセス、連絡先リストの詳細、SRT プロアクティブエンゲージメントステータス。

    • ListShieldAdvancedProtections:

      Shield で保護されているリソースを一覧表示し、各サービスの保護リソースのグループを作成します。

    • BranchOnResourceTypeAndCount:

      分岐は、リソースタイプパラメータの値と Shield で保護されているグローバルリソースの数に基づいてステップを文書化します。

    • ReviewGlobalResources:

      Route 53 ホストゾーン、 CloudFront ディストリビューション、Global Accelerator などの Shield Advanced で保護されたグローバルリソースを確認します。

    • BranchOnResourceType:

      リソースタイプの選択 (グローバル、リージョン別、または両方) に基づいてドキュメントステップを分岐します。

    • ReviewRegionalResources:

      Application Load Balancer、Network Load Balancer、Classic Load Balancer、Amazon Elastic Compute Cloud (Amazon EC2) インスタンス (Elastic IP) などの Shield Advanced で保護されたリージョン別リソースをレビューします。

    • SendReportToS3:

      Amazon S3 バケットに DDoS 評価レポートの詳細をアップロードします。

  7. 完了すると、評価レポートの HTML ファイルの URI が Amazon S3 バケットに提供されます。

    ランブックが正常に実行された場合のレポートの S3 コンソールリンクと Amazon S3 URI

リファレンス

Systems Manager Automation

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