背景
我正在尝试自学 Azure 的一些基本知识。我有几个域,现在在 Azure 上托管它们的 DNS。从那里,我为其中一个域 ( fn-app-01.[mydomain] ) 创建了一个子域,我想将其与一个函数应用程序关联。我还想使用 letsencrypt 证书将 SSL 证书绑定到这个函数应用程序。
我在用着https://github.com/shibayan/keyvault-acmebot来处理生成 letsencrypt 证书,并且我已经让它全部工作了(假设我无论如何都会这样做),因为我能够为 fn-app-01.[mydomain] 生成证书并且可以在密钥保管库中看到它:
当我尝试将证书绑定到功能应用程序时出现问题。
问题
当我尝试从密钥保管库导入证书时,出现以下导入错误:
我正在使用 RBAC,并已将以下角色分配给密钥保管库中的函数应用程序。
功能应用程序的当前角色:
因此,我有点不知道如何从这里继续以及如何解决将证书绑定到函数应用程序的问题。我在这里遗漏了一些明显的东西吗?这些不是我的函数应用程序能够从密钥库导入证书所需的正确角色吗?
答案1
经过进一步的研究后,dirkt 的评论是正确的。
我的解决方案基本上是使用保险库访问策略而不是 RBAC:
- 在密钥保管库中,转到“设置”->“访问策略”
- 更改权限模型设置使用
Vault access policy
- 添加新的访问策略
- 添加证书权限
Get
和List
- 引用要为其导入证书的函数应用作为主体
- 添加证书权限
进行上述更改后,我能够将我的 SSL 证书添加/绑定到与我的功能应用程序关联的自定义域。