|
| 1 | +--- |
| 2 | +algolia: |
| 3 | + tags: |
| 4 | + - autenticación en la nube |
| 5 | + - autenticación en aws |
| 6 | + - proveedor de terraform |
| 7 | +aliases: |
| 8 | +- /es/account_management/cloud_authentication/ |
| 9 | +description: Autentica el proveedor de Terraform de Datadog con credenciales en la |
| 10 | + nube en lugar de claves estáticas de la API con la autenticación y la asignación |
| 11 | + de identidades de STS de AWS. |
| 12 | +further_reading: |
| 13 | +- link: /getting_started/integrations/terraform/ |
| 14 | + tag: Documentación |
| 15 | + text: Gestión de Datadog con Terraform |
| 16 | +- link: /account_management/api-app-keys/ |
| 17 | + tag: Documentación |
| 18 | + text: Claves de aplicaciones y API |
| 19 | +- link: /integrations/amazon_web_services/ |
| 20 | + tag: Documentación |
| 21 | + text: Integración con AWS |
| 22 | +title: Autenticación basada en la nube |
| 23 | +--- |
| 24 | + |
| 25 | +{{< callout url="https://www.datadoghq.com/product-preview/cloud-provider-based-authentication/" btn_hidden="false" header="Join the Preview!" >}} |
| 26 | +La autenticación basada en la nube está en la vista previa. Rellena el formulario para solicitar acceso. |
| 27 | +{{< /callout >}} |
| 28 | + |
| 29 | +## Información general |
| 30 | + |
| 31 | +La autenticación basada en la nube te permite autenticar al proveedor de Terraform de Datadog con credenciales de la nube en lugar de claves estáticas de API y de aplicación. |
| 32 | + |
| 33 | +Durante el periodo de vista previa, AWS es el único proveedor de la nube compatible. |
| 34 | + |
| 35 | +## Cómo funciona: proceso de autenticación de AWS |
| 36 | + |
| 37 | +El proceso de autenticación utiliza el [Servicio de token de seguridad (STS) de AWS][1] para verificar tu identidad: |
| 38 | + |
| 39 | +1. **Generación de la prueba:** El proveedor de Terraform de Datadog crea una solicitud firmada de STS de AWS `GetCallerIdentity` con tus credenciales actuales de AWS |
| 40 | +2. **Validación de la prueba:** Datadog valida la prueba llamando al STS de AWS, que devuelve tu ARN de AWS, ID de usuario e ID de cuenta. |
| 41 | +3. **Asignación de identidad:** Tu identidad de AWS se asigna a una cuenta de servicio de Datadog o a una cuenta de usuario en función de la configuración de tu organización. |
| 42 | +4. **Problema con el token:** Si la validación tiene éxito, Datadog emite un token JWT temporal para el acceso a la API. |
| 43 | +5. **Autenticación de la API:** El token se utiliza para las siguientes llamadas a la API de Datadog |
| 44 | + |
| 45 | + |
| 46 | +<div class="alert alert-info">Si es posible, asigna los ARN a una cuenta de servicio de Datadog en lugar de a una cuenta de usuario. El uso de una cuenta de servicio evita asociar el proceso de autenticación a una persona concreta.</div> |
| 47 | + |
| 48 | +## Configurar la autenticación basada en la nube para AWS |
| 49 | + |
| 50 | +**Requisitos**: |
| 51 | +- Proveedor de Terraform de Datadog versión 3.70 o posterior. |
| 52 | +- Has configurado la [integración de Datadog y AWS ][4] y añadido tu cuenta de AWS. Consulta los [documentos de integración de AWS][3]. |
| 53 | +- Los permisos `cloud_auth_config_read` y `cloud_auth_config_write`. Estos permisos están disponibles solo después de que estés incorporado en la vista previa. |
| 54 | + |
| 55 | +La configuración de la autenticación basada en proveedores en la nube para AWS consta de dos partes: |
| 56 | +1. [Configuración de la asignación de identidad de AWS en Datadog](#configure-aws-identity-mapping-in-datadog) |
| 57 | +2. [Actualización de la configuración del proveedor de Terraform](#update-your-terraform-provider-configuration) |
| 58 | + |
| 59 | +### Configuración de la asignación de identidad de AWS en Datadog |
| 60 | + |
| 61 | +<div class="alert alert-info">Para que la asignación de identidad funcione, tu cuenta de AWS <strong>debe estar integrada</strong> con Datadog a través de la <a href="https://app.datadoghq.com/integrations/amazon-web-services">integración de Datadog y AWS</a>. Si una cuenta de AWS no está integrada, el flujo de la autenticación no puede verificar al autor de la llamada y la asignación falla.</div> |
| 62 | + |
| 63 | +En primer lugar, asigna tus identidades (ARN) de AWS a cuentas de servicio o cuentas de usuario de Datadog. Durante la vista previa, debes realizar la asignación mediante la API de Datadog. |
| 64 | + |
| 65 | +Si necesitas crear roles de IAM en AWS, consulta la [Documentación de creación de roles IAM de AWS][5]. |
| 66 | + |
| 67 | +#### Asigna un ARN de AWS a una cuenta de usuario de Datadog |
| 68 | +Para `account_identifier`, utiliza el correo electrónico que aparece en el perfil de Datadog del usuario. |
| 69 | + |
| 70 | +**Ejemplo**: Una llamada a la API que asigna un ARN de AWS a una cuenta de usuario de Datadog, `john.doe@myorg.com`. |
| 71 | + |
| 72 | +```bash |
| 73 | +# Example: map an AWS ARN to a Datadog User |
| 74 | +curl -X POST "{{< region-param key=dd_api code="true" >}}/api/v2/cloud_auth/aws/persona_mapping" \ |
| 75 | +-H "Content-Type: application/json" \ |
| 76 | +-H "DD-API-KEY: ${DD_API_KEY}" \ |
| 77 | +-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \ |
| 78 | +-d '{ |
| 79 | + "data": { |
| 80 | + "type": "aws_cloud_auth_config", |
| 81 | + "attributes": { |
| 82 | + "account_identifier": "john.doe@myorg.com", |
| 83 | + "arn_pattern": "arn:aws:sts::123456789012:assumed-role/terraform-runner" |
| 84 | + } |
| 85 | + } |
| 86 | +}' |
| 87 | +``` |
| 88 | + |
| 89 | +#### Asigna un ARN de AWS a una cuenta de servicio de Datadog |
| 90 | +Para `account_identifier`, puedes utilizar cualquiera de las siguientes: |
| 91 | +- El **UUID** de la cuenta de servicio: Ve a **Organization settings > Service accounts** (Parámetros de la organización > Cuentas de servicio), haz clic en la cuenta de servicio que desees asignar y copia el `service_account_id` de la URL. Por ejemplo, si la URL termina en `/organization-settings/service-accounts?service_account_id=3fa85f64-5717-4562-b3fc-2c963f66afa6`, utiliza `3fa85f64-5717-4562-b3fc-2c963f66afa6`. |
| 92 | +- La **dirección de correo electrónico** de la cuenta de servicio: Utiliza la dirección de correo electrónico que aparece en los datos de la cuenta de servicio. |
| 93 | + |
| 94 | +**Ejemplo**: Una llamada a la API que asigna un ARN de AWS a una cuenta de servicio de Datadog con el UUID, `3fa85f64-5717-4562-b3fc-2c963f66afa6`. |
| 95 | + |
| 96 | +```bash |
| 97 | +# Example: map an AWS ARN to a Datadog Service Account using UUID |
| 98 | +curl -X POST "{{< region-param key=dd_api code="true" >}}/api/v2/cloud_auth/aws/persona_mapping" \ |
| 99 | +-H "Content-Type: application/json" \ |
| 100 | +-H "DD-API-KEY: ${DD_API_KEY}" \ |
| 101 | +-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \ |
| 102 | +-d '{ |
| 103 | + "data": { |
| 104 | + "type": "aws_cloud_auth_config", |
| 105 | + "attributes": { |
| 106 | + "account_identifier": "3fa85f64-5717-4562-b3fc-2c963f66afa6", |
| 107 | + "arn_pattern": "arn:aws:sts::123456789012:assumed-role/terraform-runner" |
| 108 | + } |
| 109 | + } |
| 110 | +}' |
| 111 | +``` |
| 112 | + |
| 113 | +**Ejemplo**: Una llamada a la API que asigna un ARN de AWS a una cuenta de servicio de Datadog con la dirección de correo electrónico, `terraform-service-account@myorg.com`. |
| 114 | + |
| 115 | +```bash |
| 116 | +# Example: map an AWS ARN to a Datadog Service Account using email |
| 117 | +curl -X POST "{{< region-param key=dd_api code="true" >}}/api/v2/cloud_auth/aws/persona_mapping" \ |
| 118 | +-H "Content-Type: application/json" \ |
| 119 | +-H "DD-API-KEY: ${DD_API_KEY}" \ |
| 120 | +-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \ |
| 121 | +-d '{ |
| 122 | + "data": { |
| 123 | + "type": "aws_cloud_auth_config", |
| 124 | + "attributes": { |
| 125 | + "account_identifier": "terraform-service-account@myorg.com", |
| 126 | + "arn_pattern": "arn:aws:sts::123456789012:assumed-role/terraform-runner" |
| 127 | + } |
| 128 | + } |
| 129 | +}' |
| 130 | +``` |
| 131 | + |
| 132 | +#### Uso de comodines en patrones de ARN |
| 133 | + |
| 134 | +Los patrones de ARN admiten la coincidencia de comodines para manejar partes dinámicas o variables de los ARN de recursos. Esto resulta útil cuando se trabaja con roles asumidos que incluyen identificadores de sesión u otros componentes variables. |
| 135 | + |
| 136 | +**Reglas de comodines**: |
| 137 | +- Los comodines (`*`) solo se permiten en la última parte del ARN del recurso |
| 138 | +- Debes especificar un recurso concreto antes del comodín |
| 139 | +- Los comodines no pueden colocarse en medio del ARN |
| 140 | + |
| 141 | +**Ejemplo**: Coincidir con cualquier sesión asumiendo el `DatadogTerraformerRole`: |
| 142 | + |
| 143 | +```bash |
| 144 | +curl -X POST "{{< region-param key=dd_api code="true" >}}/api/v2/cloud_auth/aws/persona_mapping" \ |
| 145 | +-H "Content-Type: application/json" \ |
| 146 | +-H "DD-API-KEY: ${DD_API_KEY}" \ |
| 147 | +-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \ |
| 148 | +-d '{ |
| 149 | + "data": { |
| 150 | + "type": "aws_cloud_auth_config", |
| 151 | + "attributes": { |
| 152 | + "account_identifier": "3fa85f64-5717-4562-b3fc-2c963f66afa6", |
| 153 | + "arn_pattern": "arn:aws:sts::123456789012:assumed-role/DatadogTerraformerRole/*" |
| 154 | + } |
| 155 | + } |
| 156 | +}' |
| 157 | +``` |
| 158 | + |
| 159 | +Este patrón coincide con ARN de roles asumidos reales como: |
| 160 | +- `arn:aws:sts::123456789012:assumed-role/DatadogTerraformerRole/run-abcdefghijk` |
| 161 | +- `arn:aws:sts::123456789012:assumed-role/DatadogTerraformerRole/session-xyz789` |
| 162 | + |
| 163 | +<div class="alert alert-info">La coincidencia de comodines es especialmente útil para los pipelines de Continuous Integration Continuous Delivery en los que las sesiones de roles tienen identificadores generados dinámicamente.</div> |
| 164 | + |
| 165 | +#### Lista de asignaciones existentes |
| 166 | + |
| 167 | +```bash |
| 168 | +curl -X GET "{{< region-param key=dd_api code="true" >}}/api/v2/cloud_auth/aws/persona_mapping" \ |
| 169 | +-H "DD-API-KEY: ${DD_API_KEY}" \ |
| 170 | +-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" |
| 171 | +``` |
| 172 | + |
| 173 | +### Actualizar la configuración de tu proveedor de Terraform |
| 174 | + |
| 175 | +Una vez configurada la asignación de identidades, actualiza la configuración del proveedor de Terraform de Datadog para utilizar la autenticación del proveedor de la nube: |
| 176 | + |
| 177 | +#### Eliminar la configuración existente |
| 178 | + |
| 179 | +```hcl |
| 180 | +# Old configuration |
| 181 | +provider "datadog" { |
| 182 | + api_key = var.datadog_api_key |
| 183 | + app_key = var.datadog_app_key |
| 184 | +} |
| 185 | +``` |
| 186 | + |
| 187 | +#### Añadir la nueva configuración de autenticación en la nube |
| 188 | + |
| 189 | +Para obtener tu `org_uuid`, llama a este endpoint o haz clic en el enlace (requiere una sesión activa en la organización de destino): [{{< region-param key=dd_api >}}/api/v2/current_user][2] |
| 190 | + |
| 191 | +```hcl |
| 192 | +# New configuration using AWS authentication |
| 193 | +provider "datadog" { |
| 194 | + org_uuid = var.datadog_org_uuid |
| 195 | + cloud_provider_type = "aws" |
| 196 | +} |
| 197 | +``` |
| 198 | + |
| 199 | +#### Opcional - Especifica explícitamente las credenciales de AWS |
| 200 | +Como alternativa al uso de variables de entorno o archivos de credenciales de AWS, puedes especificar las credenciales de AWS directamente en tu configuración de Terraform: |
| 201 | + |
| 202 | +```hcl |
| 203 | +provider "datadog" { |
| 204 | + org_uuid = var.datadog_org_uuid |
| 205 | + cloud_provider_type = "aws" |
| 206 | + aws_access_key_id = var.aws_access_key_id |
| 207 | + aws_secret_access_key = var.aws_secret_access_key |
| 208 | + aws_session_token = var.aws_session_token # If using temporary credentials |
| 209 | +} |
| 210 | +``` |
| 211 | + |
| 212 | +El proveedor de Terraform utiliza automáticamente tus credenciales configuradas de AWS para la autenticación en Datadog. |
| 213 | + |
| 214 | +## Referencias adicionales |
| 215 | + |
| 216 | +{{< partial name="whats-next/whats-next.html" >}} |
| 217 | + |
| 218 | +[1]: https://docs.aws.amazon.com/STS/latest/APIReference/welcome.html |
| 219 | +[2]: https://app.datadoghq.com/api/v2/current_user |
| 220 | +[3]: /es/integrations/amazon-web-services/ |
| 221 | +[4]: https://app.datadoghq.com/integrations/amazon-web-services |
| 222 | +[5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create.html |
0 commit comments