|
Este documento foi traduzido usando tecnologia de tradução automática de máquina. Sempre trabalhamos para apresentar traduções precisas, mas não oferecemos nenhuma garantia em relação à integridade, precisão ou confiabilidade do conteúdo traduzido. Em caso de qualquer discrepância, a versão original em inglês prevalecerá e constituirá o texto official. |
Tokens de serviço
Visão Geral
Usando tokens de serviço, é possível autenticar-se no SUSE Observability sem ter uma conta de usuário associada. Isso é útil para situações em que você deseja usar o SUSE Observability a partir de serviços sem interface, como um servidor CI. Em tal cenário, você normalmente não deseja provisionar uma conta de usuário em seu provedor de identidade.
Gerenciar tokens de serviço
Os tokens de serviço podem ser gerenciados via o sts CLI. Os seguintes comandos estão disponíveis:
> 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.
Também é possível configurar um token de serviço para inicializar ao instalar SUSE® Observability.
Criar tokens de serviço
|
Os StackPacks Open Telemetry e Kubernetes permitem que você crie um sujeito e um token de serviço com todas as permissões necessárias configuradas. |
Para criar um token de serviço para SUSE® Observability, você pode usar o sts CLI.
sts service-token create
|
Observe que o token de serviço será exibido apenas uma vez. Não é possível ver o token novamente. |
Este comando aceita os seguintes argumentos de linha de comando:
| Flag | Descrição |
|---|---|
|
O nome do token de serviço |
|
A data de expiração do token de serviço, o formato é yyyy-MM-dd. A expiração é opcional. |
|
Uma lista de funções separadas por vírgula a serem atribuídas ao token de serviço |
Por exemplo, o comando abaixo criará um token de serviço com o nome my-service-token e a função stackstate-k8s-troubleshooter:
> sts service-token create --name my-service-token --roles stackstate-k8s-troubleshooter
✅ Service token created: svctok-aaaaa-bbbb-ccccc-ddddd
Configurar um token de serviço para inicializar
Ao instalar SUSE® Observability, é possível inicializá-lo com um token de serviço (temporário). Isso permite usar a CLI sem primeiro interagir com SUSE® Observability e obter um token de API pela interface do usuário. Para fazer a configuração disso, adicione o seguinte trecho ao arquivo de configuração SUSE® Observability:
Para configurar o SUSE® Observability para criar um token de serviço para inicializar no Kubernetes, adicione os seguintes valores ao arquivo authentication.yaml. Por exemplo:
stackstate:
authentication:
serviceToken:
bootstrap:
token: <token>
roles:
- stackstate-admin
ttl: 24h
Siga os passos abaixo para configurar o SUSE® Observability e criar um token de serviço para inicializar:
-
Em
authentication.yaml– adicione o token de serviço para inicializar:-
token - O token que é criado na inicialização de SUSE® Observability.
-
roles - Um array de funções atribuídas ao token de serviço para inicializar.
-
ttl - Opcional. O tempo de vida do token de serviço, expresso como uma string de duração.
-
-
Armazene o arquivo
authentication.yamljunto com ovalues.yamldas instruções de instalação do SUSE® Observability. -
Execute um upgrade do Helm para aplicar as mudanças.
helm upgrade \ --install \ --namespace suse-observability \ --values values.yaml \ --values authentication.yaml \ suse-observability \ suse-observability/suse-observability
|
Configure o token de serviço para inicializar a partir de um segredo externo.
Em vez de especificar o token de serviço para inicializar através dos valores do Helm, você também pode ler o token de serviço para inicializar de um segredo que é criado e gerenciado fora do Helm chart (um segredo externo). Para usar um token de serviço para inicializar de um externo, siga estes passos e adicione os seguintes dados:
kind: Secret
metadata:
name: "<custom-secret-name>"
type: Opaque
data:
bootstrap_token: <base64 of token>
Este token pode ser adicionado ao segredo juntamente com os dados já existentes.
Usar tokens de serviço
Você usa tokens de serviço para autenticar ao usar as APIs de Observabilidade do SUSE: * Ao usar o CLI * Ao usar as APIs HTTP diretamente * Ao ingerir dados de telemetria
SUSE Observability sts CLI
Um token de serviço é usado para autenticação com o sts CLI. Para obter mais informações, consulte a documentação do CLI.
APIs de Observabilidade do SUSE
Para usar um token de serviço para se comunicar diretamente com a API de Observabilidade do SUSE, adicione-o ao cabeçalho da solicitação de uma das seguintes maneiras:
-
No cabeçalho
Authorization:> curl -X GET -H "Authorization: ApiKey <TOKEN>" http://localhost:8080/api/server/status -
No cabeçalho
X-API-Key:> curl -X GET -H "X-API-Key: <TOKEN>" http://localhost:8080/api/server/status
Ingestão de Dados de Telemetria
Para criar um token de serviço para ingestão de dados de telemetria, você precisa primeiro criar uma função:
> 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
Se você quiser usar o token de serviço para ingerir dados de RBAC do Kubernetes, você também precisa 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
Isso criará uma nova função no SUSE Observability chamada my-agent e concederá a permissão update-metrics. Você pode então criar um token de serviço para esta função:
> sts service-token create --name my-agent --roles my-agent
✅ Service token created: svctok-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
O token de serviço recém-criado pode ser usado como a chave da API para autenticação de dados de telemetria de:
-
SUSE® Observability Agente (incluindo Agente RBAC)