主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

处理已部署 App 中的敏感信息

自 R2024a 起

您可以将敏感信息(例如密码)作为机密存储在 MATLAB® 保管库中,从而提高应用程序代码的安全性。

当您在 MATLAB 中设置一个机密值时,它会存储在您本地的 MATLAB 保管库中。MATLAB 保管库为机密提供加密和持久存储。您的保管库和机密在 MATLAB 会话中仍然存在。您可以使用 setSecret 函数将机密存储在您的 MATLAB 保管库中,并使用 listSecrets 列出当前存储的机密。

机密可以是您想要以加密形式安全存储的任何敏感信息。每个机密由一个名称、一个值以及可选的元数据组成。

  • 机密名称 - 机密的唯一区分大小写的文本标识符。机密名称以未加密的形式存储在您的保管库中,作为字符串标量。

  • 机密值 - 与机密关联的文本值。您可以在“机密提示”对话框中输入机密值,该对话框支持复制粘贴功能。机密值使用行业标准 AES-256 加密技术加密存储在您的保管库中。机密值以字符串标量的形式返回。

  • 机密元数据 - 包含与机密相关的附加信息的字典。元数据可以帮助机密的识别、使用和生命周期管理。可选的机密元数据以未加密的形式存储在您的保管库中。

例如,此机密包含以下数据库凭据:

  • 机密名称 - "databasePassword"

  • 机密值 - "CpyA/&qRFzB2$X*jf"

  • 机密元数据 - 包含 3 个条目的字典 (string ⟼ cell):

    "databaseName"{["productionDB"]}

    "host" {["db.example.com"]}

    "port"{["5432"]}

有关机密和 MATLAB 保管库的详细信息,请参阅Keep Sensitive Information Out of Code

打包包含机密的代码

如果您要部署的 MATLAB 代码处理敏感信息,您可以使用应用程序代码中的 getSecret 函数来检索机密值,该值在运行时解密。

这些管理机密的函数是可部署的:

所有其他机密管理函数(包括 setSecret)均不可部署。

可部署存档中的软件包机密

您可以通过在可部署存档中包含机密,在独立 App 中使用 MATLAB 保管库提供的功能。

要将机密与独立 App 打包在一起,您可以使用 mcc -J 选项在机密清单 JSON 文件中指定机密名称。您还可以在编译器 App 的其他运行时设置区域中使用 -J 标记。

您可以使用 SecretsManifest 选项通过 compiler.build 函数指定机密清单文件。 (自 R2024b 起)

为了让 MATLAB Compiler™ 从您的本地 MATLAB 保管库中检索机密并在编译时将它们嵌入到可部署代码存档中,您必须在 MATLAB 中调用 setSecret 将每个机密存储在您的保管库中,然后再打包您的代码。

有关创建使用机密的独立应用程序的示例,请参阅访问独立应用程序中的敏感信息

将机密值存储为环境变量

作为将机密打包到存档中的替代方法,您可以将机密值存储在目标平台上的环境变量中。例如,如果您部署的代码在容器中运行,则可以在创建容器实例时设置环境变量。使用 getSecret 函数访问存储在环境变量中的机密,并将环境变量名称指定为机密名称。

如果您的保管库中存储的机密与环境变量共享名称,则 getSecret 会检索该环境变量的值。

MATLAB Web App Server 上访问机密

MATLAB Web App Server™ 上,机密存储在服务器保管库中。要在 Web App 中检索和使用机密,请调用 App 代码中的 getSecret 函数。

Web App 服务器管理员可以添加、删除或修改存储在服务器保管库中的机密。要管理 MATLAB Web App Server 上的机密,管理员可以使用以下选项之一:

注意

安全注意事项:MATLAB Web App Server 上,保管库文件由具有读写权限的 Web App 服务器管理员配置。Web App 工作进程无权访问此文件。服务器进程具有读取权限。

MATLAB Web App Server 还提供定义基于属性的访问控制规则的功能。这些规则使经过身份验证的个人能够从服务器保管库中检索机密。

通过激活基于策略的服务器上的机密访问,服务器管理员可以为个人用户定制机密访问配置。此功能对于管理跨各种 App 及其各自用户群的机密很有用。它允许 Web App 在运行时访问机密值,例如,根据每个用户检索唯一的凭据。

有关机密访问控制的信息,请参阅控制 MATLAB Web App Server 中的机密访问 (MATLAB Web App Server)

另请参阅

| | | (MATLAB Web App Server)

主题