Guía de configuración manual de AWS

Información general

Utiliza esta guía para configurar manualmente la integración con AWS de Datadog.

Para configurar manualmente la integración de AWS, crea una política y un rol de IAM en tu cuenta de AWS y configura el rol con un ID externo de AWS generado en tu cuenta de Datadog. Esto permite que la cuenta de AWS de Datadog consulte las API de AWS en tu nombre y extraiga datos en tu cuenta de Datadog. Las siguientes secciones detallan los pasos para crear cada uno de estos componentes y luego completar la configuración en tu cuenta de Datadog.

Configuración

Generar un ID externo

  1. En la página de configuración de la integración de AWS, haz clic en Add AWS Account (Añadir cuenta de AWS) y a continuación selecciona Manually (Manualmente).
  2. Selecciona Role Delegation para el tipo de acceso y copia el AWS External ID. Para más información sobre el ID externo, consulta la Guía del usuario de IAM.
    Nota: El ID externo permanece disponible y no se regenera durante 48 horas, a menos que algún usuario lo cambie de manera explícita o se añada otra cuenta de AWS a Datadog durante ese periodo. Puedes volver a la página Add New AWS Account (Añadir cuenta de AWS nueva) en ese plazo para acabar de añadir una cuenta sin que cambie el ID externo.

Política de IAM en AWS para Datadog

Crea una política de IAM para el rol de Datadog en tu cuenta de AWS con los permisos necesarios para aprovechar todas las integraciones con AWS que ofrece Datadog. A medida que se añaden otros componentes a una integración, estos permisos pueden cambiar.

  1. Crear una nueva política en la consola IAM de AWS.
  2. Selecciona la pestaña JSON. Pega las políticas de permisos en el campo de texto.
    Nota: De manera opcional, puedes añadir elementos de condición a la política de IAM. Por ejemplo, las condiciones se pueden utilizar para restringir la monitorización a determinadas regiones.
  3. Haz clic enNext: Tags (Siguiente: etiquetas) y Next: Review (Siguiente: revisión).
  4. Asígnale a la política el nombre DatadogIntegrationPolicy u otro de tu elección, y añade una descripción adecuada.
  5. Haz clic en Create policy (Crear política).

Rol de IAM en AWS para Datadog

Crea un rol de IAM para que Datadog utilice los permisos definidos en la política de IAM.

  1. Crea un nuevo rol en la consola IAM de AWS.
  2. Selecciona AWS account (Cuenta de AWS) para el tipo de entidad de confianza y, después, selecciona Another AWS account (Otra cuenta de AWS).

  1. Introduce 464622532012 como el Account ID. Este es el ID de la cuenta de Datadog y concede a Datadog acceso a tus datos de AWS.

  1. Introduce 417141415827 como el Account ID. Este es el ID de la cuenta de Datadog y concede a Datadog acceso a tus datos de AWS.

  1. Si la cuenta de AWS que deseas integrar es una cuenta de GovCloud, ingresa 065115117704 como Account ID, de lo contrario ingresa 392588925713. Este es el ID de cuenta de Datadog y le permite a Datadog acceder a tus datos de AWS.

  1. Selecciona Require external ID (Requerir ID externo) e introduce el ID externo copiado en la sección Generate an external ID (Generar un ID externo). Asegúrate de dejar Require MFA deshabilitado. Para obtener más detalles, consulta la documentación de AWS Cómo utilizar un ID externo al conceder a un tercero acceso a tus recursos de AWS.
  2. Haz clic en Next (Siguiente).
  3. Si ya has creado la política, búscala en esta página y selecciónala. De lo contrario, haz clic en Create Policy (Crear política). Se abrirá en una ventana nueva y podrás seguir las instrucciones de la sección anterior.
  4. De manera opcional, adjunta la política SecurityAudit de AWS al rol para usar Cloud Security Management Misconfigurations.
  5. Haz clic en Next (Siguiente).
  6. Dale al rol un nombre (por ejemplo DatadogIntegrationRole) y una descripción adecuada.
  7. Haz clic en Create rol (Crear rol).

Completar la configuración en Datadog

  1. Regresa a la página de configuración de la integración de AWS para añadir manualmente una cuenta en Datadog que tuvieras abierta en otra pestaña. Haz clic en la casilla de verificación para confirmar que el rol IAM de Datadog se haya añadido a la cuenta de AWS.
  2. Introduce el ID de la cuenta sin guiones; por ejemplo: 123456789012. Tu ID de cuenta se encuentra en el ARN del rol creado para Datadog.
  3. Ingresa el nombre del rol que se creó en la sección anterior y haz clic en Save (Guardar).
    Nota: El nombre del rol que ingreses en el cuadro de integración distingue las mayúsculas y debe coincidir de manera exacta con el nombre del rol en AWS.
  4. Si se produce el error Datadog no tiene autorización para realizar sts:AssumeRole, sigue los pasos recomendados para solucionar problemas en la interfaz de usuario o consulta la guía de solución de problemas.
  5. Espera hasta 10 minutos para que los datos comiencen a recopilarse y, a continuación, consulta el dashboard de resumen de AWS para ver las métricas enviadas por tus servicios e infraestructura de AWS .

Configuración

AWS

  1. En tu consola de AWS crea un usuario de IAM para que lo utilice la integración de Datadog con los permisos necesarios.
  2. Genera una clave de acceso y una clave secreta para el usuario IAM de integración de Datadog.

Datadog

  1. En el cuadro de integración de AWS, haz clic en Add AWS Account (Añadir cuenta de AWS) y, a continuación, selecciona Manually (Manualmente).
  2. Selecciona la pestaña Access Keys (GovCloud or China* Only) (Claves de acceso [solo GovCloud o China]).
  3. Haz clic en la casilla de verificación I confirm that the IAM User for the Datadog Integration has been added to the AWS Account (Confirmo que el usuario de IAM para la integración de Datadog se ha añadido a la cuenta de AWS).
  4. Introduce tu Account ID, AWS Access Key y AWS Secret Key. Solo se aceptan claves de acceso y secretos para GovCloud y China.
  5. Haz clic en Save (Guardar).
  6. Espera hasta 10 minutos para que los datos comiencen a recopilarse y, a continuación, consulta el dashboard de resumen de AWS para ver las métricas enviadas por tus servicios e infraestructura de AWS .

* Todo uso de los servicios de Datadog en (o en conexión con entornos dentro de) China continental está sujeto al descargo de responsabilidad publicado en la sección Localizaciones de servicio restringidas de nuestro sitio web.

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*",
                "backup:ListRecoveryPointsByBackupVault",
                "bcm-data-exports:GetExport",
                "bcm-data-exports:ListExports",
                "budgets:ViewBudget",
                "cassandra:Select",
                "cloudfront:GetDistributionConfig",
                "cloudfront:ListDistributions",
                "cloudtrail:DescribeTrails",
                "cloudtrail:GetTrailStatus",
                "cloudtrail:LookupEvents",
                "cloudwatch:Describe*",
                "cloudwatch:Get*",
                "cloudwatch:List*",
                "codedeploy:BatchGet*",
                "codedeploy:List*",
                "cur:DescribeReportDefinitions",
                "directconnect:Describe*",
                "dynamodb:Describe*",
                "dynamodb:List*",
                "ec2:Describe*",
                "ec2:GetSnapshotBlockPublicAccessState",
                "ec2:GetTransitGatewayPrefixListReferences",
                "ec2:SearchTransitGatewayRoutes",
                "ecs:Describe*",
                "ecs:List*",
                "elasticache:Describe*",
                "elasticache:List*",
                "elasticfilesystem:DescribeAccessPoints",
                "elasticfilesystem:DescribeFileSystems",
                "elasticfilesystem:DescribeTags",
                "elasticloadbalancing:Describe*",
                "elasticmapreduce:Describe*",
                "elasticmapreduce:List*",
                "es:DescribeElasticsearchDomains",
                "es:ListDomainNames",
                "es:ListTags",
                "events:CreateEventBus",
                "fsx:DescribeFileSystems",
                "fsx:ListTagsForResource",
                "glacier:GetVaultNotifications",
                "glue:ListRegistries",
                "health:DescribeAffectedEntities",
                "health:DescribeEventDetails",
                "health:DescribeEvents",
                "kinesis:Describe*",
                "kinesis:List*",
                "lambda:GetPolicy",
                "lambda:List*",
                "lightsail:GetInstancePortStates",
                "logs:DeleteSubscriptionFilter",
                "logs:DescribeLogGroups",
                "logs:DescribeLogStreams",
                "logs:DescribeSubscriptionFilters",
                "logs:FilterLogEvents",
                "logs:PutSubscriptionFilter",
                "logs:TestMetricFilter",
                "oam:ListAttachedLinks",
                "oam:ListSinks",
                "organizations:Describe*",
                "organizations:List*",
                "rds:Describe*",
                "rds:List*",
                "redshift:DescribeClusters",
                "redshift:DescribeLoggingStatus",
                "route53:List*",
                "s3:GetBucketLocation",
                "s3:GetBucketLogging",
                "s3:GetBucketNotification",
                "s3:GetBucketTagging",
                "s3:ListAccessGrants",
                "s3:ListAllMyBuckets",
                "s3:PutBucketNotification",
                "savingsplans:DescribeSavingsPlanRates",
                "savingsplans:DescribeSavingsPlans",
                "ses:Get*",
                "sns:GetSubscriptionAttributes",
                "sns:List*",
                "sns:Publish",
                "sqs:ListQueues",
                "states:DescribeStateMachine",
                "states:ListStateMachines",
                "support:DescribeTrustedAdvisor*",
                "support:RefreshTrustedAdvisorCheck",
                "tag:GetResources",
                "tag:GetTagKeys",
                "tag:GetTagValues",
                "timestream:DescribeEndpoints",
                "waf-regional:ListRuleGroups",
                "waf-regional:ListRules",
                "waf:ListRuleGroups",
                "waf:ListRules",
                "wafv2:GetIPSet",
                "wafv2:GetLoggingConfiguration",
                "wafv2:GetRegexPatternSet",
                "wafv2:GetRuleGroup",
                "wafv2:ListLoggingConfigurations",
                "xray:BatchGetTraces",
                "xray:GetTraceSummaries"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}

AWS resource collection IAM policy

To use resource collection, you must attach AWS’s managed SecurityAudit Policy to your Datadog IAM role.

Notes:

  • Warning messages appear on the AWS integration tile in Datadog if you enable resource collection, but do not have the AWS Security Audit Policy attached to your Datadog IAM role.
  • To enable Datadog to collect account management resources from account.GetAlternateContact and account.GetContactInformation, you need to enable trusted access for AWS account management.