Este producto no es compatible con el sitio Datadog seleccionado. ().

Overview

App and API Protection leverages the Datadog PHP library to monitor and secure your PHP service. The library integrates seamlessly with your existing application without requiring code changes.

For detailed compatibility information, including supported PHP versions, frameworks, and deployment environments, see PHP Compatibility Requirements.

This guide explains how to set up App and API Protection (AAP) for PHP applications. The setup involves:

  1. Installing the Datadog Agent
  2. Enabling App and API Protection monitoring
  3. Running your PHP application with the Datadog Agent
  4. Verifying the setup

Requisitos previos

  • Entorno de AWS Fargate
  • Aplicación PHP contenedorizada con Docker
  • AWS CLI configurada con los permisos adecuados
  • Su clave de API de Datadog
  • Datadog PHP SDK (consulte los requisitos de versión)

1. Instale el Datadog Agent

Instale el Datadog Agent en su definición de tarea de Fargate:

{
  "containerDefinitions": [
    {
      "name": "datadog-agent",
      "image": "public.ecr.aws/datadog/agent:latest",
      "environment": [
        {
          "name": "DD_API_KEY",
          "value": "<YOUR_API_KEY>"
        },
        {
          "name": "DD_APM_ENABLED",
          "value": "true"
        },
        {
          "name": "DD_APM_NON_LOCAL_TRAFFIC",
          "value": "true"
        },
        {
          "name": "DD_SITE",
          "value": ""
        }
      ]
    }
  ]
}

2. Habilite la supervisión de App and API Protection

Automatically enabling App and API Protection through Remote Configuration

You can enable services with remote configuration on your services dashboard. Check the box for the service you want to enable App and API Protection for under Activate on your APM services.

Habilite manualmente la supervisión de App and API Protection

Asegúrese de que su Dockerfile incluya la biblioteca de PHP de Datadog:

Agregue lo siguiente a su Dockerfile:

# Install dd-trace-php
RUN curl -LO https://github.com/DataDog/dd-trace-php/releases/latest/download/datadog-setup.php
RUN php datadog-setup.php --php-bin=all
# Enable appsec
ENV DD_APPSEC_ENABLED=true
# Configure your service
ENV DD_SERVICE=<YOUR_SERVICE_NAME>
ENV DD_ENV=<YOUR_ENVIRONMENT>

Actualice su definición de tarea para incluir el contenedor de la aplicación PHP con la configuración de App and API Protection:

{
  "containerDefinitions": [
    {
      "name": "your-php-app",
      "image": "your-php-app-image",
      "environment": [
        {
          "name": "DD_APPSEC_ENABLED",
          "value": "true"
        },
        {
          "name": "DD_SERVICE",
          "value": "<YOUR_SERVICE_NAME>"
        },
        {
          "name": "DD_ENV",
          "value": "<YOUR_ENVIRONMENT>"
        },
        {
          "name": "DD_SITE",
          "value": "<span class="js-region-param region-param" data-region-param="dd_site"></span>"
        }
      ]
    }
  ]
}

Para deshabilitar APM Tracing mientras mantiene habilitada App and API Protection, debe establecer la variable de APM Tracing en false.

Actualice su definición de tarea para incluir el contenedor de la aplicación PHP con la configuración de App and API Protection:

{
  "containerDefinitions": [
    {
      "name": "your-php-app",
      "image": "your-php-app-image",
      "environment": [
        {
          "name": "DD_APPSEC_ENABLED",
          "value": "true"
        },
        {
          "name": "DD_APM_TRACING_ENABLED",
          "value": "false"
        },
        {
          "name": "DD_SERVICE",
          "value": "<YOUR_SERVICE_NAME>"
        },
        {
          "name": "DD_ENV",
          "value": "<YOUR_ENVIRONMENT>"
        },
        {
          "name": "DD_SITE",
          "value": "<span class="js-region-param region-param" data-region-param="dd_site"></span>"
        }
      ]
    }
  ]
}

3. Ejecute su aplicación

Implemente su tarea de Fargate con la configuración actualizada:

aws ecs register-task-definition --cli-input-json file://task-definition.json
aws ecs run-task --cluster your-cluster --task-definition your-task-definition

4. Verify setup

To verify that App and API Protection is working correctly:

  1. Send some traffic to your application
  2. Check the Application Signals Explorer in Datadog
  3. Look for security signals and vulnerabilities

Solución de problemas

Si encuentra problemas al configurar App and API Protection para su aplicación PHP, consulte la guía de solución de problemas de App and API Protection para PHP.

Lecturas adicionales