你当前正在访问 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 |
输入
输出
备注
关键字:azure, azurerm, arm, 资源, 管理, 经理, 资源组, 模板, 部署