【问题标题】:Azure PowerShell or CLI command to Provide a User with Owner access to a specific Web ApplicationAzure PowerShell 或 CLI 命令为用户提供对特定 Web 应用程序的所有者访问权限
【发布时间】:2018-04-21 04:52:10
【问题描述】:

我有大约 100 个使用 Azure PowerShell 和 CLI 创建的 Azure Web 应用程序和 Azure Functions,现在我需要将这些 Web 应用程序的所有者访问权限分配给用户(每个 Web 应用程序的单独用户)

我找不到任何示例,大多数示例都指向分配资源组级别访问权限,而不是特定资源。

该任务可在 Azure 门户中完成,只需使用 PowerShell 或 CLI 命令为用户分配这些特定资源的所有者或贡献者权限。

如果可能,请提供示例命令

【问题讨论】:

    标签: powershell azure azure-cli azure-security azure-rbac


    【解决方案1】:

    对于 Power Shell,您可以使用 New-AzureRmRoleAssignment 来执行此操作。

    例如。

    New-AzureRmRoleAssignment -SignInName "test@hotmail.com" -RoleDefinitionName Owner -Scope "/subscriptions/*************/resourceGroups/shuiapp/providers/Microsoft.Web/sites/shuicli"
    

    New-AzureRmRoleAssignment -ObjectId "859f0f40-057b-4afc-9d05-fe8b3933ae87" -RoleDefinitionName Owner -Scope "/subscriptions/*****************/resourceGroups/shuiapp/providers/Microsoft.Web/sites/shuicli"
    

    注意:您可以使用 cmdlet get-azureaduser 获取您的用户对象 ID。

    Azure CLI

    您可以使用az role assignment create 来执行此操作。

    例如。

    az role assignment create --assignee <user object id> --role Owner --scope "/subscriptions/3b4d41fa-e91d-4bc7-bc11-13d221b3b77d/resourceGroups/shuiapp/providers/Microsoft.Web/sites/shuicli"
    

    注意:如果您的用户是 Azure AD 用户,您可以使用 az ad user list 获取用户的对象 ID。如果您的用户是服务主体,您可以使用 az ad sp list 获取对象 ID。

    【讨论】:

    • 您好,您使用的是 Azure CLI 1.0 还是 2.0?
    • 它对网站来说就像是一种魅力,如果是 Azure Functions,您能否只为 --scope 提供一个示例值
    • 我使用了 CLI 2.0,但我尝试了您的 PowerShell 解决方案,它的效果非常棒,谢谢!
    • 您好,Azure 功能与 Web 应用相同。 providers/Microsoft.Web/sites/&lt;function name&gt;
    • 其实function也是一个web app。所以提供者是Microsoft.Web/sites
    猜你喜欢
    • 2014-11-21
    • 2015-07-17
    • 2012-06-12
    • 2016-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多