我正在使用 Azure 机器学习服务和管道功能来准备、训练和测试我的机器学习模型。但是,在我的数据准备步骤中,我需要连接到数据库,并且我想找到一种方法来传递我的秘密密码或密钥,而无需将它们以纯文本形式写入我的脚本文件中。
在本地,我使用环境变量来使用秘密密码和密钥,但据我所知,这在管道基础设施中是不可能的,因为 Conda 不支持传递环境变量。如果有人可以确认或否认这一点,那将很有帮助。
在 Azure 门户的 Azure 机器学习服务中,我找到了一个“密钥库”资源,它是在我创建“机器学习服务工作区”资源时自动创建的。这似乎正是我所需要的。是吗?如果是这样,我该如何使用它?
如果以上都不能解决我的问题,有没有其他方法可以安全地在我的脚本中使用秘密密码和密钥,而不用在脚本中以纯文本形式编写它们?
编辑:我意识到我的问题非常关注数据库连接。但是,问题实际上是关于任何类型的秘密或密码,而不仅仅是数据库凭据。正如答案中所指出的,这里可能值得一提的是,Azure SQL 数据库连接可以(并且应该)使用DataTransferStep来解决。