OKMS-Authentifizierungsmethoden

Als Markdown ansehen

Erfahren Sie, wie Sie Personal Access Tokens, Service-Accounts oder Zugriffszertifikate konfigurieren, um sich bei der regionalen REST-API Ihrer OKMS-Domain zu authentifizieren

Ziel

Dieser Leitfaden erläutert, wie Sie sich bei der OKMS-Datenebene authentifizieren — der regionalen REST-API, die auf Ihrer OKMS-Domain bereitgestellt wird (zum Beispiel https://eu-west-rbx.okms.ovh.net). Diese API wird vom Key Management Service (KMS) und vom Secret Manager gemeinsam genutzt.

Für die REST-API stehen drei Authentifizierungsmethoden zur Verfügung. KMIP-Integrationen unterstützen ausschließlich Zugriffszertifikate — wir empfehlen, Zertifikate für KMIP-Anwendungsfälle zu reservieren, da ihre Einrichtung komplexer ist als die von Token.

Voraussetzungen

  • Sie verfügen über einen OVHcloud Kunden-Account.
  • Sie verfügen über eine OKMS-Domain in der Zielregion (erstellt bei der Bestellung eines KMS oder bei der Aktivierung des Secret Manager in dieser Region).

In der praktischen Anwendung

Die OKMS-Datenebene verstehen

Die OKMS-Datenebene ist der regionale API-Endpunkt für kryptografische Vorgänge (KMS) und die Speicherung von Secrets (Secret Manager). Sie unterscheidet sich von der zentralisierten Steuerungsebene der OVHcloud API (/v2/okms/...), die die Bereitstellung und Konfiguration von OKMS-Domains verwaltet.

EbeneBeispiel-EndpunktZweck
Datenebene (regional)https://eu-west-rbx.okms.ovh.netSchlüssel und Secrets auf der Domain verschlüsseln, signieren und verwalten
Steuerungsebene (OVHcloud API)https://eu.api.ovh.com/v2/okms/...Domains bestellen, Zugangsdaten verwalten, Protokollierung konfigurieren

Sie können mit der Datenebene über die einheitliche Swagger-Oberfläche unter https://<region>.okms.ovh.net/swagger/, die OKMS CLI oder das Go SDK interagieren.

Ihre Authentifizierungsmethode wählen

MethodeIdeal fürREST-APIKMIP
Personal Access Token (PAT)Skripte und Automatisierung, die im Namen eines lokalen Benutzers agierenUnterstütztNicht unterstützt
Service-AccountMachine-to-Machine-IntegrationenUnterstütztNicht unterstützt
ZugriffszertifikatKMIP-kompatible Produkte, mTLS-Clients, browserbasiertes Swagger mit Client-ZertifikatenUnterstütztErforderlich
Tip

Für den Zugriff auf die REST-API sollten Sie einen Personal Access Token (PAT) oder einen Service-Account bevorzugen. Reservieren Sie Zugriffszertifikate für KMIP oder mTLS-basierte Clients.

Authentifizierung einrichten

Personal Access Token
Service-Account
Zugriffszertifikat

Schritt 1 — Einen lokalen Benutzer erstellen

Falls Sie noch keinen haben, erstellen Sie einen lokalen OVHcloud Benutzer.

Schritt 2 — Ein PAT erstellen

Erstellen Sie ein Personal Access Token (PAT) für den lokalen Benutzer.

Schritt 3 — Eine IAM-Richtlinie erstellen

Erstellen Sie eine IAM-Richtlinie, die dem lokalen Benutzer die erforderlichen OKMS-Aktionen auf Ihrer Domain gewährt. Weitere Informationen finden Sie weiter unten unter IAM-Rechte für OKMS.

Das PAT auf der Datenebene verwenden

Senden Sie das PAT als Bearer-Token:

curl -H "Authorization: Bearer <your_pat>" \
  https://eu-west-rbx.okms.ovh.net/v1/servicekey

Verwenden Sie in der Swagger-Oberfläche das Schema personalAccessToken im Dialogfeld Authorize.

Falls der regionale Endpunkt das Bearer-Schema nicht direkt akzeptiert, verwenden Sie die hybride Authentifizierung mit dem Präfix pat_jwt_, wie im PAT-Leitfaden beschrieben.

Die OKMS Swagger-Oberfläche verwenden

Die OKMS-Domain stellt eine einheitliche Swagger-Oberfläche unter https://<region>.okms.ovh.net/swagger/ bereit. Zum Beispiel für eine Domain in eu-west-rbx: https://eu-west-rbx.okms.ovh.net/swagger/.

Sie können sie auch über den Swagger-Link auf dem öffnen.

Die Swagger-Oberfläche unterstützt alle drei Authentifizierungsmethoden der REST-API. Führen Sie die Konfigurationsschritte für die gewählte Methode aus, einschließlich der erforderlichen IAM-Richtlinie, bevor Sie Anfragen ausführen.

Personal Access Token

  1. Klicken Sie in der Swagger-Oberfläche auf die Schaltfläche Authorize (Schloss-Symbol).
  2. Fügen Sie unter personalAccessToken (HTTP Bearer, JWT-Format) das PAT ein, das Sie für Ihren lokalen Benutzer erstellt haben.
  3. Klicken Sie auf Authorize und anschließend auf Close.

Swagger sendet Ihr Token in einem Authorization: Bearer <token>-Header bei jeder Anfrage, die Sie ausführen.

Service-Account

  1. Klicken Sie in der Swagger-Oberfläche auf die Schaltfläche Authorize.
  2. Geben Sie unter oAuth2ClientCredentials die client_id und das client_secret Ihres Service-Accounts ein. Weitere Informationen zum Abrufen dieser Zugangsdaten finden Sie unter So verwenden Sie Service-Accounts für die Verbindung mit den OVHcloud APIs.
  3. Swagger ruft über den Client-Credentials-Flow ein OAuth2-Zugriffstoken ab und fügt es den nachfolgenden Anfragen hinzu.

Zugriffszertifikat

Die Authentifizierung per Zugriffszertifikat verwendet gegenseitiges TLS (mTLS) auf Transportebene. Das Zertifikat wird von Ihrem Browser beim Verbinden mit der Swagger-URL präsentiert — es wird nicht über das Dialogfeld Authorize konfiguriert.

Ihr Zertifikat in den Browser importieren

Konvertieren Sie Ihr OKMS-Zertifikat und Ihren privaten Schlüssel in das PKCS#12-Format (angenommen, die Dateien heißen ID_certificate.pem und ID_privatekey.pem):

openssl pkcs12 -export -in ID_certificate.pem -inkey ID_privatekey.pem -out client.p12

Sie werden aufgefordert, ein Passwort für die verschlüsselte Datei festzulegen. Importieren Sie client.p12 in Ihren Browser:

Unter Firefox

  • Geben Sie about:preferences#privacy in die Adressleiste ein.
  • Scrollen Sie nach unten zum Abschnitt Zertifikate.
Einstellungen des Firefox-Zertifikatsmanagers
  • Klicken Sie auf Zertifikate anzeigen..., öffnen Sie den Tab Ihre Zertifikate, dann Importieren... und wählen Sie Ihre Datei client.p12 aus.
  • Geben Sie das PKCS#12-Passwort ein, wenn Sie dazu aufgefordert werden.

Unter Chrome/Chromium

  • Geben Sie chrome://settings/certificates in die Adressleiste ein.
  • Öffnen Sie den Tab Eigene Zertifikate, klicken Sie auf Importieren und wählen Sie Ihre Datei client.p12 aus.
  • Geben Sie das PKCS#12-Passwort ein, wenn Sie dazu aufgefordert werden.
Chromium-Zertifikatsmanager
Mit Ihrem Zertifikat auf Swagger zugreifen

Öffnen Sie https://<region>.okms.ovh.net/swagger/ in Ihrem Browser. Sie werden aufgefordert, das importierte Zertifikat auszuwählen:

Aufforderung zur Zertifikatsidentifizierung im Browser

Sie können nun API-Aufrufe interaktiv über die Swagger-Oberfläche ausführen.

IAM-Rechte für OKMS

OKMS-IAM-Aktionen folgen dem Muster okms:<channel>:<resource>/<operation>:

KanalGeltungsbereichVerwendet für
okms:apiovhSteuerungsebene und Datenebene REST-APIKMS-Schlüssel, Secrets, Zertifikate, Domain-Konfiguration
okms:apikmsRegionale Datenebene REST-APIDirekte regionale API-Aufrufe (einige Integrationen verwenden sowohl apiovh- als auch apikms-Aktionen)
okms:kmipKMIP-ProtokollIntegrationen KMIP-kompatibler Produkte — siehe spezielle Dokumentation

Gängige okms:apiovh-Aktionen

AktionBeschreibung
okms:apiovh:serviceKey/getVerschlüsselungsschlüssel auflisten oder abrufen
okms:apiovh:serviceKey/createEinen Schlüssel erstellen oder importieren
okms:apiovh:serviceKey/updateSchlüsselmetadaten aktualisieren
okms:apiovh:serviceKey/deleteEinen Schlüssel löschen
okms:apiovh:serviceKey/activateEinen Schlüssel aktivieren
okms:apiovh:serviceKey/deactivateEinen Schlüssel deaktivieren
okms:apiovh:serviceKey/encryptDaten mit einem Schlüssel verschlüsseln
okms:apiovh:serviceKey/decryptDaten mit einem Schlüssel entschlüsseln
okms:apiovh:serviceKey/signDaten mit einem Schlüssel signieren
okms:apiovh:serviceKey/verifyEine Signatur überprüfen
okms:apiovh:serviceKey/datakeyEinen Data Key generieren
okms:apiovh:serviceKey/datakeyDecryptEinen Data Key entschlüsseln
okms:apiovh:secret/getSecrets und Metadaten auflisten
okms:apiovh:secret/createEin Secret erstellen
okms:apiovh:secret/updateSecret-Metadaten aktualisieren
okms:apiovh:secret/deleteEin Secret löschen
okms:apiovh:secret/version/getDataDen Inhalt einer Secret-Version lesen
okms:apiovh:credential/getZugriffszertifikate auflisten
okms:apiovh:credential/createEin Zugriffszertifikat erstellen
okms:apiovh:credential/deleteEin Zugriffszertifikat löschen
okms:apiovh:secretConfig/getDie Standardkonfiguration des Secret Manager lesen
okms:apiovh:secretConfig/updateDie Standardkonfiguration des Secret Manager aktualisieren
Info

Das Auflisten einer Secret-Version (okms:apiovh:secret/get) ist etwas anderes als das Lesen ihres Inhalts (okms:apiovh:secret/version/getData). Gewähren Sie beide, wenn die Identität Secret-Werte lesen muss.

Die vollständige Aktionsliste finden Sie in der unter dem Produkttyp Key Management System (KMS) oder in den IAM-Richtlinien beim Erstellen einer Richtlinie.

Vorgeschlagene IAM-Richtlinien

Wenden Sie diese Vorlagen auf die Ressource Ihrer OKMS-Domain an (urn:v1:<region>:resource:okms:<okmsId>). Ersetzen Sie <identity_urn> und <okms_urn> durch Ihre Werte. Erstellen Sie die Richtlinien über das Kundencenter oder die IAM-API.

Vollständige Administration — vollständige Kontrolle über die OKMS-Domain über die REST-API:

{
  "name": "okms-full-admin",
  "description": "Full administrative access to an OKMS domain",
  "identities": ["<identity_urn>"],
  "resources": [{ "urn": "<okms_urn>" }],
  "action": ["okms:apiovh:*"]
}

Nur Lesen — Ressourcen auflisten und untersuchen, ohne Schreib- oder kryptografische Vorgänge:

{
  "name": "okms-read-only",
  "description": "Read-only access to an OKMS domain",
  "identities": ["<identity_urn>"],
  "resources": [{ "urn": "<okms_urn>" }],
  "action": [
    "okms:apiovh:serviceKey/get",
    "okms:apiovh:secret/get",
    "okms:apiovh:credential/get",
    "okms:apiovh:secretConfig/get",
    "okms:apiovh:log/get"
  ]
}

Fügen Sie okms:apiovh:secret/version/getData hinzu, wenn die Identität Secret-Werte lesen muss.

Nur kryptografische Vorgänge — Schlüssel zum Verschlüsseln, Entschlüsseln, Signieren und Überprüfen verwenden, ohne Schlüssel oder Secrets zu verwalten:

{
  "name": "okms-crypto-only",
  "description": "Cryptographic operations on an OKMS domain",
  "identities": ["<identity_urn>"],
  "resources": [{ "urn": "<okms_urn>" }],
  "action": [
    "okms:apiovh:serviceKey/get",
    "okms:apiovh:serviceKey/encrypt",
    "okms:apiovh:serviceKey/decrypt",
    "okms:apiovh:serviceKey/sign",
    "okms:apiovh:serviceKey/verify",
    "okms:apiovh:serviceKey/datakey",
    "okms:apiovh:serviceKey/datakeyDecrypt"
  ]
}

Nur Secret-Zugriff — Secrets des Secret Manager lesen, ohne Zugriff auf KMS-Schlüssel, Zertifikate oder die Domain-Konfiguration:

{
  "name": "okms-secret-access-only",
  "description": "Read-only access to Secret Manager secrets on an OKMS domain",
  "identities": ["<identity_urn>"],
  "resources": [{ "urn": "<okms_urn>" }],
  "action": [
    "okms:apiovh:secret/get",
    "okms:apiovh:secret/version/getData",
    "okms:apikms:secret/version/getData"
  ]
}

Fügen Sie okms:apiovh:secret/create, okms:apiovh:secret/update und okms:apiovh:secret/delete hinzu, wenn die Identität Secrets verwalten muss.

Warning

KMIP-Vorgänge verwenden die Aktionen okms:kmip:*, nicht okms:apiovh:*. Der zertifikatbasierte KMIP-Zugriff erfordert sowohl die Erstellung des Zertifikats als auch die KMIP-IAM-Rechte aus dem KMIP-Leitfaden.

Weiterführende Informationen

Ihr OVHcloud Key Management Service (KMS) mit Ihren Daten verwenden

Secret Manager mit der REST-API verwenden

So verbinden Sie ein kompatibles Produkt über das KMIP-Protokoll

Ihr OKMS-Zugriffszertifikat verwalten

Treten Sie unserer User Community bei.

War diese Seite hilfreich?