如何解决如何在Azure功能代码中保护PROD机密?
如果没有开发人员在Azure函数中扮演Contributor
角色的情况下,有人可以阐明如何将机密写入PROD代码,这将对我有极大帮助。
缩写:
- “ SAMI” =系统分配的托管身份
- “ Ent Sec” =企业安全团队
流量(改编自this Azure Key Vault Doc):
- Ent Sec团队将机密上传到DEV KeyVault并为开发人员提供DEV Secret参考
- Ent Sec团队将SAMI添加到KeyVault访问策略中(开发人员不在访问策略中)
- Developer将DEV Secret参考添加到Azure Function应用设置(通过Azure门户中的
local.settings.json
或App Settings
) - 开发人员使DEV代码端到端运行
视觉:
问题:
- 这对PROD代码如何起作用?
- 如果开发人员在PROD Azure函数代码上具有
Contributor
角色,则所有秘密都是可见的;这会否定Azure密钥保管库访问策略(仅允许App SAMI访问)和Azure密钥保管库秘密引用的使用。
- 如果开发人员在PROD Azure函数代码上具有
- 还有其他可以授予开发人员的角色吗?
- Ent Sec是否负责将PROD机密添加到PROD代码中?
- 是否有一个DevOps管道根据ENV“注入”正确的秘密?
解决方法
虽然我不了解您的整个设置...通过使用KeyVault引用的应用程序设置,https://docs.microsoft.com/en-us/azure/app-service/app-service-key-vault-references
应该相当容易开发者可能有权访问应用设置,但只会看到类似以下内容的内容:@Microsoft.KeyVault(SecretUri=https://myvault.vault.azure.net/secrets/mysecret/ec96f02080254f109c51a1f14cdb1931)
只有App Service / Function App的托管身份需要在Key Vault中具有访问策略。如果开发人员没有,他们将无法看到实际的秘密。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。