Nutze diese Anleitung, wenn du InfraNest mit OVHcloud verbinden musst, indem du eigene API-Schlüssel für Domains, DNS oder VPS-Server erstellst.
Überblick
- Du brauchst dies nur, wenn Connect with OVHcloud auf dem Verbindungsbildschirm nicht angeboten wird. Wenn es angeboten wird, nutze stattdessen diese Option — sie ist schneller, und es gibt nichts zu kopieren oder zu rotieren.
- OVHcloud gibt dir drei Werte auf einmal: einen Application Key, ein Application Secret und einen Consumer Key. Alle drei gehören in InfraNest.
NoteDie Einrichtung von Connect with OVHcloud selbst ist eine Aufgabe für Administratoren, nicht für Kunden — siehe den Abschnitt am Ende dieses Artikels. Ein Service-Account ist dafür nicht das Richtige.
Die Schlüssel erstellen
Rufe die Token-Seite für deine Region auf — diese muss mit der Region übereinstimmen, die du in InfraNest ausgewählt hast:
- Europa —
eu.api.ovh.com/createToken - Kanada / Asien-Pazifik —
ca.api.ovh.com/createToken - Vereinigte Staaten —
api.us.ovhcloud.com/createToken
- Europa —
Melde dich mit deinem OVHcloud-Konto an.
Trage einen Script-Namen ein (zum Beispiel
InfraNest) sowie eine Beschreibung, damit du ihn später wiedererkennst.Setze Validity auf Unlimited, es sei denn, du möchtest die Schlüssel selbst nach einem Zeitplan rotieren.
Füge unter Rights pro Zeile unten eine Regel hinzu. Der Link, den InfraNest dir gibt, öffnet diese Seite bereits mit allen Zeilen ausgefüllt — diese Liste dient also eher der Kontrolle als der Eingabe.
Domains und DNS
- GET
/domain— Deine Domains auflisten - GET
/domain/*— Details einer Domain lesen, Nameserver, DNS-Zonen - POST
/domain/*— Nameserver, Kontakte, DNSSEC ändern - PUT
/domain/*— Transfersperre, automatische Verlängerung, DNS-Einträge - DELETE
/domain/*— DNS-Einträge löschen
Domains kaufen und Preise abfragen
- POST
/order/cart— Eine Preis- oder Verfügbarkeitsabfrage starten - POST
/order/cart/*— Eine Domain registrieren oder übertragen - GET
/order/cart/*— Die Preise auslesen - DELETE
/order/cart/*— Die Abfrage wieder aufräumen
Server (nur wenn du VPS bei OVHcloud betreibst)
- GET
/vps— Deine VPS auflisten - GET
/vps/*— Einen VPS, seine IPs und seine Backups lesen - POST
/vps/*— Starten, stoppen, neu starten, neu installieren, einen Snapshot erstellen - PUT
/vps/*— Umbenennen, Reverse-DNS bearbeiten - DELETE
/vps/*— Einen Snapshot löschen
Außerhalb dieser drei Bereiche wird nichts benötigt — InfraNest fragt nie nach Zugriff auf dein Konto selbst.
/domainund/domain/*sind zwei getrennte Regeln — der*deckt alles unterhalb von/domainab, aber nicht/domainselbst. Fehlt die erste Zeile, schlägt das Auflisten deiner Domains mit „This call has not been granted“ fehl, während alles andere funktioniert. Dasselbe gilt für/order/cartund/vps, weshalb beide oben jeweils zweimal auftauchen.TipHast du bereits einen Schlüssel? Schlüssel, die vor der Einführung von Domainregistrierung und VPS-Unterstützung erstellt wurden, haben die Zeilen
POST /order/cart/*oderDELETE /vps/*nicht. Alles andere funktioniert weiterhin, aber der Kauf einer Domain oder das Löschen eines Snapshots schlägt mit „This call has not been granted“ fehl. Erstelle über den obigen Link einen neuen Satz Schlüssel und füge ihn ein — es geht nichts verloren, und keine Domain wird dadurch jemals halb gekauft.- GET
Wähle Create keys.
In InfraNest einfügen
- OVHcloud zeigt die drei Werte nun einmalig an. Kopiere jeden in das passende Feld auf dem Verbindungsbildschirm von InfraNest:
- Application Key → Application Key
- Application Secret → Application Secret
- Consumer Key → Consumer Key
- Wenn du die Seite schließt, bevor du sie kopiert hast, kannst du sie nicht wiederherstellen — erstelle einen neuen Satz und lösche den alten.
Gut zu wissen
- Die Rechte, die du gewährst, sind die Rechte, die InfraNest hat. Für DNS und Domains werden nur die
/domain/*-Pfade benötigt. Gewähre nicht/*. - Schlüssel gelten pro Region. Schlüssel, die auf der europäischen Seite erstellt wurden, funktionieren nicht, wenn die Verbindung auf Vereinigte Staaten eingestellt ist.
- Um den Zugriff zu widerrufen, gehe in deinem OVHcloud-Konto zu den API-Schlüsseln und lösche den Eintrag. Die Verbindung in InfraNest beginnt dann, Fehler zu melden — das ist gewollt.
Fehlerbehebung
- „Authentication failed“ — prüfe, ob die Region mit der übereinstimmt, in der du die Schlüssel erstellt hast, und ob alle drei Werte ohne überflüssige Leerzeichen eingefügt wurden.
- Lesen funktioniert, Änderungen schlagen fehl — wahrscheinlich hast du nur GET gewährt. Füge POST, PUT und DELETE für
/domain/*hinzu, oder erstelle einen neuen Satz Schlüssel mit allen vier Methoden.
Für Administratoren: Connect with OVHcloud aktivieren
Dieser Teil richtet sich an diejenigen, die die InfraNest-Plattform betreiben, und ist der Schritt, bei dem die eigene Dokumentation von OVHcloud leicht zu Fehlern führt.
Ein Service-Account funktioniert hier nicht. Das OVHcloud-Kontrollzentrum bietet Service-Accounts an, die den CLIENT_CREDENTIALS-Flow verwenden — sie authentifizieren sich selbst, Maschine-zu-Maschine. Deshalb erhältst du bei einem Service-Account eine ID und ein Passwort, aber kein Feld für eine Callback-URL, und deshalb zeigt das Weiterleiten eines Nutzers dorthin eine Seite „You are logged in as…“ mit einer Schaltfläche Customer Center statt einer Allow-Schaltfläche. Es gibt nichts zu genehmigen, weil niemand um Erlaubnis gebeten wird.
Was du brauchst, ist ein OAuth2-Client mit dem AUTHORIZATION_CODE-Flow, den das Kontrollzentrum nicht erstellen kann — er muss über die API angelegt werden:
Öffne die API-Konsole für deine Region —
eu.api.ovh.com/console(oder dasca- bzw.us-Äquivalent).Suche
POST /me/api/oauth2/clientund wähle Authenticate (ein Browser-Login; keine Schlüssel nötig).Sende:
{ "name": "InfraNest", "description": "InfraNest one-click connect", "flow": "AUTHORIZATION_CODE", "callbackUrls": ["https://your-infranest-url/api/provider-oauth/ovh/callback"] }Die Callback-URL muss exakt mit der übereinstimmen, die Admin Panel → Integrations → OVHcloud anzeigt; daneben befindet sich eine Schaltfläche Copy.
Die Antwort enthält eine clientId und ein clientSecret. Das Secret wird nur einmal angezeigt.
Füge beides in das Feld für deine Region unter Admin Panel → Integrations → OVHcloud ein.
Jede Region ist eine eigene Plattform, daher braucht sie ihren eigenen Client, der über ihre eigene Konsole erstellt wird. Regionen, die du leer lässt, verwenden einfach weiterhin die oben beschriebene API-Schlüssel-Methode.
Auf Kundenseite ist nichts weiter nötig. Das Genehmigen der Verbindung genügt — die Kunden müssen nicht vorher eine Zugriffsrichtlinie in OVHcloud einrichten, was genau der Grund ist, warum dies schneller geht als das Erstellen von Schlüsseln.
WarningWenn eine Verbindung erfolgreich ist, aber jeder anschließende Aufruf mit „User not granted for this request“ fehlschlägt, wurde die Verbindung erstellt, bevor dies behoben wurde. Berechtigungen werden in dem Moment festgelegt, in dem jemand die Verbindung genehmigt, daher kann eine ältere Verbindung nicht nachträglich repariert werden — trenne sie und verbinde erneut.
War dieser Artikel hilfreich?