> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Autenticación en la nube con OIDC

> Otorga a Devin acceso de corta duración sin claves a tus servicios en la nube mediante OpenID Connect

Devin puede autenticarse en servicios en la nube mediante la federación de identidades de cargas de trabajo de OpenID Connect (OIDC), en lugar de usar credenciales de larga duración. Cada sesión de Devin recibe un token de identidad de corta duración emitido por Devin, que tu proveedor de nube verifica e intercambia por credenciales temporales. No es necesario almacenar claves de API ni secretos estáticos en Devin.

<div id="how-it-works">
  ## Cómo funciona
</div>

1. Cada sesión de Devin recibe automáticamente un **token de identidad** de corta duración, firmado por Devin y renovado durante toda la sesión.
2. Tu proveedor de nube verifica el token con el emisor público de OIDC de Devin y concede acceso temporal y limitado al ámbito correspondiente.

Los tokens identifican la sesión mediante claim como `org_id`, `devin_id` y `requesting_user_email`, lo que te permite definir políticas de confianza que concedan acceso a tu organización o a sesiones o usuarios específicos. Los tokens caducan automáticamente; no hay nada que rotar ni revocar.

<div id="setup-actions">
  ## Acciones de configuración
</div>

Agrega la acción correspondiente a la sección `initialize` de tu [plantilla de Environment](/es/onboard-devin/environment/blueprints):

| Acción                                                                                  | Propósito                                                                             |
| --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| [`setup-aws-oidc`](https://github.com/CognitionAI/actions/tree/main/setup-aws-oidc)     | Autenticación de AWS CLI y SDK mediante IAM `AssumeRoleWithWebIdentity`               |
| [`setup-gcp-oidc`](https://github.com/CognitionAI/actions/tree/main/setup-gcp-oidc)     | Autenticación de gcloud y Google Cloud SDK mediante Workload Identity Federation      |
| [`setup-vault-oidc`](https://github.com/CognitionAI/actions/tree/main/setup-vault-oidc) | Autenticación de HashiCorp Vault CLI mediante el método de autenticación JWT/OIDC     |
| [`setup-jfrog-oidc`](https://github.com/CognitionAI/actions/tree/main/setup-jfrog-oidc) | Autenticación de JFrog CLI mediante el intercambio de tokens OIDC de JFrog            |
| [`setup-devin-oidc`](https://github.com/CognitionAI/actions/tree/main/setup-devin-oidc) | CLI base `devin-oidc` para servicios que confían en Devin como proveedor de identidad |

<div id="example-aws">
  ### Ejemplo: AWS
</div>

```yaml theme={null}
initialize:
  - uses: github.com/CognitionAI/actions/setup-aws-oidc@main
    with:
      role-arn: "arn:aws:iam::123456789012:role/devin-sessions"
      region: "us-east-1"
```

Devin puede ejecutar comandos de AWS sin credenciales almacenadas:

```bash theme={null}
aws sts get-caller-identity
```

Consulta la [documentación de `setup-aws-oidc`](https://github.com/CognitionAI/actions/tree/main/setup-aws-oidc) para conocer todos los requisitos previos y las opciones de configuración del lado de AWS.

<div id="example-custom-services">
  ### Ejemplo: servicios personalizados
</div>

Para tus propias API y servicios internos, usa la CLI base para solicitar un token para cualquier audiencia admitida por tu servicio:

```bash theme={null}
devin-oidc token --audience my-api --subject-keys "org_id"
```

Configura tu servicio para que confíe en el emisor OIDC de Devin y valide los tokens con su JWKS publicado en `/.well-known/jwks.json`. El emisor es el origen de tu aplicación web de Devin: `https://app.devin.ai` o tu propio dominio para despliegues Enterprise (p. ej., `https://yourdomain.devinenterprise.com`).

<div id="token-claims">
  ## Claims de token
</div>

Los tokens contienen los siguientes claims de identidad, que puedes consultar en las políticas de confianza y usar para componer el sujeto del token mediante `subject-keys`. El sujeto se construye a partir de pares `key:value` de los claims seleccionados; por ejemplo, `--subject-keys "org_id"` (el valor predeterminado) genera un sujeto como `org_id:a67b8de8-9483-4a9c-9662-51c3d2a45e88`.

| Claim                                          | Descripción                                                                 |
| ---------------------------------------------- | --------------------------------------------------------------------------- |
| `org_id`                                       | Organización en la que se inició la sesión                                  |
| `account_id`                                   | Identificador de la cuenta (Enterprise o cliente con una sola organización) |
| `devin_id`                                     | ID de sesión de Devin                                                       |
| `devin_trigger`                                | Cómo se inició la sesión (p. ej., `webapp`, `slack`, `api`)                 |
| `requesting_user_id` / `requesting_user_email` | Usuario que inició la sesión                                                |
| `service_user_id`                              | Usuario de servicio, para sesiones iniciadas mediante la API                |

<div id="security-properties">
  ## Propiedades de seguridad
</div>

* **Sin credenciales de larga duración**: los tokens son de corta duración y se renuevan automáticamente; no es necesario rotar ni revocar nada al finalizar una sesión.
* **Acceso limitado por audiencia**: los tokens limitados por audiencia solo son válidos para el servicio específico para el que se solicitaron, y tus políticas de confianza controlan exactamente a qué identidades se les puede conceder acceso.
* **Identidad auditable**: los tokens incluyen la sesión, la organización y el usuario solicitante, por lo que los registros de auditoría en la nube atribuyen cada acción a una sesión específica de Devin.

<Note>
  Los despliegues Enterprise con dominios personalizados tienen una clave de firma dedicada para cada cuenta, y el emisor del token es tu URL personalizada de Devin. Ponte en contacto con tu administrador de Devin o con el soporte de Cognition para obtener la URL de tu emisor y el ID de tu organización.
</Note>
