如何使用powershell命令在Azure DataLake Store中设置Azure Active Directory应用程序的权限

时间:2017-07-18 10:07:00

标签: azure-active-directory azure-powershell azure-data-lake

enter image description here

您好,

我正在尝试使用powershell命令在ADLS(Azure DataLakeStore)中设置AAD(Azure Active Directory)应用程序权限(读/写/执行和其他设置)。

我尝试使用下面的powershell命令:

  

Set-AzureRmDataLakeStoreItemAclEntry -AccountName“adls”-Path /   -AceType User -Id(Get-AzureRmADApplication -ApplicationId 490eee0-2ee1-51ee-88er-0f53aerer7b).ApplicationId -Permissions All

但是此命令在ADLS中的“Access”属性下设置/显示ApplicationId,仅具有读/写/执行访问权限。但是,当我在ADLS中执行“服务验证的手动”步骤时,此设置不正确。

enter image description here

有没有其他方法可以在ADLS中设置AAD应用程序的权限?

2 个答案:

答案 0 :(得分:2)

User命令的参数Set-AzureRmDataLakeStoreItemAclEntry应该是要修改ACE的AzureActive Directory用户,组或服务主体的对象ID。

您可以参考以下命令分配权限:

Set-AzureRmDataLakeStoreItemAclEntry -AccountName "accountName" -Path / -AceType User -Id
(Get-AzureRmADServicePrincipal -ServicePrincipalName "{applicationId}").Id -Permissions All

有关此命令的更多详细信息,请参阅以下链接:

Set-AzureRmDataLakeStoreItemAclEntry

答案 1 :(得分:1)

您需要将ObjectId(不是应用程序ID)设置为Set-AzureRmDataLakeStoreItemAclEntry

的Id参数
Set-AzureRmDataLakeStoreItemAclEntry -AccountName "adls" -Path / -AceType User -Id (Get-AzureRmADApplication -ApplicationId 490eee0-2ee1-51ee-88er-0f53aerer7b).Id -Permissions All