enhancement
major
minor
defect
critical
major
minor
major
#30095
OpenAPI-Client: Parameterwert aus einer Secret-Quelle
Ausgangslage
Die Parameter eines Aufrufs einer OpenAPI-Schnittstelle werden über eine ValueProducerFactory konfiguriert. Bisher gibt es dafür den Wert eines Funktionsarguments (ParameterValue), einen konstanten Wert (ConstantValue) und einen berechneten Wert (ComputedValue).
Erwartet eine Schnittstelle ein Geheimnis als Parameter (z.B. einen API-Schlüssel oder ein Token in einem Query-, Header- oder Pfad-Parameter), muss es heute als constant-value im Klartext in der Konfiguration stehen.
Änderung
Neue ValueProducerFactory SecretValue (Tag secret-value). Ihr Wert kommt aus einer SecretSource, die bei jedem Aufruf der Schnittstelle neu gelesen wird. Ein rotiertes Geheimnis wird damit ohne Neustart der Anwendung verwendet.
Die Eigenschaft secret kennt dieselben Formen wie die anderen Secret-Eigenschaften:
- Element ohne class: Name eines Geheimnisses im Secret-Store der Installation (empfohlen).
- Element mit class: eine andere Quelle, z.B. FileSecretSource oder EnvironmentSecretSource.
- Attributwert: verschlüsseltes Geheimnis (oder mit Präfix unencrypted:).
{{{#!xml <value class="com.top_logic.service.openapi.client.registry.impl.value.SecretValue">
<secret name="my_api_key"/>
</value> }}}