管理测试过程中的凭证

概述:

凭证是测试过程中使用的关键数据。它们不仅对测试结果至关重要,而且要求高度的安全性和保密性。Testany平台的Testany Secrets Service(TSS)确保了凭证在整个测试过程中的端到端保护,防止其在存储、检索和执行时泄露。

理解 Testany Secrets Service

TSS定义(又称TSS):Testany Secrets Service 是一项专门的服务,设计用于从受信任的凭证保管库(如Azure Key Vault和AWS Secrets Manager)中获取机密信息。它支持安全检索敏感信息,如密钥和证书,确保数据的安全性并符合行业标准。该服务通过接收请求来提取由密钥标识的特定机密信息,并以请求的数据进行响应,从而在安全信息管理中发挥关键作用。

在Testany平台的设计中,TSS与测试执行运行时模块(Execution Runtime) 采用一对多的关系集成。测试凭证的管理取决于运行时的部署方式,无论是Testany托管云还是用户自托管云。

如果您有一些需要在测试用例中使用的安全数据,如凭证,您可以使用Testany Secrets Service,通过凭证保管库在执行过程中启用测试检索凭证/安全数据。

管理凭证保管库

ℹ️

本章节主要面向负责管理测试凭证的工作区管理员。其他角色也可将其作为参考资料使用。

理解"凭证保管库"的概念

在Testany平台的设计中,所有用于测试的凭证必须且只能存储在符合所有相关信息安全法律法规的第三方服务提供的安全位置中。这些第三方服务可以是IaaS或SaaS提供商。

目前,与Testany Secrets Service集成的凭证存储包括:

  • AWS Secrets Manager

  • Azure Key Vault

为了确保在自动化测试执行过程中,运行测试程序能够安全且自动地读取存储在第三方凭证存储中的凭证,并防止凭证在整个测试生命周期中的泄露,测试用例作者应当在用例的 Environment variables 中以 Secret 类型引用这些凭证。有关详细步骤,请参阅管理测试用例保护测试中需要使用的凭证

因此,"凭证保管库"是一个虚拟对象,表示Testany平台上第三方凭证存储,而"凭证"也是一个虚拟对象,代表存储在该凭证存储中的凭证。

创建"凭证保管库"

在开始之前…

确保您拥有需要创建凭证保管库的工作区的管理员权限。

为即将创建的凭证保管库对应的第三方凭证存储创建TSS访问权限(可以通过用户名和密码或IAM方法)。

分步骤指南

点击 Workspace settings

image-20240229-102643.png

导航到"Credential"标签页,选择需要与将要创建的凭证保管库关联的运行时(Runtime)

image-20240621-060023.png

点击 "Add credential safe" 按钮

image-20240621-060218.png

  • 当你选择的运行时(Runtime)是 "CloudPrime-Default"时

提供所需相应信息并点击 "Submit"

image-20240229-104427.png

  • 当你选择的运行时(Runtime)不是 "CloudPrime-Default"时

你会被要求提供凭证保管库的名称和URL

image-20240621-060613.png

创建完成后,您将获得一个凭证保管库键值(key),该键值用于标识该凭证保管库。测试用例作者通常会在界面中通过下拉选择它;在管理员排查工作区凭证配置时,也可能会用到该键值。

image-20240229-104526.png

更新"凭证保管库"

您可以通过点击此处编辑现有凭证保管库的名称和URL:

image-20240621-092155.png

请注意,凭证保管库的键值(key)是不允许被修改的。

删除凭证保管库

您可以通过点击此处删除现有的凭证保管库:

📝

如果您删除一个凭证保管库,保管库下创建的所有凭证也将被删除。所有引用这些凭证的测试将立即受到影响。

image-20240621-092518.png

在凭证保管库下管理凭证密钥

ℹ️

凭证密钥是存储在您管理的凭证保管库中的凭证名称。

您需要在一个凭证保管库下提供密钥名称。创建完成后,测试用例作者就可以在 Environment variables -> Secret 中引用它,并在多个测试用例中复用。

在您的凭证存储(Azure Key Vault 或 AWS Secrets Manager)中添加凭证

Plain Text
az keyvalult secret set --vault-name <YOUR-VAULT-NAME> --name client-secret --value <YOUR-SECRET-VALUE>

在Testany平台中添加凭证

点击"+"按钮,添加您将在凭证保管库中创建的密钥名称。

  • 凭证名称:这是凭证密钥名称的显示名称。

  • 类型:这是凭证的类型(key/secret/certificate)。

  • 键值:这是凭证的密钥名称。它必须与您在"在凭证存储中添加凭证"步骤中创建的键值(如client-secret)名称相同。

image-20240229-105605.png

更新凭证键值

通过点击"编辑"按钮,您可以编辑凭证密钥信息:

image-20240621-092832.png

删除凭证键值

通过点击"删除"按钮,您可以删除您选择的凭证键值。请注意,所有引用该凭证键值的测试用例将立即受到影响。

image-20240621-093112.png

下一步

完成凭证保管库和凭证密钥的设置后,开发者通常会通过以下方式使用这些凭证:

  • 在测试用例的 Environment variables 中新增 Secret 类型条目并引用它。
  • 在需要批量调整时,通过批量管理测试用例统一追加或替换 Secret 引用。
  • 在测试代码中调用 Testany Secrets Service API 获取凭证值。

具体操作请参阅《保护测试中需要使用的凭证》

还有疑问?

我们的团队随时为您服务。欢迎联系我们,我们会尽快回复。