|
Dieses Dokument wurde mithilfe automatisierter maschineller Übersetzungstechnologie übersetzt. Wir bemühen uns um korrekte Übersetzungen, übernehmen jedoch keine Gewähr für die Vollständigkeit, Richtigkeit oder Zuverlässigkeit der übersetzten Inhalte. Im Falle von Abweichungen ist die englische Originalversion maßgebend und stellt den verbindlichen Text dar. |
Service-Token
Übersicht
Mit Service-Token ist es möglich, sich bei SUSE Observability zu authentifizieren, ohne ein zugehöriges Benutzerkonto zu haben. Dies ist nützlich in Situationen, in denen Sie SUSE Observability von Headless-Diensten wie einem CI-Server aus verwenden möchten. In einem solchen Szenario möchten Sie typischerweise kein Benutzerkonto in Ihrem Identitätsanbieter bereitstellen.
Verwalten von Service-Token
Service-Token können über die sts CLI verwaltet werden. Es stehen die folgenden Befehle zur Verfügung:
> sts service-token --help
Manage service tokens.
Usage:
sts service-token [command]
Available Commands:
create Create a service token
delete Delete a service token
list List service tokens
Use "sts service-token [command] --help" for more information about a command.
Es ist auch möglich, einen neu starten-Service-Token bei der Installation von SUSE® Observability einzurichten.
Service-Token erstellen
|
Die Open Telemetry und Kubernetes StackPacks ermöglichen es Ihnen, ein Subjekt und einen Service-Token mit allen erforderlichen Berechtigungen zu erstellen. |
Um einen Service-Token für SUSE® Observability zu erstellen, können Sie die sts CLI verwenden.
sts service-token create
|
Beachten Sie, dass der Service-Token nur einmal angezeigt wird. Es ist nicht möglich, den Token erneut anzuzeigen. |
Dieser Befehl benötigt die folgenden Befehlszeilenargumente:
| Flaggen | Beschreibung |
|---|---|
|
Der Name des Service-Tokens |
|
Das Ablaufdatum des Service-Tokens, das Format ist yyyy-MM-dd. Das Ablaufdatum ist optional. |
|
Eine durch Kommas getrennte Liste von Rollen, die dem Service-Token zugewiesen werden sollen |
Zum Beispiel wird der folgende Befehl einen Service-Token mit dem Namen my-service-token und der Rolle stackstate-k8s-troubleshooter erstellen:
> sts service-token create --name my-service-token --roles stackstate-k8s-troubleshooter
✅ Service token created: svctok-aaaaa-bbbb-ccccc-ddddd
Richten Sie ein neu starten-Service-Token ein.
Beim Installieren von SUSE® Observability ist es möglich, es mit einem (temporären) neu starten-Service-Token zu initialisieren. Dies ermöglicht die Verwendung der CLI, ohne zuerst mit SUSE® Observability zu interagieren und ein API-Token aus der Benutzeroberfläche zu erhalten. Um dies einzurichten, fügen Sie den folgenden Codeausschnitt in die Konfigurationsdatei SUSE® Observability ein:
Um SUSE® Observability so zu konfigurieren, dass ein neu starten-Service-Token auf Kubernetes erstellt wird, müssen die folgenden Werte in die Datei authentication.yaml eingefügt werden. Beispiel:
stackstate:
authentication:
serviceToken:
bootstrap:
token: <token>
roles:
- stackstate-admin
ttl: 24h
Befolgen Sie die folgenden Schritte, um SUSE® Observability so zu konfigurieren, dass ein neu starten-Service-Token erstellt wird:
-
In
authentication.yaml- fügen Sie das neu starten-Service-Token hinzu:-
token - Das Token, das beim (initialen) Start von SUSE® Observability erstellt wird.
-
roles - Ein Array von Rollen, die dem neu starten-Service-Token zugewiesen sind.
-
ttl - Optional. Die Lebensdauer des Service-Tokens, als Zeitdauer angegeben.
-
-
Speichern Sie die Datei
authentication.yamlzusammen mit demvalues.yamlaus den Installationsanweisungen für SUSE® Observability. -
Führen Sie ein Helm-Upgrade aus, um die Änderungen anzuwenden.
helm upgrade \ --install \ --namespace suse-observability \ --values values.yaml \ --values authentication.yaml \ suse-observability \ suse-observability/suse-observability
|
Richten Sie das neu starten-Service-Token aus einem externen Secret ein.
Anstatt das neu starten-Token über die Helm-Werte anzugeben, können Sie das neu starten-Token auch aus einem Secret lesen, das außerhalb des Helm-Charts erstellt und verwaltet wird (ein externes Secret). Um ein neu starten-Token von einem externen Secret zu verwenden, befolgen Sie diese Schritte und fügen Sie die folgenden Daten hinzu:
kind: Secret
metadata:
name: "<custom-secret-name>"
type: Opaque
data:
bootstrap_token: <base64 of token>
Dieses Token kann neben den bereits vorhandenen Daten zum Secret hinzugefügt werden.
Service-Token verwenden
Sie verwenden Service-Token zur Authentifizierung bei der Nutzung der SUSE Observability APIs: * Bei der Verwendung des CLI * Bei der direkten Nutzung der HTTP APIs * Bei der Erfassung von Telemetriedaten
SUSE Observability sts CLI
Ein Service-Token wird zur Authentifizierung mit dem sts CLI verwendet. Für weitere Informationen siehe die CLI-Dokumentation.
SUSE Observability APIs
Um ein Service-Token direkt mit der SUSE Observability API zu verwenden, fügen Sie es auf eine der folgenden Arten zum Header der Anfrage hinzu:
-
Im
AuthorizationHeader:> curl -X GET -H "Authorization: ApiKey <TOKEN>" http://localhost:8080/api/server/status -
Im
X-API-KeyHeader:> curl -X GET -H "X-API-Key: <TOKEN>" http://localhost:8080/api/server/status
Erfassung von Telemetriedaten
Um ein Service-Token für die Erfassung von Telemetriedaten zu erstellen, müssen Sie zuerst eine Rolle erstellen:
> sts rbac create-subject --subject my-agent
✅ Created subject 'my-agent'
> sts rbac grant --subject my-agent --permission update-metrics
✅ Granted permission 'update-metrics' on 'system' to subject 'my-agent'
PERMISSION | RESOURCE
update-metrics | system
Wenn Sie das Service-Token zur Erfassung von Kubernetes RBAC-Daten verwenden möchten, müssen Sie auch update-scoped-permissions gewähren:
> sts rbac grant --subject my-agent --permission update-scoped-permissions --resource my-cluster
✅ Granted permission 'update-scoped-permissions' on 'my-cluster' to subject 'my-agent'
PERMISSION | RESOURCE
update-metrics | system
update-scoped-permissions | my-cluster
Dies wird eine neue Rolle in SUSE Observability mit dem Namen my-agent erstellen und ihr die update-metrics Berechtigung gewähren. Sie können dann ein Service-Token für diese Rolle erstellen:
> sts service-token create --name my-agent --roles my-agent
✅ Service token created: svctok-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Das neu erstellte Service-Token kann als API-Schlüssel zur Authentifizierung von Telemetriedaten von:
-
SUSE® Observability Agent (einschließlich RBAC-Agent)