你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

New-AzureRmRoleAssignment

在指定范围内将指定的 RBAC 角色分配给指定的主体。

警告

AzureRM PowerShell 模块已自 2024 年 2 月 29 日起正式弃用。 为了确保持续获得支持和更新,建议用户从 AzureRM 迁移到 Az PowerShell 模块。

尽管 AzureRM 模块仍可运行,但不再受到维护或支持,任何继续使用的行为都由用户自行决定并自行承担风险。 有关过渡到 Az 模块的指导,请参阅我们的迁移资源

语法

New-AzureRmRoleAssignment
   -ObjectId <Guid>
   -Scope <String>
   -RoleDefinitionName <String>
   [-AllowDelegation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzureRmRoleAssignment
   -ObjectId <Guid>
   -ResourceGroupName <String>
   -RoleDefinitionName <String>
   [-AllowDelegation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzureRmRoleAssignment
   -ObjectId <Guid>
   -ResourceGroupName <String>
   -ResourceName <String>
   -ResourceType <String>
   [-ParentResource <String>]
   -RoleDefinitionName <String>
   [-AllowDelegation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzureRmRoleAssignment
   -ObjectId <Guid>
   [-Scope <String>]
   -RoleDefinitionName <String>
   [-AllowDelegation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzureRmRoleAssignment
   -ObjectId <Guid>
   -Scope <String>
   -RoleDefinitionId <Guid>
   [-AllowDelegation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzureRmRoleAssignment
   -SignInName <String>
   -ResourceGroupName <String>
   -RoleDefinitionName <String>
   [-AllowDelegation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzureRmRoleAssignment
   -SignInName <String>
   -ResourceGroupName <String>
   -ResourceName <String>
   -ResourceType <String>
   [-ParentResource <String>]
   -RoleDefinitionName <String>
   [-AllowDelegation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzureRmRoleAssignment
   -SignInName <String>
   [-Scope <String>]
   -RoleDefinitionName <String>
   [-AllowDelegation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzureRmRoleAssignment
   -ApplicationId <String>
   -ResourceGroupName <String>
   -RoleDefinitionName <String>
   [-AllowDelegation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzureRmRoleAssignment
   -ApplicationId <String>
   -ResourceGroupName <String>
   -ResourceName <String>
   -ResourceType <String>
   [-ParentResource <String>]
   -RoleDefinitionName <String>
   [-AllowDelegation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzureRmRoleAssignment
   -ApplicationId <String>
   [-Scope <String>]
   -RoleDefinitionName <String>
   [-AllowDelegation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

说明

使用 New-AzureRMRoleAssignment 命令授予访问权限。 通过将适当的 RBAC 角色分配到适当的范围授予访问权限。 若要授予对整个订阅的访问权限,请在订阅范围内分配角色。 若要授予对订阅中特定资源组的访问权限,请在资源组范围内分配角色。 必须指定工作分配的主题。 若要指定用户,请使用 SignInName 或 Microsoft Entra ObjectId 参数。 若要指定安全组,请使用 Microsoft Entra ObjectId 参数。 若要指定 Microsoft Entra 应用程序,请使用 ApplicationId 或 ObjectId 参数。 必须使用 RoleDefinitionName 参数指定所分配的角色。 可以指定授予访问权限的范围。 默认为所选订阅。 可以使用以下参数组合之一指定分配的范围。 范围 - 这是从 /subscriptions/<subscriptionId> b 开始的完全限定范围。 ResourceGroupName - 授予对指定资源组的访问权限。 c. ResourceName、ResourceType、ResourceGroupName 和 (可选)ParentResource - 指定资源组中的特定资源以授予访问权限。

示例

示例 1

PS C:\> New-AzureRmRoleAssignment -ResourceGroupName rg1 -SignInName allen.young@live.com -RoleDefinitionName Reader -AllowDelegation

授予读者角色对资源组范围内的用户的访问权限,该角色分配可用于委派

示例 2

PS C:\> Get-AzureRMADGroup -SearchString "Christine Koch Team"

          DisplayName                    Type                           Id
          -----------                    ----                           --------
          Christine Koch Team                                           00001111-aaaa-2222-bbbb-3333cccc4444

PS C:\> New-AzureRmRoleAssignment -ObjectId 00001111-aaaa-2222-bbbb-3333cccc4444 -RoleDefinitionName Contributor  -ResourceGroupName rg1

授予对安全组的访问权限

示例 3

PS C:\> New-AzureRmRoleAssignment -SignInName john.doe@contoso.com -RoleDefinitionName Owner -Scope "/subscriptions/00001111-aaaa-2222-bbbb-3333cccc4444/resourcegroups/rg1/providers/Microsoft.Web/sites/site1"

授予对资源(网站)用户的访问权限

示例 4

PS C:\> New-AzureRMRoleAssignment -ObjectId 00001111-aaaa-2222-bbbb-3333cccc4444 -RoleDefinitionName "Virtual Machine Contributor" -ResourceName Devices-Engineering-ProjectRND -ResourceType Microsoft.Network/virtualNetworks/subnets -ParentResource virtualNetworks/VNET-EASTUS-01 -ResourceGroupName Network

向嵌套资源(子网)中的组授予访问权限

示例 5

PS C:\> $servicePrincipal = New-AzureRmADServicePrincipal -DisplayName "testServiceprincipal"
PS C:\> New-AzureRmRoleAssignment -RoleDefinitionName "Reader" -ApplicationId $servicePrincipal.ApplicationId

授予读者对服务主体的访问权限

参数

-AllowDelegation

创建角色分配时委派标志。

类型:SwitchParameter
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

-ApplicationId

ServicePrincipal 的应用程序 ID

类型:String
别名:SPN, ServicePrincipalName
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-DefaultProfile

用于与 azure 通信的凭据、帐户、租户和订阅

类型:IAzureContextContainer
别名:AzureRmContext, AzureCredential
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ObjectId

Microsoft用户、组或服务主体的 Entra Objectid。

类型:Guid
别名:Id, PrincipalId
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-ParentResource

层次结构中的父资源(使用 ResourceName 参数指定的资源)。 应仅与 ResourceGroupName、ResourceType 和 ResourceName 参数结合使用,以标识资源的相对 URI 的形式构造分层范围。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-ResourceGroupName

资源组名称。 创建在指定资源组中有效的分配。 与 ResourceName、ResourceType 和 (可选)ParentResource 参数结合使用时,该命令以标识资源的相对 URI 的形式构造分层范围。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-ResourceName

资源名称。 例如 storageaccountprod。 应仅与 ResourceGroupName、ResourceType 和 (可选)ParentResource 参数结合使用,以标识资源的相对 URI 的形式构造分层范围。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-ResourceType

资源类型。 例如,Microsoft.Network/virtualNetworks。 应仅与 ResourceGroupName、ResourceName 和 (可选)ParentResource 参数结合使用,以标识资源的相对 URI 的形式构造分层范围。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-RoleDefinitionId

需要分配给主体的 RBAC 角色的 ID。

类型:Guid
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-RoleDefinitionName

需要分配给主体的 RBAC 角色的名称,例如读者、参与者、虚拟网络管理员等。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-Scope

角色分配的范围。 相对 URI 的格式。 例如“/subscriptions/9004a9fd-d58e-48dc-aeb2-4a4aec58606f/resourceGroups/TestRG”。 如果未指定,将在订阅级别创建角色分配。 如果指定,它应以“/subscriptions/{id}”开头。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-SignInName

用户的电子邮件地址或用户主体名称。

类型:String
别名:Email, UserPrincipalName
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

输入

Guid

String

输出

PSRoleAssignment

备注

关键字:azure, azurerm, arm, 资源, 管理, 经理, 资源组, 模板, 部署