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" は他のどのエントリにも見つからないすべてのユーザーに権限を付与します。
型: | AccessControlType |
指定可能な値: | User, Group, Mask, Other |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-DefaultScope
このパラメーターを設定して、ACE がディレクトリの既定の ACL に属することを示します。それ以外の場合、スコープは暗黙的であり、ACE はアクセス ACL に属します。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-EntityId
ユーザーまたはグループの識別子。 AccessControlType "mask" と "other" のエントリでは省略されます。 所有者グループと所有グループの場合、ユーザーまたはグループの識別子も省略されます。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-InputObject
PSPathAccessControlEntry[] オブジェクトを入力すると、新しい ACL が入力 PSPathAccessControlEntry[] オブジェクトの新しい要素として追加されます。
型: | PSPathAccessControlEntry[] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Permission
権限フィールドは 3 文字のシーケンスです。最初の文字は読み取りアクセスを許可する場合は 'r' で、2 番目の文字は書き込みアクセスを許可する場合は 'w' で、3 番目の文字は実行アクセス許可を付与する 'x' です。 アクセスが許可されていない場合は、アクセス許可が拒否されたことを示すために '-' 文字が使用されます。 スティッキー ビットもサポートされ、他のカテゴリの実行ビットがそれぞれ設定されているか未設定であるかに応じて、最後の文字位置の文字 t または T で表されます。t または T がない場合は、スティッキー ビットが設定されていないことを示します。
型: | String |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
None
出力
Azure PowerShell