この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。

トークン

Deprecation of v3 API tokens

Rancher v2.13 introduced a new token resource in the ext.cattle.io API group to serve as the public API for tokens, which was only accessible through kubectl.

Starting with Rancher v2.14.1:

  • Legacy v3 API tokens (tokens.management.cattle.io) are being phased out and scheduled for removal in a future release. If you currently rely on legacy tokens for automation or API access, transition to the new tokens.ext.cattle.io tokens to ensure continued compatibility.

  • The Rancher dashboard provides basic support for tokens.ext.cattle.io (create, view or list, and delete).

トークンリソース

Rancherには、Rancherとの認証に使用するトークンを生成するための命令型APIリソース`tokens.ext.cattle.io`があります。

kubectl api-resources --api-group=ext.cattle.io

トークンリソースのフィールドと構造の説明を取得するには、次のコマンドを実行してください:

kubectl explain tokens.ext.cattle.io

トークンの作成

トークンの値は`status.value`フィールドに一度だけ返されます。

有効でアクティブなRancherユーザーのみがトークンを作成できます。そうでない場合、トークンを作成しようとするとエラーが表示されます(Error from server (Forbidden)…​)。

kubectl create -o jsonpath='{.status.value}' -f -<<EOF
apiVersion: ext.cattle.io/v1
kind: Token
EOF
Error from server (Forbidden): error when creating "STDIN": tokens.ext.cattle.io is forbidden: user system:admin is not a Rancher user

トークンは常にリクエストを行ったユーザーのために作成されます。異なる`spec.userID`を指定して別のユーザーのためにトークンを作成しようとすることは禁止されており、失敗します。

  • `spec.description`フィールドには、トークンの目的に関する任意の人間が読める説明を設定できます。デフォルト値は空です。

  • `spec.kind`フィールドには、トークンの種類を設定できます。値`session`はログイントークンを示します。他のすべての値(デフォルトの空文字列を含む)は、派生トークンの一種を示します。

  • `metadata.name`および`metadata.generateName`フィールドは無視され、新しいトークンの名前は接頭辞`token-`を使用して自動的に生成されます。

    kubectl create -o jsonpath='{.status.value}' -f -<<EOF
    apiVersion: ext.cattle.io/v1
    kind: Token
    spec:
      description: My Token
    EOF
  • `spec.ttl`が指定されていない場合、トークンは`auth-token-max-ttl-minutes`設定で定義された有効期限で作成されます。デフォルトの有効期限は90日です。`spec.ttl`が指定されている場合、それは0より大きく、`auth-token-max-ttl-minutes`設定のミリ秒で表現された値以下である必要があります。

    kubectl create -o jsonpath='{.status.value}' -f -<<EOF
    apiVersion: ext.cattle.io/v1
    kind: Token
    spec:
      ttl: 7200000 # 2 hours
    EOF

トークンの一覧表示

以前に生成されたトークンの一覧表示は、もはや必要のないトークンを整理するのに役立ちます(例:一時的に発行されたもの)。管理者はすべてのトークンを一覧表示できますが、一般ユーザーは自分のトークンのみを見ることができます。

kubectl get tokens.ext.cattle.io
NAME          KIND   TTL   AGE
token-chjc9          90d   18s
token-6fzgj          90d   16s
token-8nbrm          90d   14s

詳細を取得するには、`-o wide`を使用してください:

kubectl get tokens.ext.cattle.io -o wide
NAME          USER         KIND   TTL   AGE   DESCRIPTION
token-chjc9   user-jtghh          90d   24s   example
token-6fzgj   user-jtghh          90d   22s   box
token-8nbrm   user-jtghh          90d   20s   jinx

トークンの表示

管理者は任意のトークンを取得できますが、一般ユーザーは自分のトークンのみ取得できます。

kubectl get tokens.ext.cattle.io token-chjc9
NAME          KIND   TTL   AGE
token-chjc9          90d   18s

詳細を取得するには、`-o wide`を使用してください:

kubectl get tokens.ext.cattle.io token-chjc9 -o wide
NAME          USER         KIND   TTL   AGE   DESCRIPTION
token-chjc9   user-jtghh          90d   24s   example

トークンの削除

管理者は任意のトークンを削除できますが、一般ユーザーは自分のトークンのみ削除できます。

kubectl delete tokens.ext.cattle.io token-chjc9
token.ext.cattle.io "token-chjc9" deleted

トークンの更新

メタデータフィールドのうち、spec.descriptionspec.ttl、および`spec.enabled`のみが更新可能です。他のすべての`spec`フィールドは不変です。管理者は`spec.ttl`フィールドを拡張できますが、一般ユーザーは値を減少させることしかできません。

トークンを編集するための例`kubectl`コマンド:

kubectl edit tokens.ext.cattle.io token-zp786