你当前正在访问 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 将标记为ObjectType
Unknown
输出中。
语法
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 |
输入
输出
备注
关键字:azure, azurerm, arm, 资源, 管理, 经理, 资源组, 模板, 部署