Set-AzDataLakeGen2ItemAclObject

Update-AzDataLakeGen2Item コマンドレットで使用できる DataLake gen2 項目 ACL オブジェクトを作成/更新します。

構文

Set-AzDataLakeGen2ItemAclObject
   [-EntityId <String>]
   [-DefaultScope]
   -Permission <String>
   [-InputObject <PSPathAccessControlEntry[]>]
   -AccessControlType <AccessControlType>
   [<CommonParameters>]

説明

Set-AzDataLakeGen2ItemAclObject コマンドレットは、Update-AzDataLakeGen2Item コマンドレットで使用できる DataLake gen2 項目 ACL オブジェクトを作成または更新します。 入力 ACL に同じ AccessControlType/EntityId/DefaultScope を持つ新しい ACL エントリが存在しない場合は、新しい ACL エントリが作成され、それ以外の場合は既存の ACL エントリのアクセス許可が更新されます。

例 1: 3 つの ACL エントリを持つ ACL オブジェクトを作成し、ディレクトリで ACL を更新する

$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -Permission rwx -DefaultScope
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType group -Permission rw- -InputObject $acl 
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType other -Permission "rw-" -InputObject $acl
Update-AzDataLakeGen2Item -FileSystem "filesystem1" -Path "dir1/dir3" -ACL $acl

FileSystem Name: filesystem1

Path                 IsDirectory  Length          LastModified         Permissions  Owner                Group               
----                 -----------  ------          ------------         -----------  -----                -----               
dir1/dir3            True                         2020-03-23 09:34:31Z rwxrw-rw-+   $superuser           $superuser

このコマンドは、3 つの ACL エントリを持つ ACL オブジェクトを作成し (-InputObject パラメーターを使用して既存の acl オブジェクトに acl エントリを追加します)、ディレクトリの ACL を更新します。

例 2: 4 つの ACL エントリを持つ ACL オブジェクトを作成し、既存の ACL エントリのアクセス許可を更新する

$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -Permission rwx -DefaultScope
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType group -Permission rw- -InputObject $acl 
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType other -Permission "rwt" -InputObject $acl
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -EntityId $id -Permission rwx -InputObject $acl 
$acl

DefaultScope AccessControlType EntityId                             Permissions
------------ ----------------- --------                             -----------
True         User                                                   rwx        
False        Group                                                  rw-        
False        Other                                                  rwt        
False        User              ********-****-****-****-************ rwx        

$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -EntityId $id -Permission r-x -InputObject $acl 
$acl  

DefaultScope AccessControlType EntityId                             Permissions
------------ ----------------- --------                             -----------
True         User                                                   rwx        
False        Group                                                  rw-        
False        Other                                                  rw-        
False        User              ********-****-****-****-************ r-x

このコマンドは、最初に 4 つの ACL エントリを持つ ACL オブジェクトを作成してから、既存の ACL エントリの AccessControlType/EntityId/DefaultScope と同じアクセス許可を持つコマンドレットをもう一度実行します。 その後、ACL エントリのアクセス許可が更新されますが、新しい ACL エントリは追加されません。

パラメーター

-AccessControlType

"user" は所有者または名前付きユーザーに権限を付与し、"group" は所有グループまたは名前付きグループに権限を付与し、"mask" は名前付きユーザーとグループのメンバーに付与される権限を制限し、"other" は他のどのエントリにも見つからないすべてのユーザーに権限を付与します。

Type:AccessControlType
Accepted values:User, Group, Mask, Other
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-DefaultScope

このパラメーターを設定して、ACE がディレクトリの既定の ACL に属することを示します。それ以外の場合、スコープは暗黙的であり、ACE はアクセス ACL に属します。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EntityId

ユーザーまたはグループの識別子。 AccessControlType "mask" と "other" のエントリでは省略されます。 所有者グループと所有グループの場合、ユーザーまたはグループの識別子も省略されます。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

PSPathAccessControlEntry[] オブジェクトを入力すると、新しい ACL が入力 PSPathAccessControlEntry[] オブジェクトの新しい要素として追加されます。

Type:PSPathAccessControlEntry[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Permission

権限フィールドは 3 文字のシーケンスです。最初の文字は読み取りアクセスを許可する場合は 'r' で、2 番目の文字は書き込みアクセスを許可する場合は 'w' で、3 番目の文字は実行アクセス許可を付与する 'x' です。 アクセスが許可されていない場合は、アクセス許可が拒否されたことを示すために '-' 文字が使用されます。 スティッキー ビットもサポートされ、他のカテゴリの実行ビットがそれぞれ設定されているか未設定であるかに応じて、最後の文字位置の文字 t または T で表されます。t または T がない場合は、スティッキー ビットが設定されていないことを示します。

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

入力

None

出力

PSPathAccessControlEntry