【问题标题】:Azure Data Lake: how to add users permissions after successful deployment with ARM and PowerShellAzure Data Lake:使用 ARM 和 PowerShell 成功部署后如何添加用户权限
【发布时间】:2018-07-04 15:55:36
【问题描述】:

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

【问题讨论】:

    标签: powershell azure deployment azure-resource-manager azure-data-lake


    【解决方案1】:

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

    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 '/'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 2016-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多