API KEY en Supabase


Encuentra las keys dePublishable Key, Secret Key, JWT Secret (Interna), Service Role Key de supabase

API KEY en Supabase
oscar Escrito por oscar 14 August 2026 9 0

En Supabase, las API Keys son credenciales que permiten que aplicaciones, servidores y servicios se autentiquen y accedan a los recursos de tu proyecto (base de datos, autenticación, almacenamiento, funciones Edge, etc.).

Cuando creas un proyecto, Supabase genera automáticamente varias claves. Cada una tiene un propósito específico y diferentes niveles de privilegios.

Arquitectura de autenticación en Supabase

Cuando una aplicación se conecta a Supabase, normalmente envía una API Key en los encabezados HTTP:

apikey: TU_API_KEY
Authorization: Bearer TU_API_KEY

Supabase utiliza estas claves junto con PostgreSQL Roles y las políticas RLS (Row Level Security) para determinar qué operaciones están permitidas.

Tipos de API Keys

Actualmente Supabase maneja principalmente:

  1. Publishable Key (Anónima)
  2. Secret Key
  3. JWT Secret (Interna)
  4. Service Role Key (Legado, pero todavía disponible)
Ubicación de Keys en Supabase
Ubicación de Keys en Supabase

Conexión directa PostgresQL

En la pantalla pricipal, buscamso el boton verde que dice connect.

Conexión Directa a PostgesQL
Conexión Directa a PostgesQL

Donde mostrará la siguiente pantalla de para conectar su proyecto.

Seleccionamos conexión directa y luego transacción pooler

Conectar proyecto de PostgresQL
Conectar proyecto de PostgresQL

Luego nos mostrará los datos de conexión que usaremos para PostgesQL

Obtenemos las credenciales de conexión
Obtenemos las credenciales de conexión

Publishable Key (anon)

Ingresamos a un Organización, luego a un proyecto.

Luego en el menú lateral derecho ingresamos a project settings donde buscamos API Keys, aparecerá la siguiente pantalla.

Publishable key Supabase
Publishable key Supabase

Esta es la clave que normalmente se utiliza desde:

Ejemplo:

const supabase = createClient(
  'https://xxxx.supabase.co',
  'sb_publishable_xxxxxxxxx'
)

Características

Caso práctico

Supongamos que tienes una tabla: post

Y una política:

CREATE POLICY "leer posts"
ON posts
FOR SELECT
USING (published = true);

Si un usuario utiliza la Publishable Key:

const { data } = await supabase
  .from('posts')
  .select('*');

Sólo verá los registros permitidos por la política.

Secret Key

Es una clave de alto privilegio diseñada para:

Ejemplo:

const supabase = createClient(
  process.env.SUPABASE_URL,
  process.env.SUPABASE_SECRET_KEY
)

Características

Casos de uso

API Backend

Cliente
   v
Backend Node.js
   v
Supabase

Procesamiento interno

Service Role Key

Service role api key
Service role api key

Durante mucho tiempo fue la clave administrativa principal.

Ejemplo: service_role

Esta clave utiliza el rol PostgreSQL: service_role

Características

Ejemplo

Tabla:

usuarios

Política:

Solo puede ver sus propios datos

Con la clave anónima:

select *
from usuarios

Sólo devuelve los registros permitidos.

Con la Service Role:

select *
from usuarios

Obtiene todos los registros.

JWT Secret

Esta no suele utilizarse directamente en aplicaciones.

Supabase la usa internamente para:

Ejemplo conceptual: eyJhbGciOiJIUzI1NiIs...

Firmado usando: JWT_SECRET

¿Cuándo se usa?

Principalmente:

La mayoría de los desarrolladores nunca necesitan usarla.

Preguntas frecuentes

¿Dónde ver las API Keys?

En el Dashboard:

Proyecto
 └── Settings
      └── API

Allí encontrarás:

¿Cómo se generan?

Cuando creas un proyecto: Create New Project

Supabase genera automáticamente:

No necesitas crearlas manualmente.

¿Cómo rotar (regenerar) una API Key?

En:

Settings
 └── API

Puedes regenerar determinadas claves.

La rotación es recomendable cuando:

Después de regenerarla:

Clave antigua -> inválida
Clave nueva -> válida

Debes actualizar:

Resumen

Clave Frontend Backend Respeta RLS Nivel de acceso
Publishable (anon) Bajo
Secret Key No Puede realizar operaciones privilegiadas Alto
Service Role No No Total
JWT Secret No Interno N/A Interno

La regla más importante en Supabase es: la Publishable Key puede vivir en el navegador; la Secret Key y la Service Role nunca deben exponerse fuera del servidor. De lo contrario, cualquier persona podría obtener acceso privilegiado a tu proyecto.


Comentario

Debe aceptar antes de enviar