Gebruik dit als je InfraNest handmatig met OVHcloud moet verbinden, omdat de optie met één klik niet beschikbaar is voor jouw configuratie.
NoteDit heb je alleen nodig als Verbinden met OVHcloud niet wordt aangeboden op het verbindingsscherm. Als dat wel het geval is, gebruik dan die optie — het is sneller en er is niets om te kopiëren of te roteren. Het instellen van Verbinden met OVHcloud zelf is een taak voor een beheerder, niet voor een klant — zie het gedeelte aan het einde van dit artikel. Een service-account is daarvoor niet de juiste keuze.
Overzicht
- OVHcloud geeft je drie waarden tegelijk: een Application Key, een Application Secret en een Consumer Key.
- Alle drie voer je in op het verbindingsscherm van InfraNest voor OVHcloud.
- De rechten die je toekent aan de sleutels bepalen precies wat InfraNest kan zien en doen in je OVHcloud-account.
De sleutels aanmaken
Ga naar de tokenpagina voor jouw regio — deze moet overeenkomen met de regio die je in InfraNest hebt gekozen:
- Europa —
eu.api.ovh.com/createToken - Canada / Azië-Pacific —
ca.api.ovh.com/createToken - Verenigde Staten —
api.us.ovhcloud.com/createToken
- Europa —
Meld je aan met je OVHcloud-account.
Vul een Script name in (bijvoorbeeld
InfraNest) en een beschrijving, zodat je hem later herkent.Zet Validity op Unlimited, tenzij je de sleutels zelf volgens een schema wilt roteren.
Voeg onder Rights per onderstaande rij één regel toe. De link in InfraNest opent deze pagina met alle rijen al ingevuld, dus deze tabel dient vooral ter controle, niet om over te typen.
Domeinen en DNS
Methode Pad Waarom GET /domainJe domeinen weergeven GET /domain/*Details, nameservers en DNS-zones van een domein lezen POST /domain/*Nameservers, contacten en DNSSEC wijzigen PUT /domain/*Transferlock, automatisch verlengen, DNS-records DELETE /domain/*DNS-records verwijderen Domeinen kopen en prijzen opvragen
Methode Pad Waarom POST /order/cartEen prijs- of beschikbaarheidscontrole starten POST /order/cart/*Een domein registreren of overzetten GET /order/cart/*De prijzen uitlezen DELETE /order/cart/*De opzoeking weer opruimen Servers (alleen als je VPS bij OVHcloud draait)
Methode Pad Waarom GET /vpsJe VPS'en weergeven GET /vps/*Een VPS, de IP's en de back-ups ervan lezen POST /vps/*Starten, stoppen, herstarten, opnieuw installeren, een snapshot maken PUT /vps/*Naam wijzigen, reverse DNS bewerken DELETE /vps/*Een snapshot verwijderen NoteNiets buiten deze drie gebieden is nodig — InfraNest vraagt nooit om toegang tot je account zelf. Let ook op:
/domainen/domain/*zijn twee aparte regels — de*dekt alles onder/domain, maar niet/domainzelf. Als je de eerste rij mist, mislukt het weergeven van je domeinen met "This call has not been granted", terwijl al het andere wel werkt. Hetzelfde geldt voor/order/carten/vps, daarom staan die hierboven elk twee keer.TipHeb je al een sleutel? Sleutels die zijn aangemaakt vóórdat domeinregistratie en VPS-ondersteuning werden toegevoegd, hebben de rijen
POST /order/cart/*ofDELETE /vps/*niet. Al het andere blijft werken, maar het kopen van een domein of verwijderen van een snapshot mislukt met "This call has not been granted". Maak via bovenstaande link een nieuwe set sleutels aan en plak deze in — er gaat niets verloren en er wordt hierdoor nooit een domein half aangeschaft.Selecteer Create keys.
Kopieer ze naar InfraNest
OVHcloud toont de drie waarden nu eenmalig. Kopieer elke waarde naar het bijbehorende veld op het InfraNest-verbindingsscherm:
- Kopieer de Application Key van OVHcloud en plak deze in het veld Application Key.
- Kopieer de Application Secret van OVHcloud en plak deze in het veld Application Secret.
- Kopieer de Consumer Key van OVHcloud en plak deze in het veld Consumer Key.
- Selecteer Wijzigingen opslaan.
Als je de pagina sluit voordat je ze hebt gekopieerd, kun je ze niet meer terughalen — maak een nieuwe set aan en verwijder de oude.
Tips
- De rechten die je toekent, zijn de rechten die InfraNest heeft. Voor DNS en domeinen zijn alleen de paden onder
/domain/*nodig. Ken geen/*toe. - Sleutels zijn per regio. Sleutels die zijn aangemaakt op de Europese pagina werken niet als de verbinding is ingesteld op Verenigde Staten.
- Om de toegang in te trekken, ga je in je OVHcloud-account naar API keys en verwijder je de vermelding. De verbinding in InfraNest zal dan foutmeldingen gaan tonen, en dat is precies de bedoeling.
Probleemoplossing
- "Authentication failed" — controleer of de regio overeenkomt met waar je de sleutels hebt aangemaakt, en of alle drie de waarden zonder overtollige spaties zijn geplakt.
- Lezen werkt, maar wijzigingen mislukken — je hebt waarschijnlijk alleen
GETtoegekend. VoegPOST,PUTenDELETEtoe op/domain/*, of maak een nieuwe set sleutels aan met alle vier.
Voor beheerders: "Verbinden met OVHcloud" inschakelen
Dit gedeelte is voor wie het InfraNest-platform beheert, en het is de stap waarbij de eigen documentatie van OVHcloud gemakkelijk tot fouten leidt.
Een service-account werkt hiervoor niet. Het OVHcloud-configuratiescherm biedt service-accounts aan, die gebruikmaken van de CLIENT_CREDENTIALS-flow — deze authenticeren als zichzelf, machine-tot-machine. Daarom krijg je bij een service-account een id en een wachtwoord, maar geen veld voor een callback-URL, en daarom zie je bij het doorsturen van een gebruiker daarheen een pagina "You are logged in as…" met een knop Customer Center in plaats van een knop Allow. Er is niets goed te keuren, omdat er niemand om toestemming wordt gevraagd.
Wat je nodig hebt, is een OAuth2-client die de AUTHORIZATION_CODE-flow gebruikt, en die maakt het configuratiescherm niet aan — dat moet via de API gebeuren:
Open de API-console voor jouw regio —
eu.api.ovh.com/console(of hetca-/us-equivalent).Zoek
POST /me/api/oauth2/clienten selecteer Authenticate (een browserlogin; geen sleutels nodig).Verstuur:
{ "name": "InfraNest", "description": "InfraNest one-click connect", "flow": "AUTHORIZATION_CODE", "callbackUrls": ["https://your-infranest-url/api/provider-oauth/ovh/callback"] }De callback-URL moet exact overeenkomen met wat Admin Panel → Integraties → OVHcloud toont; er staat een kopieerknop naast.
Het antwoord bevat een clientId en een clientSecret. Het secret wordt eenmalig getoond.
Plak beide in het vak voor jouw regio in Admin Panel → Integraties → OVHcloud.
Elke regio is een apart platform, dus daarvoor moet een eigen client op de eigen console worden aangemaakt. Regio's die je leeg laat, blijven gewoon de bovenstaande API-sleutelmethode gebruiken.
Aan de kant van de klant is verder niets nodig. Het goedkeuren van de verbinding is voldoende — ze hoeven niet eerst een toegangsbeleid in OVHcloud in te stellen, en dat is nu juist de reden waarom dit sneller gaat dan het aanmaken van sleutels.
WarningAls een verbinding wel lukt, maar elke aanroep daarna mislukt met "User not granted for this request", dan is de verbinding tot stand gekomen vóórdat dit werd opgelost. De rechten worden bepaald op het moment dat iemand de verbinding goedkeurt, dus een oudere verbinding kan niet ter plekke worden hersteld — koppel deze los en verbind opnieuw.
Was dit artikel nuttig?