【Datadog】AWS Integrationで「警告: GetAccountInformation」が出た時の対処法(Terraform対応)
DatadogでAWSをモニタリングしていると、ダッシュボードやインテグレーション画面に「Datadog is not authorized to monitor some of your services.」という警告が表示されることがあります。

今回は、この警告の原因となった不足権限 account:GetAccountInformation の追加方法と、Terraform管理環境での注意点について解説します。
発生した警告の内容と原因
まずは、どのような状況でエラーが発生するのかを整理します。
Datadogからの警告メッセージ
インテグレーション画面に、以下のようなメッセージが表示されます。
WARNING: Datadog is not authorized to monitor some of your services. Add 1 permission to the Datadog IAM role in AWS to enable data collection.
原因は「アカウント識別権限」の不足
この警告の主な原因は、AWS IAMロールに account:GetAccountInformation という権限が不足していることです。
これは、DatadogがAWSアカウントのエイリアスや詳細情報を正しく取得し、複数のアカウントを識別するために必要となる比較的新しい要件です。
具体的な解決策:IAMポリシーの修正
解決には、Datadogが利用しているIAMロール(一般的には DatadogAWSIntegrationRole)に権限を付加する必要があります。
追加すべき権限
以下のActionをポリシーに追加します。
- Action:
account:GetAccountInformation - Resource:
*(※アカウント全体に関わる情報のため)
インラインポリシーの修正例(JSON)
{
"Effect": "Allow",
"Action": [
"account:GetAccountInformation"
],
"Resource": "*"
}Terraform管理環境での注意点
AWSコンソールから手動で修正して「警告が消えた!」と安心するのはまだ早いです。
Terraformでインフラを管理している場合、特有の注意点があります。
手動修正後の「ドリフト」に注意
コンソールから直接修正を行うと、コード(Terraform)と実環境(AWS)の間で構成の乖離(ドリフト)が発生します。
この状態で terraform apply を実行すると、手動で追加した権限が削除され、警告が再発してしまいます。
Terraformコードへの反映例
必ず .tf ファイルに以下の修正を加え、コードベースを最新の状態に保ちましょう。
resource "aws_iam_role_policy" "datadog_integration" {
name = "DatadogAWSIntegrationPolicy"
role = aws_iam_role.datadog_integration_role.id
policy = jsonencode({
Version = "2012-10-17"
Statement = [
{
Action = [
"account:GetAccountInformation", # ここを追記
"ec2:Describe*",
# ...その他の権限
]
Effect = "Allow"
Resource = "*"
}
]
})
}まとめ
DatadogのAWSインテグレーションで警告が出た際は、まず不足している権限を特定し、速やかに対応することが重要です。
- 警告が出たら:
GetAccountInformationが不足していないか確認。 - コンソールで試行: まずは手動で修正し、警告が消えるか確認するのも有効。
- 最後はコードへ: Terraform管理下にあるなら、必ずコードを更新して
applyし、ドリフトを解消する。
反映には少し時間がかかる場合がありますが、正しく設定すれば翌日にはクリーンなダッシュボードに戻っているはずです。
