【发布时间】:2018-07-04 15:55:36
【问题描述】:
我通过 ARM 和 PowerShell 部署了一个 Azure Datalake 存储和分析帐户。成功部署后,如何使用电子邮件地址为 Azure Active Directory 中存在的某些用户添加权限?
【问题讨论】:
标签: powershell azure deployment azure-resource-manager azure-data-lake
我通过 ARM 和 PowerShell 部署了一个 Azure Datalake 存储和分析帐户。成功部署后,如何使用电子邮件地址为 Azure Active Directory 中存在的某些用户添加权限?
【问题讨论】:
标签: powershell azure deployment azure-resource-manager azure-data-lake
创建一个参数来保存电子邮件地址
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 '/'
【讨论】: