使用托管标识连接到 Azure 应用程序配置时出现 403

2024-04-22

我正在尝试使用托管标识从网络框架应用程序连接到 Azure 应用程序配置,但遇到权限问题。

我如何连接

options.Connect(new Uri("https://myconfigstore.azconfig.io"), new ManagedIdentityCredential(clientId));

我已经尝试了使用门户可以找到的所有各种 clientId、objectid 和 applicationId guid,但无论我何时使用 guid 调用它,总是收到错误的请求

Azure.Identity.CredentialUnavailableException: 'ManagedIdentityCredential authentication unavailable, 
the requested identity has not been assigned to this resource.
Status: 400 (Bad Request)

如果我创建 ManagedIdentityCredential 时未指定 clientId,则会收到此错误

Azure.RequestFailedException: 'Service request failed.
Status: 403 (Forbidden)

我已授予我管理身份 Azure 应用程序配置数据权限

这是我应该使用的 clientId 吗?

Update:

我刚刚尝试使用我的活动目录的 ID(AAD --> 属性),我得到了

Azure.RequestFailedException: 'Service request failed.
Status: 403 (Forbidden)

这只能意味着我使用了错误的 id,否则它应该返回 400(错误请求),就像我看到的其他错误一样。

完整代码

private static async Task Main()
    {
        var builder = new ConfigurationBuilder();

        const string clientId = "e589d9f1-xxxx-xxxx-xxxx-6bc940d50ab7";

        builder.AddAzureAppConfiguration(options =>
        {
            options.Connect(new Uri("https://myconfigstore.azconfig.io"), new ManagedIdentityCredential(clientId));
        });

        _configuration = builder.Build();

        Console.WriteLine("Number of keys: " + _configuration.GetChildren().Count());

        Console.WriteLine("Demo: " + _configuration["Demo"]);
    }

本文档演示如何使用托管标识从应用服务访问应用程序配置,但你可以将应用服务替换为支持托管标识的任何其他 Azure 服务。https://learn.microsoft.com/en-us/azure/azure-app-configuration/howto-integrate-azure-managed-service-identity https://learn.microsoft.com/en-us/azure/azure-app-configuration/howto-integrate-azure-managed-service-identity

以下是我想指出的一些事情

  • 确保在运行应用程序的 Azure 服务中启用托管标识。
  • 当您使用时系统分配托管身份,您不需要提供客户端 ID。使用时只需提供客户端Id即可用户分配托管身份。
  • 确保授予托管身份应用程序配置数据读取器 or 应用程序配置数据所有者在应用程序配置实例的访问控制中的角色。
  • 角色分配后至少等待 15 分钟,以便传播权限。
  • 仅当您的代码在 Azure 服务中运行时,托管标识才能工作。在本地运行时它将不起作用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用托管标识连接到 Azure 应用程序配置时出现 403 的相关文章

随机推荐

  • React hooks 状态没有在日志中更新

    如果我写 function Component const isLoading setLoading useState true const request gt setLoading true console log isLoading
  • 如何将action分派到特定的reducer?

    我有多个减速器 每个减速器都有一个类型 INIT 我想要实现的是 从触发动作的位置来看 只有相关的减速器才能接收该动作 有没有中间件可以做到这一点 您在创建减速器时是否重复使用减速器逻辑 你可以尝试这样的事情 function create
  • 如何应用结构偏移?

    我有一个结构 typedef struct foo int lengthOfArray1 int lengthOfArray2 int array1 int array2 foo 我需要为整个结构及其数组的内容分配足够的内存 所以假设每个数
  • C# Var 与 Target 类型的 new

    C 9 was 正式宣布 https devblogs microsoft com dotnet welcome to c 9 0 几天前 一项新的语言功能是 目标类型的新表达式 它的用法与var 比较以下声明 我很好奇哪个性能更高 如果有
  • Rails 复制了资源中的参数

    我正在使用 Angular 资源 但我不明白为什么 Rails 会重复参数并将其放在资源名称中 我只需要了解为什么会发生这种情况 post data title asdsad rails parameters Parameters titl
  • 如何在 nginx.conf 中引用操作系统环境变量

    在 nginx conf 中 设置变量后set name value 我可以像这样参考它 name 但是当我导出操作系统环境变量时 经过env name from env like https nginx org en docs ngx c
  • 如何查找数字的二进制表示形式中 1 的个数?

    从其他搜索中 我发现这个问题被称为 汉明权重 或 人口计数 这么多的统计数据已经给出了很多答案吗 我需要以简单的方式找到解决方案吗 复杂性并不是什么大问题 JavaScript 中是否有像 Java 的 Integer bitCount 这
  • 如何通过对 R 中的变量进行分组来为折线图着色?

    我制作了一个线图 看起来像这样 我有 50 个国家及其过去 10 年 GDP 的数据集 样本数据 Country variable value China Y2007 3 55218e 12 USA Y2007 1 45000e 13 Ja
  • Flask 中的动态导航

    我有一个在 Flask 中工作的非常简单的网站 它全部由 sqlite 数据库提供支持 每个页面都作为页表中的一行存储 其中包含路径 标题 内容等内容 该结构是分层的 其中页面可以有父级 例如 虽然 关于 可能是一个页面 但也可能有 关于
  • 如何比较嵌套数组中的父记录和子记录?

    我在层次结构中有如下所示的节点 Node 1 Node 1 1 Node 1 1 1 现在我想检查父节点和子节点之间的连接是否定义 父级和子级之间的连接定义如下 例如 Node 1 和 Node 1 1 之间 connections joi
  • 获取 Facebook 帖子的所有分享列表

    我可以使用 facebook sdk 获得评论和点赞列表 但我不能 找到一种方法来获取共享帖子的所有用户的列表 我也尝试了 fql 这是我用来获得喜欢的代码 facebook new Facebook config likes facebo
  • 验证错误模板-绑定异常

    我正在使用以下模板验证错误
  • g++ 包括 boost 库

    我用 bjam 构建了我的 boost 库 然后移动了所有 a文件到c Server libs boost 1 46 0 lib 如果我想编译我的程序 则会出现一些错误 编译命令 g Ic Server libs boost 1 46 0
  • STL:为向量编写“where”运算符

    我需要根据几个布尔谓词找到向量中的索引 ex vector
  • 将工作表复制到新工作簿并让按钮指向新工作簿中的宏?

    我有一个看起来像表单的工作表 它有一个 重置 按钮来清除值 我可以运行一个宏 将该工作表复制到新的工作簿中并将其通过电子邮件发送给某人 包含宏的模块被复制到其中 一切都几乎没问题 问题是 工作表上运行重置宏的按钮仍然指向原始文档 我怎样才能
  • 如何在 Amazon AWS Lambda 函数中发布到 MQTT 主题?

    我想要一个简单的命令 就像我在 bash 中使用的那样 将某些内容发布到 AWS Lambda 函数内的 MQTT 主题 沿着以下思路 mosquitto pub h my server com t 灯 设置 m 开 背景 我想用 Alex
  • 如何在meteor.js中更新Mongodb集合?

    我有一个集合 当用户按下按钮时我需要更新它 我只需要将一个变量更改为另一个变量 在控制台中 这行代码有效 db users update username Jack age 13 username Jack 但是当我输入这段代码时 Temp
  • XCode 中的文件夹未显示在磁盘上

    我在 XCode 中向我的项目添加了一个文件夹 并将其命名为 Themes 它将用于存储我的 iPad 应用程序的主题 在它下面我有红色 蓝色等等 它们出现在 XCode 中 但是当我查看物理文件夹时 没有 Themes 目录 显然其下没有
  • 单选按钮在我的回收器视图中无法正常工作。视图中选择了多个单选按钮,这些按钮在焦点按钮中不可见

    我正在使用回收器视图在网格布局管理器中显示来自厨房或设备外部存储的所有图像 我使用单选按钮来显示图像是否被选择 PROBLEM 每当我从回收器视图中的可见视图中选择或取消选择单选按钮时 可见屏幕之外的一些其他视图就会被选择或取消选择 就像我
  • 使用托管标识连接到 Azure 应用程序配置时出现 403

    我正在尝试使用托管标识从网络框架应用程序连接到 Azure 应用程序配置 但遇到权限问题 我如何连接 options Connect new Uri https myconfigstore azconfig io new ManagedId