用途:在 MATLAB 中安全处理 API 密钥、令牌、密码和 SSH 密钥口令,使用内置的加密存储 MATLAB Vault,而不是把凭据硬编码进代码。适用于连接任何需要认证的服务(REST API、数据库、云存储、SFTP/FTP、消息队列),以及处理凭据的 CI、批处理或定时任务。
主要能力:setSecret 交互式添加密钥(只传名称,值由提示输入,Overwrite=true 可更新轮换);getSecret 读取值;isSecret 检查是否存在;listSecrets 列出名称;removeSecret 删除(无 deleteSecret);setSecretMetadata/getSecretMetadata 读写元数据(如过期时间);secretID 生成只含名称的引用对象,可被 weboptions 和 matlab.net.http.Credentials 接受;importSecrets 从文件批量导入(无提示,适合 CI/无头环境)。
使用方式:单条密钥用 setSecret("MyApiToken") 存储,使用时 getSecret("MyApiToken") 读取;批量或 CI 场景用 importSecrets("secrets.env");需要传递凭据时携带 secretID 引用而非明文值。REST 调用可把令牌放入 Authorization 头,或把 secretID 交给 weboptions 的 Password 参数;SFTP 用 PrivateKeyPassphrase=getSecret(...) 或 Password=getSecret(...);数据库连接在连接时读取密码;云存储可从 Vault 取值设置 SDK 环境变量,或直接依赖 IAM 角色。
限制与注意:setSecret 仅支持交互式,不能用于无头任务;密钥名称区分大小写;不要用 save() 把凭据写入 .mat 文件;环境变量在凭据本身就是进程环境变量时(CI 注入、云 SDK 约定)是正确做法。第三方密钥管理器(HashiCorp Vault、AWS Secrets Manager、Azure Key Vault)不在范围内。相关函数自 R2024a 起可用,secretID 自 R2025a,importSecrets 自 R2026a。