|
Ce document a été traduit à l'aide d'une technologie de traduction automatique. Bien que nous nous efforcions de fournir des traductions exactes, nous ne fournissons aucune garantie quant à l'exhaustivité, l'exactitude ou la fiabilité du contenu traduit. En cas de divergence, la version originale anglaise prévaut et fait foi. |
Jetons de service
Présentation
En utilisant des jetons de service, il est possible de s’authentifier à SUSE Observability sans avoir de compte utilisateur associé. C’est utile dans les situations où vous souhaitez utiliser SUSE Observability depuis des services sans interface graphique, comme un serveur CI. Dans un tel scénario, vous ne souhaitez généralement pas provisionner un compte utilisateur dans votre fournisseur d’identité.
Gérer les jetons de service
Les jetons de service peuvent être gérés via le sts CLI. Les commandes suivantes sont disponibles :
> 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.
Il est également possible de configurer un jeton de service de démarrage lors de l’installation de SUSE® Observability.
Créer des jetons de service
|
Les Open Telemetry et Kubernetes StackPacks vous permettent de créer un sujet et un jeton de service avec tous les droits requis configurés. |
Pour créer un jeton de service pour SUSE® Observability, vous pouvez utiliser le sts CLI.
sts service-token create
|
Notez que le jeton de service ne sera affiché qu’une seule fois. Il n’est pas possible de voir à nouveau le jeton. |
Cette commande prend les arguments de ligne de commande suivants :
| Indicateur | Description |
|---|---|
|
Le nom du jeton de service |
|
La date d’expiration du jeton de service, le format est yyyy-MM-dd. L’expiration est optionnelle. |
|
Une liste de rôles séparés par des virgules à attribuer au jeton de service |
Par exemple, la commande ci-dessous créera un jeton de service avec le nom my-service-token et le rôle stackstate-k8s-troubleshooter :
> sts service-token create --name my-service-token --roles stackstate-k8s-troubleshooter
✅ Service token created: svctok-aaaaa-bbbb-ccccc-ddddd
Configurez un jeton de service de démarrage
Lors de l’installation de SUSE® Observability, il est possible de le démarrer avec un jeton de service (temporaire). Cela permet d’utiliser l’interface en ligne de commande sans d’abord interagir avec SUSE® Observability et obtenir un jeton API depuis l’interface utilisateur. Pour configurer cela, ajoutez le snippet suivant au fichier de configuration SUSE® Observability :
Pour configurer SUSE® Observability afin de créer un jeton de service de démarrage sur Kubernetes, les valeurs suivantes doivent être ajoutées au fichier authentication.yaml. Par exemple :
stackstate:
authentication:
serviceToken:
bootstrap:
token: <token>
roles:
- stackstate-admin
ttl: 24h
Suivez les étapes ci-dessous pour configurer SUSE® Observability afin de créer un jeton de service de démarrage :
-
Dans
authentication.yaml- ajoutez le jeton de démarrage :-
token - Le jeton qui est créé au démarrage (initial) de SUSE® Observability.
-
roles - Un tableau de rôles qui sont attribués au jeton de démarrage.
-
ttl - Optionnel. Le temps de vie du jeton de service, exprimé sous forme de chaîne de durée.
-
-
Stockez le fichier
authentication.yamlavec levalues.yamldes instructions d’installation de SUSE® Observability. -
Exécutez une mise à niveau Helm pour appliquer les modifications.
helm upgrade \ --install \ --namespace suse-observability \ --values values.yaml \ --values authentication.yaml \ suse-observability \ suse-observability/suse-observability
|
Configurez le jeton de service de démarrage à partir d’un secret externe.
Au lieu de spécifier le jeton de service de démarrage via les valeurs Helm, vous pouvez également lire le jeton de service de démarrage à partir d’un secret qui est créé et géré en dehors du chart Helm (un secret externe). Pour utiliser un jeton de service de démarrage provenant d’un secret externe, suivez ces étapes et ajoutez les données suivantes :
kind: Secret
metadata:
name: "<custom-secret-name>"
type: Opaque
data:
bootstrap_token: <base64 of token>
Ce jeton peut être ajouté au secret à côté des données qui y sont déjà.
Utiliser des jetons de service
Vous utilisez des jetons de service pour vous authentifier lors de l’utilisation des API SUSE Observability : * Lors de l’utilisation du CLI * Lors de l’utilisation des API HTTP directement * Lors de l’ingestion de données de télémétrie
SUSE Observability sts CLI
Un jeton de service est utilisé pour l’authentification avec le sts CLI. Pour plus d’informations, consultez la documentation du CLI.
APIs SUSE Observability
Pour utiliser un jeton de service pour communiquer directement avec l’API SUSE Observability, ajoutez-le à l’en-tête de la requête de l’une des manières suivantes :
-
Dans l’en-tête
Authorization:> curl -X GET -H "Authorization: ApiKey <TOKEN>" http://localhost:8080/api/server/status -
Dans l’en-tête
X-API-Key:> curl -X GET -H "X-API-Key: <TOKEN>" http://localhost:8080/api/server/status
Ingestion de données de télémétrie
Pour créer un jeton de service pour l’ingestion de données de télémétrie, vous devez d’abord créer un rôle :
> 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
Si vous souhaitez utiliser le jeton de service pour ingérer des données RBAC Kubernetes, vous devez également accorder update-scoped-permissions :
> 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
Cela créera un nouveau rôle dans SUSE Observability appelé my-agent et lui accordera la permission update-metrics. Vous pouvez ensuite créer un jeton de service pour ce rôle :
> sts service-token create --name my-agent --roles my-agent
✅ Service token created: svctok-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Le jeton de service nouvellement créé peut être utilisé comme clé API pour l’authentification des données de télémétrie provenant de :
-
SUSE® Observability Agent (y compris l’Agent RBAC)