|
Este documento ha sido traducido utilizando tecnología de traducción automática. Si bien nos esforzamos por proporcionar traducciones precisas, no ofrecemos garantías sobre la integridad, precisión o confiabilidad del contenido traducido. En caso de discrepancia, la versión original en inglés prevalecerá y constituirá el texto autorizado. |
Tokens de servicio
Descripción general
Usando tokens de servicio, es posible autenticarse en SUSE Observability sin tener una cuenta de usuario asociada. Esto es útil para situaciones en las que se desea utilizar SUSE Observability desde servicios sin interfaz de usuario, como un servidor CI. En tal escenario, normalmente no se desea crear una cuenta de usuario en el proveedor de identidad.
Gestionar tokens de servicio
Los tokens de servicio se pueden gestionar a través de la sts CLI. Los siguientes comandos están 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.
También es posible configurar un token de servicio de arranque al instalar SUSE® Observability.
Crear tokens de servicio
|
Los StackPacks de Open Telemetry y Kubernetes te permiten crear un sujeto y un token de servicio con todos los permisos requeridos configurados. |
Para crear un token de servicio para SUSE® Observability, puedes usar la sts CLI.
sts service-token create
|
Ten en cuenta que el token de servicio solo se mostrará una vez. No es posible ver el token nuevamente. |
Este comando toma los siguientes argumentos de línea de comandos:
| Indicadores | Descripción |
|---|---|
|
El nombre del token de servicio |
|
La fecha de expiración del token de servicio, el formato es yyyy-MM-dd. La expiración es opcional. |
|
Una lista de roles separados por comas para asignar al token de servicio |
Por ejemplo, el comando a continuación creará un token de servicio con el nombre my-service-token y el rol stackstate-k8s-troubleshooter:
> sts service-token create --name my-service-token --roles stackstate-k8s-troubleshooter
✅ Service token created: svctok-aaaaa-bbbb-ccccc-ddddd
Configurar un token de servicio de arranque
Al instalar SUSE® Observability, es posible inicializarlo con un token de servicio (temporal). Esto permite utilizar la CLI sin interactuar primero con SUSE® Observability y obtener un token de API desde la interfaz de usuario. Para configurar esto, añade el siguiente fragmento al archivo de configuración SUSE® Observability:
Para configurar SUSE® Observability para crear un token de servicio de arranque en Kubernetes, se deben añadir los siguientes valores al archivo authentication.yaml. Por ejemplo:
stackstate:
authentication:
serviceToken:
bootstrap:
token: <token>
roles:
- stackstate-admin
ttl: 24h
Sigue los pasos a continuación para configurar SUSE® Observability para crear un token de servicio de arranque:
-
En
authentication.yaml- añade el token de servicio de arranque:-
token - El token que se crea al arranque de SUSE® Observability.
-
roles - Un array de roles que se asignan al token de servicio de arranque.
-
ttl - Opcional. El tiempo de vida del token de servicio, expresado como una cadena de duración.
-
-
Almacena el archivo
authentication.yamljunto con elvalues.yamlde las instrucciones de instalación de SUSE® Observability. -
Ejecuta una actualización de Helm para aplicar los cambios.
helm upgrade \ --install \ --namespace suse-observability \ --values values.yaml \ --values authentication.yaml \ suse-observability \ suse-observability/suse-observability
|
Configura el token de servicio de arranque desde un secreto externo.
En lugar de especificar el token de servicio de arranque a través de los valores de Helm, también puedes leer el token de servicio de arranque de un secreto que se crea y gestiona fuera del gráfico de Helm (un secreto externo). Para utilizar un token de servicio de arranque de un externo, sigue estos pasos y añade los siguientes datos:
kind: Secret
metadata:
name: "<custom-secret-name>"
type: Opaque
data:
bootstrap_token: <base64 of token>
Este token puede añadirse al secreto junto a los datos que ya están allí.
Usar tokens de servicio
Utilizas los tokens de servicio para autenticarte al usar las APIs de SUSE Observability: * Al usar el CLI * Al usar las APIs HTTP directamente * Al ingerir datos de telemetría
SUSE Observability sts CLI
Un token de servicio se utiliza para la autenticación con la CLI de sts. Para obtener más información, consulta la documentación de la CLI.
APIs de SUSE Observability
Para usar un token de servicio para comunicarte directamente con la API de SUSE Observability, añádelo al encabezado de la solicitud de una de las siguientes maneras:
-
En el encabezado
Authorization:> curl -X GET -H "Authorization: ApiKey <TOKEN>" http://localhost:8080/api/server/status -
En el encabezado
X-API-Key:> curl -X GET -H "X-API-Key: <TOKEN>" http://localhost:8080/api/server/status
Ingesta de datos de telemetría
Para crear un token de servicio para la ingesta de datos de telemetría, primero necesitas crear un rol:
> 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 deseas usar el token de servicio para ingerir datos de RBAC de Kubernetes, también necesitas conceder 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
Esto creará un nuevo rol en SUSE Observability llamado my-agent y le otorgará el permiso update-metrics. Luego puedes crear un token de servicio para este rol:
> sts service-token create --name my-agent --roles my-agent
✅ Service token created: svctok-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
El token de servicio recién creado se puede usar como la clave API para la autenticación de datos de telemetría de:
-
SUSE® Observability Agente (incluido el Agente RBAC)