Azure Data Lake:如何在使用 ARM 和 PowerShell 成功部署后添加用户权限

Azure Data Lake: how to add users permissions after successful deployment with ARM and PowerShell

我通过 ARM 和 PowerShell 部署了 Azure Datalake Store 和 Analytics 帐户。成功部署后,如何为 Azure Active Directory 中存在的某些用户及其电子邮件地址添加权限?

创建一个参数来保留电子邮件地址

Param (
[string[]] $permissionsADLSUsers = @('xxx@xxx.de', 'xxx@xxx.de')
)

执行部署并从中获取输出。 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 '/'