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

New-AzRoleAssignment

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

cmdlet 可以根据输入参数调用以下Microsoft图形 API:

  • GET /users/{id}
  • GET /servicePrincipals/{id}
  • GET /groups/{id}
  • GET /directoryObjects/{id}

请注意,如果未找到角色分配对象或当前帐户没有足够的权限来获取对象类型,此 cmdlet 将标记为ObjectTypeUnknown输出中。

语法

New-AzRoleAssignment
   -ObjectId <String>
   [-Scope <String>]
   -RoleDefinitionName <String>
   [-Description <String>]
   [-Condition <String>]
   [-ConditionVersion <String>]
   [-ObjectType <String>]
   [-AllowDelegation]
   [-SkipClientSideScopeValidation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzRoleAssignment
   -ObjectId <String>
   -ResourceGroupName <String>
   -RoleDefinitionName <String>
   [-Description <String>]
   [-Condition <String>]
   [-ConditionVersion <String>]
   [-ObjectType <String>]
   [-AllowDelegation]
   [-SkipClientSideScopeValidation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzRoleAssignment
   -ObjectId <String>
   -ResourceGroupName <String>
   -ResourceName <String>
   -ResourceType <String>
   [-ParentResource <String>]
   -RoleDefinitionName <String>
   [-Description <String>]
   [-Condition <String>]
   [-ConditionVersion <String>]
   [-ObjectType <String>]
   [-AllowDelegation]
   [-SkipClientSideScopeValidation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzRoleAssignment
   -ObjectId <String>
   -Scope <String>
   [-Description <String>]
   [-Condition <String>]
   [-ConditionVersion <String>]
   [-ObjectType <String>]
   -RoleDefinitionId <Guid>
   [-AllowDelegation]
   [-SkipClientSideScopeValidation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzRoleAssignment
   -SignInName <String>
   -ResourceGroupName <String>
   -RoleDefinitionName <String>
   [-Description <String>]
   [-Condition <String>]
   [-ConditionVersion <String>]
   [-ObjectType <String>]
   [-AllowDelegation]
   [-SkipClientSideScopeValidation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzRoleAssignment
   -SignInName <String>
   -ResourceGroupName <String>
   -ResourceName <String>
   -ResourceType <String>
   [-ParentResource <String>]
   -RoleDefinitionName <String>
   [-Description <String>]
   [-Condition <String>]
   [-ConditionVersion <String>]
   [-ObjectType <String>]
   [-AllowDelegation]
   [-SkipClientSideScopeValidation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzRoleAssignment
   -SignInName <String>
   [-Scope <String>]
   -RoleDefinitionName <String>
   [-Description <String>]
   [-Condition <String>]
   [-ConditionVersion <String>]
   [-ObjectType <String>]
   [-AllowDelegation]
   [-SkipClientSideScopeValidation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzRoleAssignment
   -ApplicationId <String>
   -ResourceGroupName <String>
   -RoleDefinitionName <String>
   [-Description <String>]
   [-Condition <String>]
   [-ConditionVersion <String>]
   [-ObjectType <String>]
   [-AllowDelegation]
   [-SkipClientSideScopeValidation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzRoleAssignment
   -ApplicationId <String>
   -ResourceGroupName <String>
   -ResourceName <String>
   -ResourceType <String>
   [-ParentResource <String>]
   -RoleDefinitionName <String>
   [-Description <String>]
   [-Condition <String>]
   [-ConditionVersion <String>]
   [-ObjectType <String>]
   [-AllowDelegation]
   [-SkipClientSideScopeValidation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzRoleAssignment
   -ApplicationId <String>
   [-Scope <String>]
   -RoleDefinitionName <String>
   [-Description <String>]
   [-Condition <String>]
   [-ConditionVersion <String>]
   [-ObjectType <String>]
   [-AllowDelegation]
   [-SkipClientSideScopeValidation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzRoleAssignment
   -InputFile <String>
   [-AllowDelegation]
   [-SkipClientSideScopeValidation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

说明

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

示例

示例 1

New-AzRoleAssignment -ResourceGroupName rg1 -SignInName allen.young@live.com -RoleDefinitionName Reader -AllowDelegation

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

示例 2

Get-AzADGroup -SearchString "Christine Koch Team"

          DisplayName                    Type                           Id
          -----------                    ----                           --------
          Christine Koch Team                                           2f9d4375-cbf1-48e8-83c9-2a0be4cb33fb

New-AzRoleAssignment -ObjectId 2f9d4375-cbf1-48e8-83c9-2a0be4cb33fb -RoleDefinitionName Contributor  -ResourceGroupName rg1

授予对安全组的访问权限

示例 3

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

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

示例 4

New-AzRoleAssignment -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

$servicePrincipal = New-AzADServicePrincipal -DisplayName "testServiceprincipal"
New-AzRoleAssignment -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

-Condition

要应用于 RoleAssignment 的条件。

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

-ConditionVersion

条件的版本。

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

-DefaultProfile

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

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

-Description

角色分配的简要说明。

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

-InputFile

角色分配 json 的路径

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

-ObjectId

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

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

-ObjectType

与 ObjectId 一起使用。 指定 asignee 对象的类型

类型:String
别名:PrincipalType
Position:Named
默认值:None
必需:False
接受管道输入: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

-SkipClientSideScopeValidation

如果指定,请跳过客户端范围验证。

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

输入

String

Guid

输出

PSRoleAssignment

备注

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