Configurar App and API Protection para Ruby en Kubernetes
Este producto no es compatible con el
sitio Datadog seleccionado. (
).
You can enable App and API Protection for Ruby services with the following setup options:
- If your Ruby service doesn't have APM tracing set up, you can easily enable App and API Protection with Datadog's Automatic Installation
- Otherwise, keep reading the following manual setup instructions
Overview
App and API Protection works by leveraging the Datadog Ruby library to monitor and secure your Ruby service. The library integrates seamlessly with your existing application without requiring code changes.
For detailed compatibility information, including supported Ruby versions, frameworks, and deployment environments, see Ruby Compatibility Requirements.
This guide explains how to set up App and API Protection (AAP) for Ruby applications. The setup involves:
- Installing the Datadog Agent
- Enabling App and API Protection monitoring
- Run Your Application
- Verifying the setup
Requisitos previos
- Clúster de Kubernetes
- Aplicación Ruby en contenedor con Docker
- kubectl configurado para acceder a tu clúster
- Helm (recomendado para la instalación del Agent)
- Tu clave de API Datadog
- Bbiblioteca de rastreo Ruby Datadog (consulta los requisitos de la versión)
1. Instalación del Datadog Agent
Instala el Datadog Agent siguiendo las instrucciones de instalación de Kubernetes.
2. Activación de la monitorización de App and API Protection
Instala y configura el gem datadog en tu aplicación Ruby.
Añade el gem datadog a tu Gemfile:
Configura la biblioteca Datadog añadiendo un inicializador:
Datadog.configure do |c|
c.service = 'your_service_name'
c.env = Rails.env
c.agent.host = 'your_agent_host'
c.tracing.enabled = true
# La instrumentación del rastreo para Rails tiene que estar explícitamente activada
c.tracing.instrument :rails
c.appsec.enabled = true
c.appsec.api_security.enabled = true
# La instrumentación de Rails es necesaria para App and API Protection
c.appsec.instrument :rails
end
Añade el gem datadog a tu Gemfile y solicita la instrumentación automática:
gem 'datadog', '~> 2.0', require: 'datadog/auto_instrument'
Configura variables de entorno para tu aplicación. Añádelas a tu archivo de configuración de despliegue:
apiVersion: apps/v1
kind: Deployment
metadata:
name: your-app
spec:
template:
spec:
containers:
- name: your-app
image: your-app-image
env:
- name: DD_APPSEC_ENABLED
value: "true"
- name: DD_API_SECURITY_ENABLED
value: "true"
- name: DD_SERVICE
value: "<MY_SERVICE>"
- name: DD_ENV
value: "<MY_ENV>"
command: ["bin/rails"]
args: ["server"]
Para desactivar el rastreo APM mientras se mantiene activado App and API Protection, debes definir la configuración del rastreo APM como false.
Añade el gem datadog a tu Gemfile:
Configura la biblioteca Datadog añadiendo un inicializador:
Datadog.configure do |c|
c.service = 'your_service_name'
c.env = Rails.env
c.agent.host = 'your_agent_host'
# Desactivar el rastreo APM
c.tracing.enabled = false
# La instrumentación del rastreo para Rails tiene que estar explícitamente activada
c.tracing.instrument :rails
c.appsec.enabled = true
c.appsec.api_security.enabled = true
# La instrumentación para Rails es necesaria para App and API Protection
c.appsec.instrument :rails
end
Añade el gem datadog a tu Gemfile y solicita la instrumentación automática:
gem 'datadog', '~> 2.0', require: 'datadog/auto_instrument'
Configura variables de entorno para tu aplicación. Añádelas a tu archivo de configuración de despliegue:
apiVersion: apps/v1
kind: Deployment
metadata:
name: your-app
spec:
template:
spec:
containers:
- name: your-app
image: your-app-image
env:
- name: DD_APPSEC_ENABLED
value: "true"
- name: DD_API_SECURITY_ENABLED
value: "true"
- name: DD_APM_TRACING_ENABLED
value: "false"
- name: DD_SERVICE
value: "<MY_SERVICE>"
- name: DD_ENV
value: "<MY_ENV>"
command: ["bin/rails"]
args: ["server"]
3. Ejecutar tu aplicación
Aplica tu despliegue actualizado:
kubectl apply -f your-deployment.yaml
4. Verificar la configuración
Para comprobar que App and API Protection funciona correctamente:
- Envía tráfico a tu aplicación.
- Comprueba el inventario de servicio de App and API Protection en Datadog.
- Busca tu servicio y comprueba que App and API Protection está activado en la columna Coverage (Cobertura).
Solucionar problemas
Si tienes problemas al configurar App and API Protection para tu aplicación Ruby, consulta la guía de resolución de problemas de App and API Protection en Ruby.
Referencias adicionales
Más enlaces, artículos y documentación útiles: