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

APIトークンの使用

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 v2.8.0では、Rancher Kubernetes APIが導入され、`kubectl`を使用してRancherリソースを管理できます。このページでは、Rancher CLIkubeconfigファイル、Terraform、およびv3 APIブラウザで使用するAPIトークンについて説明します。

デフォルトでは、いくつかのクラスターレベルのAPIトークンが有効期限が無期限で生成されます(ttl=0)。言い換えれば、`ttl=0`が設定されているAPIトークンは、無効にしない限り期限切れになりません。パスワードを変更してもトークンは無効になりません。

APIトークンは、削除またはユーザーアカウントの無効化によって無効化できます。

トークンの削除

トークンを削除するには:

  1. `\https://<Rancher-Server-IP>/v3/tokens`のRancher APIビューで、すべてのトークンのリストに移動します。

  2. 削除したいトークンのIDでアクセスします。例えば、https://<Rancher-Server-IP>/v3/tokens/kubectl-shell-user-vqkqt

  3. *削除*をクリックします。

以下は、`ttl=0`で生成されたトークンの完全なリストです:

トークン 説明

kubectl-shell-*

ブラウザでの`kubectl`シェルへのアクセス

agent-*

エージェントデプロイメント用のトークン

compose-token-*

コンポーズ用のトークン

helm-token-*

Helmチャートデプロイメント用のトークン

drain-node-*

ドレイン用のトークン(Rancherは、ネイティブKubernetes APIがないため、ドレインに`kubectl`を使用しています)。

KubeconfigトークンのTTLの設定

管理者は、Kubeconfigトークンに対してグローバルなTTL(有効期限)を設定できます。デフォルトのkubeconfig TTLの変更は、グローバル設定に移動し、kubeconfig-default-token-ttl-minutesを希望の分数に設定します。Rancher v2.8以降、kubeconfig-default-token-ttl-minutesのデフォルト値は`43200`です。これはトークンが30日で期限切れになることを意味します。

この設定は、CLIでkubeconfigトークンを生成する場合を除き、すべてのkubeconfigトークンで使用されます。

生成されたKubeconfigでのトークンの無効化

`kubeconfig-generate-token`を`false`に設定します。この設定により、ユーザーがkubeconfigファイルをダウンロードする際に、Rancherがトークンを自動的に生成しなくなります。この設定が無効化されると、生成されたkubeconfigは、クラスターの短期間有効なトークンを取得するためにRancher CLIを参照します。このkubeconfigが`kubectl`のようなクライアントで使用されると、ログイン要求を完了するためにRancher CLIをインストールする必要があります。

トークンのハッシュ化

トークンのハッシュ化を有効にするを選択すると、トークンはSHA256アルゴリズムを使用して一方向のハッシュ処理を受けます。これは非可逆的な処理です。一度有効にすると、この機能は無効にできません。この設定を有効にする前に、まずテスト環境で評価し、バックアップを取るべきです。

この機能は、以下を含むがこれに限定されないすべてのトークンに影響を与えます:

  • Kubeconfigトークン

  • ベアラートークンAPIキー/コール

  • 内部操作で使用されるトークン

トークン設定

これらのグローバル設定は、Rancherのトークンの動作に影響を与えます。

設定 説明

auth-user-session-ttl-minutes

ユーザー認証セッショントークンのTTL(分単位)。

auth-user-session-idle-ttl-minutes

ユーザーの活動がない場合のユーザー認証セッショントークンのTTL(分単位)。

kubeconfig-default-token-ttl-minutes

Rancher CLIによって生成されたトークンを除くすべてのkubeconfigトークンに適用されるデフォルトTTL。

auth-token-max-ttl-minutes

すべてのトークンの最大TTLは、auth-user-session-ttl-minutesによって制御されるトークンを除きます。

kubeconfig-generate-token

真の場合、ユーザーがkubeconfigをダウンロードするときにトークンが自動的に生成されます。

auth-user-session-ttl-minutes

ユーザー認証セッショントークンが期限切れになる時期を決定するために使用される、分単位の有効期限(TTL)です。期限切れになると、ユーザーは再度ログインして新しいトークンを取得する必要があります。この設定はauth-token-max-ttl-minutesの影響を受けません。セッショントークンは、ユーザーがRancherにログインするときに作成されます。

auth-user-session-idle-ttl-minutes

ログインセッショントークンのユーザーアクティビティなしの有効期限(TTL)、分単位です。 デフォルトでは、auth-user-session-idle-ttl-minutes`は`auth-user-session-ttl-minutesと同じ値に設定されています(後方互換性のため)。この値は`auth-user-session-ttl-minutes`を超えてはなりません。

kubeconfig-default-token-ttl-minutes

kubeconfigトークンが期限切れになる時期を決定するために使用される、分単位の有効期限(TTL)です。トークンが期限切れになると、APIはトークンを拒否します。この設定はauth-token-max-ttl-minutesより大きくすることはできません。この設定は、要求されたkubeconfigファイルで生成されたトークンに適用されますが、Rancher CLIによって生成されたトークンは除きます。Rancher v2.8以降、デフォルトの有効期限は`43200`であり、これはトークンが30日で期限切れになることを意味します。

auth-token-max-ttl-minutes

認証トークンに許可される最大有効期限(TTL)、分単位です。ユーザーが`auth-token-max-ttl-minutes`より大きなTTLを持つトークンを作成しようとした場合、RancherはトークンのTTLを`auth-token-max-ttl-minutes`の値に設定します。すべてのkubeconfigトークンおよびAPIトークンに適用されます。Rancher v2.8以降、デフォルトの有効期限は`129600`であり、これはトークンが90日で期限切れになることを意味します。

kubeconfig-generate-token

真の場合、UIを通じて要求されたkubeconfigには有効なトークンが含まれます。偽の場合、kubeconfigにはユーザーにログインを促すためにRancher CLIを使用するコマンドが含まれます。CLIはその後、ユーザーのためにトークンを取得してキャッシュします.
cli/kubectl.adoc#_authentication_with_kubectl_and_kubeconfig_tokens_with_ttl[CLIはその後、ユーザーのためにトークンを取得してキャッシュします].