API7 Enterprise v3.2.16: Integrierte Secret Providers

Zhihuang Lin

Zhihuang Lin

October 10, 2024

Products

In API7 Enterprise können Sie eine große Menge sensibler Informationen speichern, wie z. B. SSL-Zertifikate und private Schlüssel, Benutzernamen und Passwörter für Consumer-Authentifizierungsdaten sowie die Informationen, die von bestimmten Plugins benötigt werden, um eine Verbindung zu externen Systemen herzustellen.

Das Konzept der "Secret Providers" wurde in API7 Enterprise v3.2.16 eingeführt. Nun können wir problemlos Secret-Provider-Ressourcen hinzufügen, um die Integration mit Drittanbieter-Geheimnisverwaltungsdiensten wie HashiCorp Vault, AWS Secrets Manager und GCP Secret Manager zu ermöglichen und die extern gespeicherten sensiblen Informationen in API7 über Variablen zu referenzieren. Das Referenzformat lautet wie folgt:

$secret://$manager/$id/$secret_name/$key

Wie verwendet man Secret Providers?

Hinzufügen eines Secret Providers

Im Gateway-Gruppen-Menü wurde eine neue Option "Secret Provider" hinzugefügt. Klicken Sie auf die Schaltfläche, um zur Secret-Provider-Listenseite zu gelangen. Klicken Sie dann auf die Schaltfläche "Add Secret Provider" in der oberen rechten Ecke der Seite.

Secret Providers in API7 Enterprise hinzufügen

Füllen Sie im Pop-up-Fenster die grundlegenden Informationen über den Secret Provider aus, wählen Sie den Typ des Geheimnisverwaltungsdienstes, z. B. HashiCorp Vault. Geben Sie dann die Dienstzugriffsadresse und das Authentifizierungstoken für Ihre HashiCorp Vault-Konfiguration an.

Anzeigen eines Secret Providers

Nach der Erstellung können wir die spezifischen Konfigurationsdetails und das Beispiel für die Geheimnisvariable auf der Detailseite des Secret Providers einsehen.

Details des Secret Providers in API7 Enterprise

Das Format der Geheimnisvariable lautet: secret://manager/$id/$secret_name/$key, mit folgenden Bedeutungen:

  • $secret: Ein festes Präfix, das nicht ersetzt werden muss
  • $manager: Der Geheimnisverwaltungsdienst
  • $id: Die ID der Secret-Provider-Ressource
  • $secret_name: Der Name des Geheimnisses im Geheimnisverwaltungsdienst
  • $key: Der Schlüssel, der dem Geheimnis im Geheimnisverwaltungsdienst entspricht

Beispiel: Wenn die ID des Secret Providers my-provider lautet und der Geheimnisverwaltungsdienst HashiCorp Vault ist, und Sie ein Geheimnis namens my-secret mit dem Schlüssel password referenzieren möchten, lautet die entsprechende Geheimnisvariable:

$secret://vault/my-hashicorp-vault/my-secret/password

Derzeit wird HashiCorp Vault als Geheimnisverwaltungsdienst unterstützt. AWS Secrets Manager und GCP Secret Manager werden bald verfügbar sein.

Referenzieren einer Geheimnisvariablen

Sobald der Secret Provider erstellt wurde, können Sie in API7 Enterprise in verschiedenen Ressourcen über Variablen auf extern gespeicherte sensible Informationen verweisen. Beispielsweise können Sie beim Hinzufügen von Basic Authentication-Daten für einen Consumer wählen, sensible Informationen wie Passwörter in einem externen Geheimnisverwaltungsdienst zu speichern und in API7 Enterprise darauf zu verweisen, wodurch die Sicherheit erhöht wird.

Referenzieren von Secret Providers in API7 Enterprise

Ebenso können wir bei der Arbeit mit Nicht-Formularseiten, wie dem Plugin-Editor, den Wert der Geheimnisvariablen direkt als Zeichenkette in jedes Feld eingeben, das die Referenzierung von Geheimnissen unterstützt.

Referenzieren von Geheimnisinformationen beim Aktivieren von Plugins

Anzeigen von Referenzbeziehungen

Wenn wir eine Variable von my-provider in Consumer-Daten referenzieren, können wir diese Referenzbeziehung in der Referenzliste des Secret Providers einsehen. Andere referenzierte Ressourcen werden ebenfalls in dieser Liste angezeigt, was die Nachverfolgung der Nutzung des Secret Providers erleichtert.

Referenzen des Secret Providers

Bearbeiten oder Löschen eines Secret Providers

Beim Bearbeiten oder Löschen eines Secret Providers überprüft das System die Referenzbeziehungen, um zu vermeiden, dass ungültige Variablen in Ressourcen referenziert werden, was zu Konfigurationsfehlern führen könnte.

Bearbeiten oder Löschen eines Secret Providers in API7 Enterprise

Zusammenfassung

Durch die Integration mit externen Geheimnisverwaltungsdiensten wie HashiCorp Vault verbessert API7 Enterprise die Bequemlichkeit der Referenzierung extern gespeicherter sensibler Informationen in verschiedenen Ressourcen. Diese Integration reduziert die Risiken und Kosten, die mit der manuellen Verwaltung solcher Informationen verbunden sind. In Zukunft planen wir, weitere Arten von Geheimnisverwaltungsdiensten zu unterstützen, um den wachsenden Anforderungen der Benutzer gerecht zu werden und gleichzeitig Flexibilität und Sicherheit bei der Verwaltung sensibler Informationen zu gewährleisten.

Tags: