概要

このガイドを使用して、Datadog AWS インテグレーションを手動でセットアップします。

AWS インテグレーションを手動で設定するには、AWS アカウントで IAM ポリシーと IAM ロールを作成し、Datadog アカウントで生成された AWS External ID でそのロールを構成します。これにより、Datadog の AWS アカウントは、自動的に AWS API をクエリし、Datadog アカウントにデータをプルすることができます。以下のセクションでは、これらの各コンポーネントを作成し、Datadog アカウントでセットアップを完了するための手順を詳しく説明します。

セットアップ

外部 ID を生成する

  1. AWS インテグレーション構成ページで、Add AWS Account をクリックし、** Manually** を選択します。
  2. アクセスタイプで Role Delegation を選択し、AWS External ID をコピーします。外部 ID の詳細については、IAM ユーザーガイドをご参照ください。 注: 外部 ID は、ユーザーにより明示的に変更されたり、別の AWS アカウントが Datadog に追加されたりしない限り、48 時間は利用可能な状態となり、再生成されません。その時間内に Add New AWS Account ページに戻り、アカウントの追加プロセスを完了すれば、外部 ID が変更されることはありません。

Datadog のための AWS IAM ポリシー

Datadog が提供するすべての AWS インテグレーションを利用するために、AWS アカウントの Datadog ロールに必要な権限を持つ IAM ポリシーを作成します。インテグレーションに他のコンポーネントが追加されると、これらの権限は変更される可能性があります。

  1. AWS IAM コンソールで新しいポリシーを作成します。
  2. JSON タブを選択します。テキストボックスに権限ポリシーを貼り付けます。
  3. Next: TagsNext: Review をクリックします。
  4. ポリシーに DatadogIntegrationPolicy、または自分が選択した名前を付け、適切な説明を入力します。
  5. Create policy をクリックします。

Datadog のための AWS IAM ロール

IAM ポリシーで定義された権限を使用するために、Datadog 用の IAM ロールを作成します。

  1. AWS IAM コンソールで新しいロールを作成します。
  2. 信頼されるエンティティの種類で AWS account を選択し、Another AWS account を選択します。

  1. Account ID として、464622532012 を入力します。これは Datadog のアカウント ID で、Datadog に AWS のデータへのアクセスを許可するものです。

  1. Account ID として、417141415827 を入力します。これは Datadog のアカウント ID で、Datadog に AWS のデータへのアクセスを許可するものです。

  1. Require external ID を選択し、外部 ID を生成するセクションでコピーした外部 ID を入力します。 Require MFA を無効にしたままにしてください。詳しくは、AWS のドキュメント、第三者にお客様の AWS リソースへのアクセスを許可する際の外部 ID の使用方法をご覧ください。
  2. Next をクリックします。
  3. すでにポリシーを作成している場合は、このページで検索し、選択してください。そうでない場合は、新しいウィンドウで開く Create Policy をクリックし、前のセクションの指示に従います。
  4. オプションで、Cloud Security Management Misconfigurations を使用するための AWS SecurityAudit ポリシーをロールにアタッチします。
  5. Next をクリックします。
  6. ロールに DatadogIntegrationRole などの名前を付け、適切な説明を入力します。
  7. Create Role をクリックします。

Datadog で設定を完了する

  1. 別のタブで開いていた Datadog のアカウントを手動で追加するための AWS インテグレーション構成ページに戻ります。チェックボックスをクリックして、Datadog の IAM ロールが AWS アカウントに追加されたことを確認します。
  2. アカウント ID をダッシュなしで入力します (例: 123456789012)。アカウント ID は、Datadog 用に作成されたロールの ARN で確認することができます。
  3. 前のセクションで作成したロールの名前を入力し、Save をクリックします。 注: インテグレーションタイルに入力する名前は大文字と小文字が区別され、AWS のロール名と完全に一致する必要があります。
  4. Datadog is not authorized to perform sts:AssumeRole エラーが発生した場合は、UI で推奨されているトラブルシューティングの手順を実行するか、トラブルシューティングガイドを読んでください。
  5. データ収集が開始されるまで最大 10 分待ち、すぐに使える AWS 概要ダッシュボードを表示し、AWS サービスやインフラストラクチャーから送信されるメトリクスを確認します。

セットアップ

AWS

  1. AWS のコンソールで、Datadog インテグレーションで使用する IAM ユーザーを必要な権限で作成します。
  2. Datadog インテグレーション IAM ユーザー用のアクセスキーとシークレットキーを生成します。

Datadog

  1. AWS インテグレーションタイルで、Add AWS Account をクリックし、** Manually** を選択します。
  2. Access Keys (GovCloud or China Only) タブを選択します。
  3. Account IDAWS Access KeyAWS Secret Key を入力します。GovCloud および中国用のアクセスキーとシークレットキーのみが許可されます。
  4. 保存をクリックします。
  5. データ収集が開始されるまで最大 10 分待ち、すぐに使える AWS 概要ダッシュボードを表示し、AWS サービスやインフラストラクチャーから送信されるメトリクスを確認します。

AWS IAM Permissions

AWS IAM permissions enable Datadog to collect metrics, tags, EventBridge events, and other data necessary to monitor your AWS environment.

To correctly set up the AWS Integration, you must attach the relevant IAM policies to the Datadog AWS Integration IAM Role in your AWS account.

AWS Integration IAM Policy

The set of permissions necessary to use all the integrations for individual AWS services.

The following permissions included in the policy document use wild cards such as List* and Get*. If you require strict policies, use the complete action names as listed and reference the Amazon API documentation for your respective services.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "apigateway:GET",
                "autoscaling:Describe*",
                "backup:List*",
                "budgets:ViewBudget",
                "cloudfront:GetDistributionConfig",
                "cloudfront:ListDistributions",
                "cloudtrail:DescribeTrails",
                "cloudtrail:GetTrailStatus",
                "cloudtrail:LookupEvents",
                "cloudwatch:Describe*",
                "cloudwatch:Get*",
                "cloudwatch:List*",
                "codedeploy:List*",
                "codedeploy:BatchGet*",
                "directconnect:Describe*",
                "dynamodb:List*",
                "dynamodb:Describe*",
                "ec2:Describe*",
                "ec2:GetTransitGatewayPrefixListReferences",
                "ec2:SearchTransitGatewayRoutes",
                "ecs:Describe*",
                "ecs:List*",
                "elasticache:Describe*",
                "elasticache:List*",
                "elasticfilesystem:DescribeFileSystems",
                "elasticfilesystem:DescribeTags",
                "elasticfilesystem:DescribeAccessPoints",
                "elasticloadbalancing:Describe*",
                "elasticmapreduce:List*",
                "elasticmapreduce:Describe*",
                "es:ListTags",
                "es:ListDomainNames",
                "es:DescribeElasticsearchDomains",
                "events:CreateEventBus",
                "fsx:DescribeFileSystems",
                "fsx:ListTagsForResource",
                "health:DescribeEvents",
                "health:DescribeEventDetails",
                "health:DescribeAffectedEntities",
                "kinesis:List*",
                "kinesis:Describe*",
                "lambda:GetPolicy",
                "lambda:List*",
                "logs:DeleteSubscriptionFilter",
                "logs:DescribeLogGroups",
                "logs:DescribeLogStreams",
                "logs:DescribeSubscriptionFilters",
                "logs:FilterLogEvents",
                "logs:PutSubscriptionFilter",
                "logs:TestMetricFilter",
                "organizations:Describe*",
                "organizations:List*",
                "rds:Describe*",
                "rds:List*",
                "redshift:DescribeClusters",
                "redshift:DescribeLoggingStatus",
                "route53:List*",
                "s3:GetBucketLogging",
                "s3:GetBucketLocation",
                "s3:GetBucketNotification",
                "s3:GetBucketTagging",
                "s3:ListAllMyBuckets",
                "s3:PutBucketNotification",
                "ses:Get*",
                "sns:List*",
                "sns:Publish",
                "sqs:ListQueues",
                "states:ListStateMachines",
                "states:DescribeStateMachine",
                "support:DescribeTrustedAdvisor*",
                "support:RefreshTrustedAdvisorCheck",
                "tag:GetResources",
                "tag:GetTagKeys",
                "tag:GetTagValues",
                "xray:BatchGetTraces",
                "xray:GetTraceSummaries"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}

AWS Security Audit Policy

To use Cloud Security Posture Management, attach AWS’s managed SecurityAudit Policy to your Datadog IAM role.