【问题标题】:Architecture Resources in Azure Resource ManagerAzure 资源管理器中的体系结构资源
【发布时间】:2016-08-29 08:58:05
【问题描述】:

我们正在 .Net 中开发应用程序并将它们部署到 Azure 应用程序服务。我们目前有一个多层环境(QA/STG/PROD)。为了复制我们使用插槽的相同环境。但是,插槽的问题是所有有权访问 QA 插槽的开发人员都能够查看/修改 STG / PROD 插槽设置。我们希望将其与授权隔离,用户应该只能在 QA 上发布应用程序。我们应该继续使用插槽还是使用单独的网络应用程序?

【问题讨论】:

  • 您可以将role based access control单独设置到不同的插槽。单击该插槽,然后单击 访问控制 (IAM)
  • @forester123 您应该详细说明您的评论并将其发布为答案。

标签: azure azure-web-app-service azure-resource-group


【解决方案1】:

正如其中一个 cmets 中所建议的,您可以使用 RBAC(基于角色的访问控制)来控制 Web 应用程序/插槽上的用户权限。

Azure RBAC 具有适用于所有资源类型的三个基本角色:

  • 所有者拥有对所有资源的完全访问权限,包括将访问权限委托给他人的权利。
  • 贡献者可以创建和管理所有类型的 Azure 资源,但不能授予其他人访问权限。
  • Reader 可以查看现有的 Azure 资源。

因此,您可以将开发人员作为 READER 添加到 web 应用,并将开发人员作为 CONTRIBUTOR 添加到其中一个插槽。这将防止网络应用发生变化

此外,您可以自定义 RBAC 以满足您的要求。 您可以使用自定义创建角色 参考这篇文章: https://azure.microsoft.com/en-us/documentation/articles/role-based-access-control-custom-roles/

【讨论】:

    【解决方案2】:

    您可以使用插槽。每个插槽都会创建一个单独的 URL,您可以通过使用 AD 进行身份验证来控制对插槽的访问。

    https://azure.microsoft.com/en-us/documentation/articles/app-service-mobile-how-to-configure-active-directory-authentication/

    【讨论】:

    • 帖子中设置 AAD 身份验证的方式是对访问应用程序的用户进行身份验证,而不是我猜的插槽。
    • 创建槽时,Azure 会在 URL 中使用槽名称创建应用。如果您转到设置中的“部署插槽”部分并单击插槽,它将为这个新应用程序打开一个新刀片。它有自己的 URL,可用于配置 AAD 身份验证。
    • 同意。但是,我对所有插槽使用相同的 AAD 应用程序来验证用户身份。为此,我必须在 AAD 中为不同的插槽配置不同的应用程序。
    • 我不知道你是怎么做到的“我对所有插槽使用相同的 AAD 应用程序来验证用户。”。如果您有多个插槽/网络应用程序,则必须为每个应用程序配置身份验证,因为两者最终都会创建一个单独的 URL。我的建议是通过为每个插槽创建用户组来创建单独的插槽并使用 AAD 身份验证对每个插槽进行身份验证。
    猜你喜欢
    • 2016-04-10
    • 1970-01-01
    • 2014-05-21
    • 1970-01-01
    • 2016-12-23
    • 1970-01-01
    • 2020-04-07
    • 1970-01-01
    相关资源
    最近更新 更多