|
この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。 |
サービス トークン
概要
サービス トークンを使用することで、関連付けられたユーザー アカウントなしで SUSE Observability に認証することが可能です。これは、CI サーバーのようなヘッドレス サービスから SUSE Observability を使用したい場合に便利です。そのようなシナリオでは、通常、アイデンティティ プロバイダーにユーザー アカウントをプロビジョニングしたくありません。
サービス トークンの管理
サービス トークンは、sts CLI を介して管理できます。以下のコマンドが利用可能です:
> 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.
インストール時に 起動用サービストークンを設定する SUSE® Observability ことも可能です。
サービス トークンの作成
|
Open Telemetry および Kubernetes StackPacks を使用すると、必要な権限が設定されたサブジェクトとサービス トークンを作成できます。 |
SUSE® Observability のサービス トークンを作成するには、sts CLI を使用できます。
sts service-token create
|
サービス トークンは一度だけ表示されることに注意してください。トークンを再度表示することはできません。 |
このコマンドは、以下のコマンドライン引数を取ります:
| フラグ | 説明 |
|---|---|
|
サービス トークンの名前 |
|
サービス トークンの有効期限、形式は yyyy-MM-dd です。有効期限はオプションです。 |
|
サービス トークンに割り当てる役割のカンマ区切りリスト |
例えば、以下のコマンドは、名前 my-service-token と役割 stackstate-k8s-troubleshooter のサービス トークンを作成します:
> sts service-token create --name my-service-token --roles stackstate-k8s-troubleshooter
✅ Service token created: svctok-aaaaa-bbbb-ccccc-ddddd
起動用サービストークンを設定します。
SUSE® Observabilityをインストールする際、(一時的な)起動用サービストークンで起動することが可能です。これにより、SUSE® Observabilityと最初に対話してUIからAPIトークンを取得することなくCLIを使用できます。これを設定するには、次のスニペットをSUSE® Observabilityの設定ファイルに追加してください:
Kubernetes上で起動用サービストークンを作成するようにSUSE® Observabilityを設定するには、ファイル`authentication.yaml`に次の値を追加する必要があります。次に例を示します。
stackstate:
authentication:
serviceToken:
bootstrap:
token: <token>
roles:
- stackstate-admin
ttl: 24h
以下の手順に従って、SUSE® Observabilityを起動用サービストークンを作成するように設定してください:
-
authentication.yaml- 起動用サービストークンを追加します:-
token - SUSE® Observabilityの(初期)開始時に作成されるトークンです。
-
roles - 起動用トークンに割り当てられたロールの配列です。
-
ttl - オプションです。サービストークンの有効期限を、期間文字列として表現します。
-
-
ファイル`authentication.yaml`をSUSE® Observabilityのインストール手順の`values.yaml`と一緒に保存してください。
-
Helm upgradeを実行して変更を適用します。
helm upgrade \ --install \ --namespace suse-observability \ --values values.yaml \ --values authentication.yaml \ suse-observability \ suse-observability/suse-observability
|
外部シークレットから起動用サービストークンをセットアップします。
Helmの値を介して起動用サービストークンを指定する代わりに、Helmチャートの外部で作成および管理されるシークレットから起動用サービストークンを読み取ることもできます(外部シークレット)。外部シークレットから起動用サービストークンを使用するには、これらの手順に従い、次のデータを追加してください:
kind: Secret
metadata:
name: "<custom-secret-name>"
type: Opaque
data:
bootstrap_token: <base64 of token>
このトークンは、既存のデータが入っているシークレットに追加できます。
サービス トークンの使用
サービストークンは、SUSE Observability APIsを使用する際の認証に使用します:
* CLIを使用する場合
* HTTP APIsを直接使用する場合
* テレメトリデータを取り込む場合
SUSE Observability sts CLI
サービス トークンは、sts CLIを使用した認証に用いられます。詳細については、CLIドキュメントを参照してください。
SUSE Observability APIs
サービストークンを使用してSUSE Observability APIsに直接アクセスするには、リクエストのヘッダーに追加します:
-
Authorizationヘッダーに:> curl -X GET -H "Authorization: ApiKey <TOKEN>" http://localhost:8080/api/server/status -
X-API-Keyヘッダーに:> curl -X GET -H "X-API-Key: <TOKEN>" http://localhost:8080/api/server/status
テレメトリデータの取り込み
テレメトリデータの取り込み用のサービストークンを作成するには、まず役割を作成する必要があります:
> 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
サービス トークンを使用してKubernetes RBACデータを取り込む場合、さらに`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
これにより、SUSE Observability内に`my-agent`という新しい役割が作成され、`update-metrics`の権限が付与されます。この役割のためにサービストークンを作成できます:
> sts service-token create --name my-agent --roles my-agent
✅ Service token created: svctok-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
新しく作成されたサービストークンは、次のテレメトリデータの認証のためのAPIキーとして使用できます:
-
SUSE® Observability エージェント(RBACエージェントを含む)