La integración se compone de tres piezas que ya controlas: una entidad de servicio de Databricks, la CLI de Databricks instalada mediante un blueprint de environment y, opcionalmente, el plugin de skills de Databricks. Databricks, sus workspaces y todos los permisos permanecen en tu cuenta.
Elige cómo se autentica Devin
Empieza con la Opción A si quieres poner a Devin a funcionar con Databricks hoy mismo. Más adelante puedes pasar a la Opción B sin tocar la entidad de servicio ni sus permisos.
¿Por qué conectar Devin a Databricks?
- Devin trabaja allí donde vive tu plataforma de datos. La mayor parte del trabajo en Databricks no consiste solo en editar cuadernos en un repo. Consiste en revisar por qué falló un job, leer el schema de una tabla, ejecutar una query contra un warehouse o inspeccionar un proceso. Darle el CLI a Devin convierte todo eso, de preguntas dirigidas a una persona, en tareas que Devin puede resolver por sí mismo.
- Una única identidad auditable. Devin actúa como una entidad de servicio creada por ti, de modo que cada API call, query y ejecución de job queda registrada en los audit logs de Databricks y en el linaje de Unity Catalog bajo esa identidad, y no bajo el token personal de un ingeniero.
- Unity Catalog decide qué puede tocar Devin. OAuth decide si Devin puede autenticarse. Los permisos de Unity Catalog y del workspace deciden qué puede leer o modificar. Puedes empezar en modo read-only en producción, darle a Devin un catálogo de sandbox donde construir y ampliar el ámbito solo cuando hayas visto cómo se comporta.
- Una vía sin secretos almacenados. Con la federación de tokens OIDC (Opción B), Devin nunca almacena un token de Databricks ni un client secret. Cada sesión intercambia un token de identidad de Devin de 60 segundos por un token OAuth de Databricks de corta duración.
Descripción general
El plugin de skills de Databricks es una quinta capa opcional: enseña a Devin flujos de trabajo propios de Databricks (Asset Bundles, jobs, SQL, Unity Catalog) sobre la base del CLI.
Requisitos previos
- Una cuenta de Databricks en AWS, Azure o GCP con acceso de admin de cuenta para la persona que realice la configuración. La creación de entidades de servicio, secretos OAuth y políticas de federación se realiza a nivel de cuenta.
- Uno o más workspaces con Unity Catalog habilitado. Esta guía asume que Unity Catalog gobierna los datos a los que Devin debe acceder.
- La CLI de Databricks en la máquina del propio admin para los comandos a nivel de cuenta que se indican más abajo. Para estos sirve cualquier versión reciente. La copia de Devin se instala por separado en el Paso 2.
- Permiso para editar el blueprint de environment de tu organización (Settings > Environment > Blueprints).
- Para la Opción A, permiso para agregar Devin Secrets.
- Para la Opción B, la URL del issuer OIDC y el ID de organización de Devin. El Paso 2 muestra cómo obtener ambos de un token dentro de una sesión de Devin. Consulta Autenticación en la nube con OIDC para más contexto.
- Las sesiones de Devin deben poder acceder al host de tu workspace por HTTPS (por ejemplo,
https://dbc-xxxx.cloud.databricks.com,https://adb-xxxx.azuredatabricks.netohttps://xxxx.gcp.databricks.com). Si tu organización usa una política de red de Devin, agrega el host del workspace y, para los comandos a nivel de cuenta, el host de la cuenta (accounts.cloud.databricks.com,accounts.azuredatabricks.netoaccounts.gcp.databricks.com). - Para la Opción B, Databricks debe poder obtener el JWKS de Devin en
https://<your-devin-host>/.well-known/jwks.jsona través de internet público para verificar las firmas de los tokens.
Paso 1: Crear una entidad de servicio
Después, asigna la entidad de servicio a cada workspace que Devin vaya a usar. Puedes hacerlo en la consola de la cuenta, en User management → Service principals, o con la CLI:
USER, no ADMIN. Devin no necesita permisos de admin del workspace.
Paso 2: Conectar Devin a la entidad de servicio
- Opción A: secreto de cliente OAuth. OAuth M2M estándar: la entidad de servicio obtiene un secreto de cliente, que almacenas en Devin Secrets. Es la forma más rápida de empezar.
- Opción B: federación de tokens OIDC. Cada sesión de Devin puede emitir un token OpenID Connect de corta duración firmado por Devin. La federación de tokens de Databricks permite que la entidad de servicio confíe en ese emisor, de modo que Devin intercambia su propio token de identidad por un token OAuth de Databricks. Nunca se crea ni se almacena ningún secreto de Databricks, y por eso Databricks la recomienda encarecidamente para cargas de trabajo automatizadas.
Opción A: secreto de cliente OAuth
1. Genera un secreto de OAuth
sql, jobs y unity-catalog. Evita seleccionar todos los ámbitos.
2. Agrega los Devin Secrets
La CLI selecciona OAuth M2M automáticamente cuando hay un client ID y un client secret, por lo que
DATABRICKS_AUTH_TYPE no es necesario. Configúralo como oauth-m2m solo si quieres descartar explícitamente cualquier otro método.
Los secretos se inyectan como variables de entorno al inicio de cada nueva sesión, así que la CLI no necesita ningún archivo de perfil. Un secreto rotado se aplica en la siguiente sesión nueva sin necesidad de recompilar.
3. Agregar el blueprint
initialize; todo lo que se escriba ahí queda incorporado en la instantánea.
4. Compila la instantánea
Opción B: federación de tokens OIDC
iss, sub, aud), y una política de federación en la entidad de servicio le indica a Databricks que confíe en ellos. El blueprint instala la CLI devin-oidc, envuelve databricks para que cada llamada lleve un token nuevo y escribe un perfil que apunta a tu entidad de servicio. Luego lees los claims del token desde una sesión y creas una política que coincida con ellos.
1. Agrega el blueprint
El perfil no contiene ningún secreto, por lo que puede escribirse sin riesgo durante
initialize. Si vienes de la Opción A, elimina el Devin Secret DATABRICKS_CLIENT_SECRET en cuanto tengas aplicada la política que se describe abajo, para que la CLI no vea dos credenciales.
2. Compila la instantánea
3. Crear la política de federación
1
Lee tu issuer y subject
Inicia una nueva sesión de Devin y pídele que ejecute lo siguiente. Solo imprime los claims de identidad del token, nunca el token en sí.Formato esperado:En los despliegues enterprise,
iss es tu URL personalizada de Devin (por ejemplo, https://yourcompany.devinenterprise.com). Copia iss y sub exactamente como aparecen. No pegues el token sin procesar en tickets ni documentos; es una credencial de portador durante los siguientes 60 segundos.2
Escribe la política de federación
Guarda esto como Los tres campos son de coincidencia exacta:
devin-federation-policy.json, sustituyendo los valores del paso anterior:issuerdebe ser igual alissdel token, incluido el esquema y sin barra final.audiencesdebe incluir el audience que solicita Devin (databricksen esta guía).subjectdebe ser igual alsubdel token. El subject predeterminado es el ID de tu organización, por lo que todas las sesiones de la organización pueden autenticarse como este principal. Esta es la granularidad adecuada para Databricks, ya que las políticas de federación comparan el subject como una cadena literal. Los claims por sesión, comodevin_id, cambian en cada sesión y no pueden coincidir con una política estática.
subject_claim, jwks_uri y jwks_json sin definir. Databricks usa de forma predeterminada el claim sub y descubre el JWKS a partir del /.well-known/openid-configuration del issuer.3
Adjunta la política a la entidad de servicio
Recompilaciones y fijado de versiones
setup-devin-oidc@main siguen sus ramas main upstream, por lo que una compilación completa incorpora las versiones nuevas; una compilación diferencial omite initialize y conserva las versiones que ya están en la instantánea hasta que cambie el blueprint. Si necesitas compilaciones reproducibles, descarga el instalador desde una etiqueta de versión en lugar de main (por ejemplo, .../databricks/setup-cli/v1.17.0/install.sh), que instala exactamente esa versión de la CLI, y fija la acción a un SHA de confirmación (setup-devin-oidc@<sha>).
Paso 3: Otorgar permisos
Perfiles de permisos
Las sentencias de permiso apuntan a la entidad de servicio mediante su ID de aplicación:
devin-agents y otorga los permisos al grupo en su lugar.
Paso 4: Instalar el plugin de skills de Databricks (opcional)
- Abre Customize → Plugins y elige Add plugin → From repository.
- Ingresa el repositorio
databricks/databricks-agent-skillsy el subdirectorioplugins/databricks/claude. El manifest del plugin está en esa subcarpeta, así que al instalarlo desde el repository root aparece No plugin manifest found. - Instálalo en el ámbito de Organization si usaste un blueprint de organización en el paso 2. Si usaste un blueprint del repositorio, declara el plugin en el archivo
.devin/config.jsonde ese repositorio (consulta herencia y niveles) para que solo las sesiones que tengan el CLI reciban también las skills. - Fija el plugin a un commit una vez que funcione, para que los cambios upstream no lleguen a tus sesiones sin revisar.
databricks auth login para configurar un profile. Ese flujo con navegador interactivo no puede completarse en una sesión de Devin desatendida y aquí no hace falta: la entrada knowledge del paso 2 le indica a Devin que el CLI ya está autenticado.
Paso 5: Verificar
current-user me debería devolver la entidad de servicio, con userName igual a su ID de aplicación. Para confirmar qué método de autenticación eligió la CLI:
oauth-m2m; para la Opción B, env-oidc.
Que la autenticación sea correcta no significa que Devin pueda acceder a tus datos. Confirma que se apliquen los permisos del Paso 3:
<catalog-name> por un catálogo que hayas concedido en el Paso 3 (en los ejemplos se usa analytics). Luego pídele a Devin que ejecute una consulta pequeña de solo lectura sobre un warehouse en el que tenga CAN USE y, si configuraste un perfil de compilación, que cree y elimine una tabla en devin_dev. Una consulta sobre una tabla de producción en la que Devin no tenga SELECT debería fallar; ese fallo indica que el límite de permisos está funcionando.

