You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于ARM模板调用Cosmos DB ListConnectionStrings的权限与访问限制问询

关于ARM模板中Cosmos DB ListConnectionStrings权限及只读密钥限制的问题

我在ARM模板中通过以下代码调用listConnectionStrings获取Cosmos DB的主只读连接字符串(索引2对应该值):

{listConnectionStrings(resourceId(cosmosDBSubscription, cosmosDBResourceGroup,'Microsoft.DocumentDB/databaseAccounts', cosmosdbAccount), '2022-08-15').connectionStrings[2].connectionString}

现咨询两个问题:

  1. 调用Cosmos DB的listConnectionStrings接口需要何种权限?
  2. 是否能够限制仅允许访问只读密钥?

问题1:调用listConnectionStrings接口所需权限

  • 必须拥有Cosmos DB账户资源的Microsoft.DocumentDB/databaseAccounts/listConnectionStrings/action权限,该权限包含在以下内置角色中:
    • 文档账户参与者(DocumentDB Account Contributor)
    • 参与者(Contributor)
    • 所有者(Owner)
  • 若遵循最小权限原则,可创建自定义角色,仅添加上述特定权限即可,无需赋予完整的资源管理权限。

问题2:能否限制仅访问只读密钥?

  • 目前listConnectionStrings接口返回的是全量连接字符串集合(包含主/副读写、主/副只读),没有权限机制可以限制调用者仅能获取只读类的连接字符串。
  • 推荐替代方案:
    • 将只读连接字符串存入Azure Key Vault,为目标应用或自动化服务分配Key Vault的**机密读取(Secrets Reader)**权限,这样只能获取预先存入的只读凭据,无法触及其他敏感密钥。
    • 若仅在ARM模板输出层面限制,可只输出只读连接字符串,但这无法限制调用listConnectionStrings接口本身获取全部密钥,因此结合Key Vault做权限隔离是更安全的方案。

内容的提问来源于stack exchange,提问作者DxG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 08:15:28