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

New-AzCosmosDBSqlRoleDefinition

创建新的 CosmosDB Sql 角色定义。

语法

New-AzCosmosDBSqlRoleDefinition
   -ResourceGroupName <String>
   -AccountName <String>
   [-Id <String>]
   -RoleName <String>
   [-Type <String>]
   -AssignableScope <System.Collections.Generic.List`1[System.String]>
   -DataAction <System.Collections.Generic.List`1[System.String]>
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzCosmosDBSqlRoleDefinition
   -ResourceGroupName <String>
   -AccountName <String>
   [-Id <String>]
   -RoleName <String>
   [-Type <String>]
   -AssignableScope <System.Collections.Generic.List`1[System.String]>
   -Permission <System.Collections.Generic.List`1[Microsoft.Azure.Commands.CosmosDB.Models.PSPermission]>
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzCosmosDBSqlRoleDefinition
   [-Id <String>]
   -RoleName <String>
   [-Type <String>]
   -AssignableScope <System.Collections.Generic.List`1[System.String]>
   -DataAction <System.Collections.Generic.List`1[System.String]>
   -ParentObject <PSDatabaseAccountGetResults>
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzCosmosDBSqlRoleDefinition
   [-Id <String>]
   -RoleName <String>
   [-Type <String>]
   -AssignableScope <System.Collections.Generic.List`1[System.String]>
   -Permission <System.Collections.Generic.List`1[Microsoft.Azure.Commands.CosmosDB.Models.PSPermission]>
   -ParentObject <PSDatabaseAccountGetResults>
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

说明

创建新的 CosmosDB Sql 角色定义。 可分配的范围可以是完全限定的(即 /subscriptions/subId/resourceGroups/resourceGroups/resourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/accountName/dbs/dbName),也可以从数据库名称(即 /dbs/dbName)开始。 若要指定角色定义的权限,请使用 DataAction 参数并传入将转换为单个 Permission 对象的字符串列表,或使用 New-AzCosmosDBPermission cmdlet 创建 PSPermission 对象以传入 Permission 参数。

示例

示例 1:使用 DataAction

New-AzCosmosDBSqlRoleDefinition `
	-AccountName accountName `
	-ResourceGroupName resourceGroupName `
	-Type CustomRole `
	-RoleName roleName `
	-DataAction "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create" `
	-AssignableScope "/"

RoleName         : roleName
Id               : /subscriptions/subId/resourceGroups/resourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/accountName/sqlRoleDefinitions/id
Type             : CustomRole
Permissions      : {Microsoft.Azure.Management.CosmosDB.Models.Permission}
AssignableScopes : {/subscriptions/subId/resourceGroups/resourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/accountName}

示例 2:使用权限和 ParentObject

$DatabaseAccount = Get-AzCosmosDBAccount -Name accountName -ResourceGroupName resourceGroupName
$Permission = New-AzCosmosDBPermission -DataAction "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create"
New-AzCosmosDBSqlRoleDefinition `
	-Type CustomRole `
	-RoleName roleName `
	-Permission $Permission `
	-AssignableScope "/" `
	-ParentObject $DatabaseAccount

RoleName         : roleName
Id               : /subscriptions/subId/resourceGroups/resourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/accountName/sqlRoleDefinitions/id
Type             : CustomRole
Permissions      : {Microsoft.Azure.Management.CosmosDB.Models.Permission}
AssignableScopes : {/subscriptions/subId/resourceGroups/resourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/accountName}

参数

-AccountName

Cosmos DB 数据库帐户的名称。

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-AssignableScope

可在其中附加角色分配的资源路径集。 例如 '/','/dbs/dbname','/dbs/dbname/colls/collname'。

Type:List<T>[String]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

提示你在运行 cmdlet 之前进行确认。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DataAction

通过角色定义授予的数据操作集。 可在以下位置找到允许的操作列表: https://aka.ms/cosmos-native-rbac

Type:List<T>[String]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

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

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Id

角色分配 ID。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ParentObject

角色定义对象。

Type:PSDatabaseAccountGetResults
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Permission

权限是数据操作的集合。

Type:List<T>[PSPermission]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ResourceGroupName

资源组的名称。

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-RoleName

角色定义名称。

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Type

角色定义的类型,即 CustomRole 或 BuiltInRole。 默认值为 CustomRole。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

输入

PSSqlRoleDefinitionGetResults

输出

PSSqlRoleDefinitionGetResults