如何在 Datadog 中限制、选择或过滤 AWS 区域以进行 AWS 集成?

问题描述 投票:0回答:2

是否有任何方法可以在 Datadog 中限制、选择或过滤 AWS 区域以进行 AWS 集成?

我知道我们可以根据标签过滤资源,但所有 AWS 服务的所有资源都没有指定区域的标签。此外,AWS 账户超过 25 个,因此在使用的所有 AWS 服务中的所有资源中添加该标签将是一项非常漫长而乏味的任务。

有什么快速的方法吗?

我们需要这样做的原因是为了降低所有 AWS 账户中所有 AWS 区域中由 DataDog 引起的 Get API 调用的成本。此外,我们不想向 Datadog 提供对其他 AWS 区域的不必要的访问权限。

amazon-web-services amazon-iam monitoring datadog aws-regions
2个回答
2
投票

要实现此目标,您需要做两件事:

  1. 使用其 AWS IAM 策略中的条件添加 Datadog 使用的 AWS IAM 角色中允许的区域,如下所示:
            "Condition": {
                "StringEquals": {
                    "aws:RequestedRegion": "eu-central-1"
                }
            }
  1. 使用 cURL 命令添加要在 Datadog Integration for AWS 中排除的区域列表,如下所示:
export DD_API_KEY="*************"
export DD_APP_KEY="*************"
export AWS_ROLE_NAME="IAM-Role-Datadog"
export AWS_ACCOUNT_ID="12345678901"

curl -X PUT "https://api.datadoghq.com/api/v1/integration/aws?account_id=${AWS_ACCOUNT_ID}&role_name=${AWS_ROLE_NAME}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \
-d @- << EOF
{
  "account_id": "${AWS_ACCOUNT_ID}",
  "cspm_resource_collection_enabled": false,
  "excluded_regions": [
    "ap-northeast-1",
    "ap-northeast-2",
    "ap-northeast-3",
    "ap-south-1",
    "ap-southeast-1",
    "ap-southeast-2",
    "ca-central-1",
    "eu-central-1",
    "eu-north-1",
    "eu-west-1",
    "eu-west-2",
    "eu-west-3",
    "sa-east-1",
    "us-west-1"
  ],
  "metrics_collection_enabled": true,
  "resource_collection_enabled": false,
  "role_name": "${AWS_ROLE_NAME}"
}
EOF

进一步阐述:第二步就足够了,但可能会出现这样的情况:从 Datadog 控制台/GUI 添加新的 AWS 账户,而您忘记添加排除的区域,因为您无法在 Datadog 控制台/GUI 上指定排除的区域。为此,您必须使用 Datadog API。因此,第一步可以帮助我们识别缺少排除区域的 AWS 账户的此类配置,因为它将在 Datadog Integration for AWS 上显示有关不允许访问区域的错误。此外,第一步增加了额外的安全层。


1
投票

这最终也可以通过 Datadog 控制台实现!

要允许/限制任何区域:登录您的 datadog 帐户 > 集成 > AWS > 选择集成(AWS 帐户)> 常规 > 区域。

这是截图:

© www.soinside.com 2019 - 2024. All rights reserved.