文档

服务客户端 CLI 命令

创建服务客户端,添加和移除密钥与机密,并可吊销:供服务器、脚本和 CI 作业登录使用。

这里的每个命令都按 CLI 参考所述运行:全局标志、JSON 输出、退出代码、修订和重试。

服务客户端

服务客户端是项目拥有的服务器、脚本或 CI 作业,使用自己的私钥或密钥登录,而非经由某人批准。要创建或更改客户端,智能体需要带有 identity 作用域的身份管理权限、自身在目标项目中获授的包含 project 能力的管理权限,以及一名已验证且管理该项目所属组织的负责人。服务客户端永远不能管理客户端。要以该客户端身份运行命令,请运行一次 screenrig --config PATH login --client-id scl_ID --client-key-file KEY.pem(或 --client-secret-file FILE)并使用该配置;screenrig logout 移除已保存的客户端。详见 服务客户端。

service-client list#

列出该项目的服务客户端,包括有效和已撤销的,及其密钥、秘密 ID 和使用情况。

service-client list

无参数。

screenrig service-client list

永不返回秘密。

service-client show#

显示一个服务客户端。

service-client show ID
参数类型必填默认备注
IDstring是无客户端 ID,scl_…。
screenrig service-client show scl_ID

列出每个密钥的 kid 和每个秘密的 css_ ID 以便轮换。

service-client create#

创建此项目拥有的服务客户端。

service-client create --name NAME [--capability NAME]... [--access read|propose|manage]
                      [--uploader --folder-id IDS [--playlist-id IDS]] [--key-file PATH] [--secret-file PATH]
参数类型必填默认备注
--name NAMEstring是无1 到 80 个字符。
--capability NAMEstring否全部六个可重复:screens、content、playlists、advertising、reports、project,均在你的范围内。
--access LEVELstring否读取read,propose 或 manage;上传者使用 propose。propose 将播放列表和屏幕更改发送给某人的 审核。
--uploaderboolean否关闭将客户端限制在 --folder-id 和 --playlist-id 指定的媒体文件夹和播放列表。
--folder-id IDSstring配合 --uploader无客户端上传到的、以逗号分隔的 mfd_ 媒体文件夹;至少一个。
--playlist-id IDSstring否无与 --uploader 一起使用:客户端更改其页面的、以逗号分隔的 pl_ 播放列表。
--key-file PATH路径以下之一无一个 JWK 或 PEM:Ed25519、EC P-256 或至少 2048 位的 RSA。仅发送公钥部分。
--secret-file PATH路径以下之一无生成密钥并写入此新的 0600 文件。仅显示一次。
screenrig service-client create --name "Nightly report" --access read --capability reports --key-file screenrig-client.pem
screenrig service-client create --name "Agency agent" --uploader --folder-id mfd_01EXAMPLEFOLDER000000000 --playlist-id pl_01EXAMPLEPLAYLIST000000 --secret-file agency.secret

需要上述身份、项目和组织管理员权限。上传者只能在其文件夹和播放列表中工作:它向其中上传媒体,并添加、替换和移除这些播放列表的页面,其他任何操作均为 outside_upload_scope。每个组织跨其所有项目最多有 50 个有效客户端。没有自身 kid 的密钥通过其 RFC 7638 指纹识别。

service-client add-key#

注册第二个公钥以实现无停机轮换。

service-client add-key ID --key-file PATH
参数类型必填默认备注
IDstring是无客户端 ID。
--key-file PATH路径是无新公钥,JWK或PEM格式。
screenrig service-client add-key scl_ID --key-file new.pem

客户端最多持有两个密钥。

service-client add-secret#

生成第二个密钥以实现无停机轮换。

service-client add-secret ID --secret-file PATH
参数类型必填默认备注
IDstring是无客户端 ID。
--secret-file PATH路径是无一个新的 0600 文件接收密钥。
screenrig service-client add-secret scl_ID --secret-file new-secret

客户端最多持有两个密钥。当前密钥在移除前持续有效。

service-client remove-key#

移除密钥;使用该密钥签发的令牌将在几秒内失效。

service-client remove-key ID --kid KID
参数类型必填默认备注
IDstring是无客户端 ID。
--kid KIDstring是无来自 service-client show 的键ID。
screenrig service-client remove-key scl_ID --kid KID

客户端至少保留一个密钥或密钥。

service-client remove-secret#

移除密钥秘密;使用该秘密签发的令牌将在几秒内失效。

service-client remove-secret ID --secret-id css_ID
参数类型必填默认备注
IDstring是无客户端 ID。
--secret-id IDstring是无来自 service-client show 的 css_ 密钥 ID。
screenrig service-client remove-secret scl_ID --secret-id css_ID

客户端至少保留一个密钥或密钥。

service-client revoke#

永久撤销服务客户端。

service-client revoke ID --yes
参数类型必填默认备注
IDstring是无客户端 ID。
--yesboolean是关闭确认永久撤销。
screenrig service-client revoke scl_ID --yes

删除其密钥和秘密;其令牌在几秒内停止工作。记录保留以供审计。

其他命令组