【问题标题】:How should my customer authorize my server-side application to access their Azure resources?我的客户应该如何授权我的服务器端应用程序访问他们的 Azure 资源?
【发布时间】:2019-12-14 01:10:29
【问题描述】:

我们已经构建了一个应用程序,它可以读取有关客户云资源的信息并为他们提供见解。它目前已针对 AWS 实施。

在 AWS 中,我让我的客户使用信任策略和外部 ID 创建一个 IAM 角色,并与我共享该信息。然后我“担任角色”进入他们的帐户。 Azure 中的等效方法是什么?

我看到了“应用程序”、“服务主体”等概念,但我阅读的所有内容似乎都非常关注 SSO 和授权企业用户“访问外部应用程序”,而不是授权服务器端应用程序本身。

我应该创建一个“应用程序”并让他们添加它吗?我是否创建一个用户并让他们邀请它?抱歉 - 我是 Azure 的新手,到目前为止,大多数文档都将我视为 IT 管理员,试图将 Jira 添加到 IdP 门户。

【问题讨论】:

    标签: azure azure-security


    【解决方案1】:

    好吧,您可以让他们完成所有工作并为您提供凭据,或者构建一个允许他们以半自动方式设置所有内容的应用程序。

    手动选项要求他们创建应用注册,这会生成服务主体,然后将 RBAC 角色授予服务主体。然后他们可以给你租户 ID、客户 ID 和密码。除了秘密,您还可以创建证书并给他们公钥。他们可以将其作为凭据添加到应用程序中。

    他们也可以使用命令行工具来生成 SP 和应用程序https://docs.microsoft.com/en-us/cli/azure/ad/sp?view=azure-cli-latest#az-ad-sp-create-for-rbac

    半自动选项是构建一个在 AAD 租户中注册为多租户应用的应用,并且需要以当前登录用户的身份访问 Azure 资源管理 API。 然后他们可以登录,您可以获得他们的订阅列表,他们可以选择一个,然后您可以立即进行分析。 您也可以存储刷新令牌以保持更长的访问时间。

    【讨论】:

    • 谢谢!如果我的应用与用户没有交互性(例如,每天运行、自动运行),是否可以说 RBAC 凭据是最好的方法?
    • 我会说这会更容易。尽管交互性只需要一次,但刷新令牌可以并且确实会过期。在这些情况下,您需要他们再次交互以获取新令牌。他们注册应用程序的第一种方法不存在这个问题。虽然秘密/证书当然可以过期。这也是更多的手工工作。
    猜你喜欢
    • 2017-04-10
    • 2021-05-19
    • 2021-05-03
    • 2019-07-15
    • 2018-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多