我通过ARM和PowerShell部署Azure Datalake商店和分析帐户。成功部署后,如何使用其电子邮件地址为Azure Active Directory中存在的某些用户添加权限?
创建参数以保留电子邮件地址
Param (
[string[]] $permissionsADLSUsers = @('[email protected]', '[email protected]')
)
执行部署并从中获取输出。可以在ARM模板中定义ARM部署的输出
$deploymentOutput = New-AzureRmResourceGroupDeployment -Name ((Get-ChildItem $TemplateFile).BaseName + '-' + ((Get-Date).ToUniversalTime()).ToString('MMdd-HHmm')) `
-ResourceGroupName $ResourceGroupName `
-TemplateFile $TemplateFile `
-TemplateParameterFile $TemplateParametersFile `
@OptionalParameters `
-Force -Verbose `
-ErrorVariable ErrorMessages
添加参数中定义的每个用户的权限(在本例中为root用户并授予他们所有权限)
$adlsAccountName = (Get-AzureRmResourceGroupDeployment -ResourceGroupName $ResourceGroupName -Name $deploymentOutput.DeploymentName).Outputs.adlsName.value
foreach ($user in $permissionsADLSUsers) {
Set-AzureRmDataLakeStoreItemAclEntry -AccountName $adlsAccountName -Path '/' -AceType User -Id (Get-AzureRmADUser -Mail $user).Id -Permissions All -Default
}
检查当前权限
Get-AzureRmDataLakeStoreItemAclEntry -AccountName $adlsAccountName -Path '/'