Skip to content

会话管理

404tk edited this page Apr 29, 2026 · 3 revisions

场景定位

sessions 命令用于管理缓存的云账号凭据会话(落盘在 ~/.config/cloudtoolkit/config.json,文件 0600、目录 0700)。目的是让一次授权拿到的凭据可以在后续验证轮次中快速恢复,而不需要重复粘贴 AK/SK。

⚠️ 责任使用:凭据缓存文件含明文 AK/SK(Azure 的 ClientSecret、GCP 的 Service Account JSON 等),请严格按账号所属的合规政策管理宿主机的访问权限,验证结束后用 sessions -k 清理不再使用的条目。

首次录入凭据

凭据在 run 执行(并通过 Caller Identity 校验)后自动写入缓存:

ctk > use aws
ctk > aws > show options

Name      	Current Setting
----      	---------------
accesskey
payload        	cloudlist
provider       	aws
region         	all
secretkey
token
version        	Global
ctk > aws > set accesskey AKIAIOSFODNN7EXAMPLE
accesskey => AKIAIOSFODNN7EXAMPLE
ctk > aws > set secretkey wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
secretkey => wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
ctk > aws > run

列出已缓存的会话

ctk > sessions
+----+-------------------------------+--------------------------------------+----------+------+
| ID |             User              |              AccessKey               | Provider | Note |
+----+-------------------------------+--------------------------------------+----------+------+
| 1  |             demo              |         AKIAIOSFODNN7EXAMPLE         |   aws    |      |
+----+-------------------------------+--------------------------------------+----------+------+

恢复会话

ctk > sessions -i 1

校验凭据

ctk > sessions -c 1       # 仅校验指定 ID
ctk > sessions -c         # 或 `sessions -c all`:校验全部缓存

校验失败的条目通常意味着凭据已被云侧吊销或策略变更,可结合 note 命令标记处置状态。

标注备注

给某个会话加一段说明,便于后续识别环境归属(例如"lab-aws / 客户 X 的 POC 账号 / 仅用于 Q2 检测验证"):

ctk > note 1 lab-aws

备注会体现在 sessions 列表的 Note 列。Note 同时是 无人值守模式-P <profile> 的查找键,给会话起个易记的名字(如 lab-awspoc-customerX)后,shell 里就能 ctk aws ls -P lab-aws 直接跑。

删除凭据

不再使用的凭据应及时删除以降低泄露面:

ctk > sessions -k 1

清理完整缓存可直接退出 REPL 前 rm ~/.config/cloudtoolkit/config.json(ctk 不提供一键清空命令,避免误操作)。

Clone this wiki locally