首页 文章

用于Octopus Webapp部署的Azure AAD角色

提问于
浏览
1

我正在使用Octopus Deploy部署Azure WebApp,使用Service Principal作为身份验证机制 . 按照在线说明,我能够获得所有id和密钥,并且我在AAD中为具有Reader角色的应用程序创建了权限 .

Octopus可以从Azure成功检索该帐户的Web应用程序列表,但是当我部署时,我得到以下内容:

System.AggregateException:发生一个或多个错误 . ---> System.Exception:检索发布凭据失败,HTTP状态为403 - Forbidden

我猜测Reader角色未获得部署授权 - 这将是最合适的角色?或者我还需要做些什么吗?

2 回答

  • 1

    您的服务主体将需要Contributor角色才能在Azure上进行部署 .

    如果您查看我们在our Azure Service Principal Account guide中提供的示例PowerShell脚本,您将看到我们为角色定义参数分配了"Contributor" .

    即 .

    New-AzureRmRoleAssignment -RoleDefinitionName Contributor -ServicePrincipalName $azureAdApplication.ApplicationId

    希望这可以帮助 .

  • 1

    如果您仅使用服务主体来部署Web应用程序,则可以赋予它 Website Contributor 角色 .

    网站贡献者可以管理网站,但不能管理他们所连接的网络计划

    网站贡献者可以访问的操作请参阅此link .

    如果您希望服务主体创建应用服务计划,您还需要赋予它 Web Plan Contributor 角色 .

    OwnerContributor 可以管理一切,如果你需要微调权限,我建议你选择 Website Contributor 角色 . 更多信息请参考此链接:Built-in roles for Azure role-based access control .

    请参考这个link:Assign application to role .

相关问题