我一直试图使用Powershell为Azure中的文件共享分配用户访问控制权限。我一直在做的是:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser登录Azure
az login获取用户信息并隔离用户原则名称
$UPN = (Get-AzADUser -StartsWith $UserName).UserPrincipalName获取包含作用域的行。
$TempScope = az storage share-rm show -g $ResourceGroup --storage-account $StorageAccount --name $FileShareName | Select-String -Pattern '/subscriptions' -CaseSensitive将该行更改为字符串
$TempScope = $TempScope | foreach {$_.ToString()}删除前8个字符
$scope = $TempScope.Substring(9)获取角色名称
$FileShareRole = Get-AzRoleDefinition $RoleName将角色分配给具有指定作用域的目标标识。
New-AzRoleAssignment -SignInName $UPN -RoleDefinitionName $FileShareRole.Name -Scope $scope它没有授予用户对文件共享的访问权限,而是授予了microsoft.storage/storageaccounts/fileservices/shares.的访问权限。
发布于 2022-02-09 07:16:23
是的,可以将访问控制添加到文件共享中。在上面的共享脚本中,您正在使用long方法来提取文件共享的资源ID。我们对上面的脚本做了一些修改。
这里是为文件共享添加访问控制的修改脚本
$UserName="<UserName>"
$ResourceGroup="<RGName>"
$StorageAccount="<strgAccountName>"
$FileShareName="<FileShareName>"
$RoleName="Storage File Data SMB Share Reader"
$UPN = (Get-AzADUser -StartsWith $UserName).UserPrincipalName
$TempScope = az storage share-rm show -g $ResourceGroup --storage-account $StorageAccount --name $FileShareName --query id -o tsv
$FileShareRole = Get-AzRoleDefinition $RoleName
New-AzRoleAssignment -SignInName $UPN -RoleDefinitionName $FileShareRole.Name -Scope $scope以下是向用户授予共享级权限的三个Azure内置角色:
https://stackoverflow.com/questions/71040786
复制相似问题