gpt4 book ai didi

azure - 为什么我需要在 Azure 中进行应用程序注册以及它们与我的应用程序服务有何关系?

转载 作者:行者123 更新时间:2023-12-02 07:53:52 25 4
gpt4 key购买 nike

我已经阅读了一些有关 Azure AD 的内容,但我仍然无法理解它。之所以会出现这种困惑,还可能是因为我的公司试图标准化 azure 项目的外观。

假设我有两件事:SPA 应用程序(由应用程序服务提供服务)和 API(在此应用程序服务上,ASP.NET)。该公司建议的方法是,这两者都应该进行应用程序注册。

现在,我希望 API 能够访问 Ms Graph。为了做到这一点,查看其他项目,我更新了我的 AppRegistration 以请求 Ms Graph 角色,管理员同意,并且在 API 中我使用了 ConfidentialClient重用我的客户端 ID/ secret 来获取 token ,然后访问 MsGraph。

为什么这么忙?为什么不直接使用我的 API 的托管身份和 grant needed permissions using New-AzureAdServiceAppRoleAssignment

为什么我需要在这里注册应用程序?我两者都需要吗?我是否应该使用我的应用程序注册和 API 中的 secret 客户端来访问 Ms Graph?我的应用服务与代码中的应用注册有何关联?

最佳答案

让我们退后一步,定义一些使事情变得容易理解的东西:

您的应用服务:这只是一个计算环境,就像 Azure Functions、逻辑应用或 VM 一样。这是您的代码执行的地方。

Azure AD 应用注册:这是一个身份,您可以在代码中使用它来识别您的服务并访问您所需的资源。 Azure AD 应用注册具有多种功能:

  • 在一个租户中构建应用并在多个租户中使用( Multi-Tenancy 应用)
  • 同意框架,允许您请求权限并由所有者授予权限
  • 定义角色和权限,以便您可以配置谁可以调用您的 API
  • 三足 OAuth 流程,允许您代表用户进行操作
  • 保密的客户端流程,允许应用自行操作(如服务帐户)

Azure 托管标识:这也是一个可用于标识您的服务并访问所需资源的标识。它仅具有 Azure AD 应用程序功能的子集。

  • 保密的客户端流程,允许身份自行操作(如服务帐户)
  • 平台为您管理的凭据

根据您想要执行的操作,您可以使用其中一个身份:很少(如果有的话)您会同时需要两者。

就您而言,您需要一个身份来独立行事。因此,应用程序注册或托管身份都可以。如果您想定义角色和权限,您的 API 可能会受益于使用应用程序注册。在您的场景中使用应用程序注册的主要优点是同意模型更易于使用和理解。缺点是您需要管理应用程序的凭据。当使用托管身份时,这种赞成/反对的观点正好相反。

关于azure - 为什么我需要在 Azure 中进行应用程序注册以及它们与我的应用程序服务有何关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70111155/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com