Azure Blob Storage
So stellen Sie SSL-Zertifikate automatisch in einem Azure-Blob-Storage-Container bereit.
Übersicht
AutoSSL kann SSL-Zertifikatsdateien automatisch in einen Azure-Blob-Storage-Container hochladen. Jedes Zertifikat wird unter einem versionierten Archivpfad abgelegt und zusätzlich unter einem Pfad latest/ aktualisiert. Nachgelagerte Systeme, zum Beispiel Nginx, Caddy oder eigene Skripte, können das aktuelle Zertifikat so leicht aus Blob Storage beziehen.
Wie Sie diese Bereitstellung verwalten und ausführen, steht im Abschnitt Bereitstellungen verwalten.
Konfigurationsparameter
Wenn Sie dieses Bereitstellungsziel in der AutoSSL-Konsole hinzufügen oder bearbeiten, konfigurieren Sie die folgenden Parameter:
| Parameter | Beschreibung | Beispiel |
|---|---|---|
| Name des Speicherkontos | Name des Azure-Speicherkontos, in dem der Blob-Container liegt. | mystorageaccount |
| Containername | Name des Blob-Containers, in den die Zertifikatsdateien hochgeladen werden. | ssl-certs |
| Blob-Namenspräfix | (Optional) Präfix zur Ablage der Zertifikatsdateien im Container. Wenn es gesetzt ist, werden die Dateien unter diesem Präfix hochgeladen. Ein abschließender Schrägstrich ist optional. | certs/example.com/ |
Funktionsweise
Wenn AutoSSL ein Zertifikat in einen Blob-Container bereitstellt, zum Beispiel Speicherkonto mystorageaccount, Container ssl-certs, Präfix certs/example.com/, führt es diese Schritte aus:
-
Zertifikat vorbereiten:
- Teilt die vollständige Zertifikatskette in einzelne PEM-Dateien auf:
cert.pem(Leaf-Zertifikat),privkey.pem(privater Schlüssel, PKCS#8),chain.pem(Zwischenzertifikate) undfullchain.pem(vollständige Kette). - Erstellt eine Datei
README.mdmit Metadaten des Zertifikats und einem Link zu https://autossl.dev zur Nachverfolgung. - Liest das Datum
notBeforeund den SHA1-Fingerabdruck und bildet daraus den Archivordner (Format:YYYY-MM-DD_<first 8 chars of SHA1>).
- Teilt die vollständige Zertifikatskette in einzelne PEM-Dateien auf:
-
Dateien hochladen:
- Lädt die Zertifikatsdateien (vier PEM-Dateien und README.md) an zwei Pfade im Container hoch:
- Archivpfad —
certs/example.com/2026-05-30_e5f6a7b8/cert.pem(sowieprivkey.pem,chain.pem,fullchain.pem,README.md). Dieser Pfad ist für jede Ausstellung eindeutig und wird nie überschrieben. - Pfad latest —
certs/example.com/latest/cert.pem(sowieprivkey.pem,chain.pem,fullchain.pem,README.md). Dieser Pfad enthält immer das zuletzt hochgeladene Zertifikat.
- Archivpfad —
- Lädt die Zertifikatsdateien (vier PEM-Dateien und README.md) an zwei Pfade im Container hoch:
Über den Pfad latest/ können nachgelagerte Dienste das aktuelle Zertifikat
immer unter einem festen Blob-Namen abrufen. Ältere Zertifikate bleiben in
ihren versionierten Archivordnern verfügbar.
Beispiel für die Containerstruktur
Nach mehreren Verlängerungen sieht die Struktur des Containers so aus:
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.mdFormat des privaten Schlüssels
privkey.pem liegt im Format PKCS#8 vor (-----BEGIN PRIVATE KEY-----). Moderne Webserver und Werkzeuge unterstützen dieses Format, darunter Nginx, Caddy, Traefik und OpenSSL 1.1+.
Wenn Ihre Umgebung PKCS#1 benötigt, zum Beispiel -----BEGIN RSA PRIVATE KEY----- für RSA-Schlüssel, konvertieren Sie die Datei vor der Verwendung lokal:
openssl rsa -in privkey.pem -out privkey-pkcs1.pemAnforderungen an Zugriffsschlüssel
Für Azure Blob Storage benötigt dieser Anbieter einen Azure-Dienstprinzipal.
Erforderliche Berechtigungen
Der Dienstprinzipal muss Blobs im Zielcontainer anlegen und überschreiben dürfen. Weisen Sie auf der Ebene des Speicherkontos oder des Containers diese RBAC-Rolle der Datenebene zu:
- Storage Blob Data Contributor (empfohlen)
Rollen der Steuerungsebene wie Storage Account Contributor erlauben das
Hochladen von Blobs nicht. Schlägt die Bereitstellung mit This request is not authorized to perform this operation fehl, prüfen Sie die RBAC-Rollenzuweisung
und die Firewall-Einstellungen des Speicherkontos weiter unten.
RBAC-Rolle zuweisen
Wenn Sie die Rolle auf den Container beschränken, folgen Sie dem Prinzip der geringsten Berechtigung:
- Öffnen Sie im Azure-Portal Ihr Storage Account → Containers und wählen Sie den Zielcontainer.
- Gehen Sie zu Access control (IAM) → Add role assignment.
- Wählen Sie auf der Registerkarte Role die Rolle Storage Blob Data Contributor.
- Auf der Registerkarte Members:
- Setzen Sie Assign access to auf User, group, or service principal.
- Klicken Sie auf Select members.
- Suchen Sie nach dem Anzeigenamen Ihrer App-Registrierung (zum Beispiel
AutoSSL) oder der Client-ID. - Wählen Sie das Ergebnis vom Typ Application oder Service principal, nicht ein Benutzerkonto.
- Prüfen Sie die Angaben und weisen Sie die Rolle zu.
Erscheint die App nicht in der Suche, öffnen Sie Microsoft Entra ID → Enterprise applications, setzen Sie Application type auf All applications und prüfen Sie, ob der Dienstprinzipal vorhanden ist. Neu angelegte Prinzipale können einige Minuten brauchen, bis sie in der IAM-Suche erscheinen.
Weitere Informationen finden Sie in der Dokumentation zur Zugriffssteuerung von Azure Blob Storage.
Firewall des Speicherkontos konfigurieren
AutoSSL verbindet sich über das öffentliche Internet mit Blob Storage. Schränkt das Speicherkonto den Netzwerkzugriff ein, werden Anfragen blockiert, auch wenn RBAC korrekt konfiguriert ist.
- Öffnen Sie Ihr Storage Account → Networking → Firewalls and virtual networks.
- Wählen Sie eine der folgenden Möglichkeiten:
- Enabled from all networks — am einfachsten für die erste Einrichtung und Tests.
- Enabled from selected networks — tragen Sie die ausgehenden IP-Adressen von AutoSSL unter Address range ein.
- Speichern Sie die Änderungen und starten Sie die Bereitstellung erneut.
Ist Ihr Speicherkonto nur über ein virtuelles Netzwerk oder einen privaten Endpunkt erreichbar, kann AutoSSL es aus dem öffentlichen Internet nicht erreichen, sofern Sie den Datenverkehr nicht über einen passenden Netzwerkpfad führen.