Azure Blob Storage
Cómo desplegar automáticamente certificados SSL en un contenedor de Azure Blob Storage.
Descripción general
AutoSSL puede cargar automáticamente los archivos del certificado SSL en un contenedor de Azure Blob Storage. Cada certificado se archiva en una ruta versionada y también se actualiza en una ruta latest/, para que los consumidores posteriores (por ejemplo, Nginx, Caddy o scripts personalizados que obtienen certificados de Blob Storage) lo encuentren con facilidad.
Para gestionar y ejecutar este despliegue, consulte la sección Gestión de despliegues.
Parámetros de configuración
Al añadir o editar este destino de despliegue en la consola de AutoSSL, configure estos parámetros:
| Parámetro | Descripción | Ejemplo |
|---|---|---|
| Nombre de la cuenta de almacenamiento | Nombre de la cuenta de Azure Storage que aloja el contenedor de blobs. | mystorageaccount |
| Nombre del contenedor | Nombre del contenedor de blobs en el que se cargarán los archivos del certificado. | ssl-certs |
| Prefijo del nombre del blob | (Opcional) Prefijo para organizar los archivos del certificado en el contenedor. Si se indica, los archivos se cargan bajo ese prefijo. La barra final es opcional. | certs/example.com/ |
Cómo funciona
Cuando AutoSSL despliega un certificado en un contenedor de blobs (por ejemplo, la cuenta de almacenamiento mystorageaccount, el contenedor ssl-certs y el prefijo certs/example.com/), realiza estos pasos:
-
Preparación del certificado:
- Divide la cadena completa del certificado en archivos PEM individuales:
cert.pem(certificado hoja),privkey.pem(clave privada, codificada en PKCS#8),chain.pem(cadena intermedia) yfullchain.pem(cadena completa). - Genera un archivo
README.mdcon los metadatos del certificado y un enlace a https://autossl.dev para la trazabilidad. - Lee la fecha
notBeforey la huella SHA1 del certificado para generar el nombre del directorio de archivo (formato:YYYY-MM-DD_<first 8 chars of SHA1>).
- Divide la cadena completa del certificado en archivos PEM individuales:
-
Carga de archivos:
- Carga los archivos del certificado (cuatro archivos PEM y README.md) en dos rutas del contenedor:
- Ruta de archivo —
certs/example.com/2026-05-30_e5f6a7b8/cert.pem(yprivkey.pem,chain.pem,fullchain.pem,README.md). Esta ruta es única para cada emisión y nunca se sobrescribe. - Ruta latest —
certs/example.com/latest/cert.pem(yprivkey.pem,chain.pem,fullchain.pem,README.md). Esta ruta siempre refleja el certificado cargado más recientemente.
- Ruta de archivo —
- Carga los archivos del certificado (cuatro archivos PEM y README.md) en dos rutas del contenedor:
La ruta latest/ permite que los servicios posteriores obtengan siempre el
certificado actual desde un nombre de blob fijo. Los certificados anteriores
siguen disponibles en sus directorios de archivo versionados.
Ejemplo de estructura del contenedor
Después de varias renovaciones, la estructura del contenedor tendrá este aspecto:
certs/example.com/
├── 2026-03-01_a1b2c3d4/
│ ├── cert.pem
│ ├── privkey.pem
│ ├── chain.pem
│ ├── fullchain.pem
│ └── README.md
├── 2026-05-30_e5f6a7b8/
│ ├── cert.pem
│ ├── privkey.pem
│ ├── chain.pem
│ ├── fullchain.pem
│ └── README.md
└── latest/
├── cert.pem
├── privkey.pem
├── chain.pem
├── fullchain.pem
└── README.mdFormato de clave privada
privkey.pem está codificado en formato PKCS#8 (-----BEGIN PRIVATE KEY-----). Los servidores y las herramientas modernos (Nginx, Caddy, Traefik, OpenSSL 1.1+, etc.) admiten ampliamente este formato.
Si su entorno exige el formato PKCS#1 (por ejemplo, -----BEGIN RSA PRIVATE KEY----- para claves RSA), conviértalo en local antes de usarlo:
openssl rsa -in privkey.pem -out privkey-pkcs1.pemRequisitos de la clave de acceso
Para usar Azure Blob Storage, este proveedor requiere una entidad de servicio de Azure.
Permisos necesarios
La entidad de servicio debe tener permiso para crear y sobrescribir blobs en el contenedor de destino. Asigne este rol RBAC del plano de datos en el ámbito de la cuenta de almacenamiento o del contenedor:
- Storage Blob Data Contributor (recomendado)
Los roles del plano de control, como Storage Account Contributor, no
conceden permiso para cargar blobs. Si el despliegue falla con This request is not authorized to perform this operation, compruebe tanto la asignación
del rol RBAC como la configuración del firewall de la cuenta de
almacenamiento que se describe a continuación.
Asignar el rol RBAC
Conceder el rol en el ámbito del contenedor sigue el principio de privilegio mínimo:
- En el portal de Azure, abra su Storage Account → Containers → seleccione el contenedor de destino.
- Vaya a Access control (IAM) → Add role assignment.
- En la pestaña Role, seleccione Storage Blob Data Contributor.
- En la pestaña Members:
- Establezca Assign access to en User, group, or service principal.
- Haga clic en Select members.
- Busque por el display name del registro de la aplicación (por ejemplo,
AutoSSL) o por el Client ID. - Seleccione el resultado cuyo tipo sea Application o Service principal, y no una cuenta de usuario.
- Revise y asigne el rol.
Si la aplicación no aparece en los resultados de búsqueda, abra Microsoft Entra ID → Enterprise applications, establezca Application type en All applications y confirme que la entidad de servicio existe. Las entidades recién creadas pueden tardar unos minutos en aparecer en la búsqueda de IAM.
Para más información, consulte la documentación de control de acceso de Azure Blob Storage.
Configurar el firewall de la cuenta de almacenamiento
AutoSSL se conecta a Blob Storage a través de la Internet pública. Si la cuenta de almacenamiento restringe el acceso de red, las solicitudes se bloquean aunque RBAC esté configurado correctamente.
- Abra su Storage Account → Networking → Firewalls and virtual networks.
- Elija una de estas opciones:
- Enabled from all networks: es la opción más sencilla para la configuración inicial y las pruebas.
- Enabled from selected networks: añada las direcciones IP de salida de AutoSSL en Address range.
- Guarde los cambios y vuelva a intentar el despliegue.
Si su cuenta de almacenamiento solo es accesible a través de una red virtual o un endpoint privado, AutoSSL no puede alcanzarla desde la Internet pública a menos que enrute el tráfico por una ruta de red compatible.