Verwenden von PowerShell zum Verwalten von Zugriffssteuerungslisten in Azure Data Lake Storage Gen2
In diesem Artikel erfahren Sie, wie Sie mithilfe von PowerShell die Zugriffssteuerungslisten von Verzeichnissen und Dateien abrufen, festlegen und aktualisieren.
Die Vererbung von Zugriffssteuerungslisten (ACLs) ist für neue untergeordnete Elemente, die unter einem übergeordneten Verzeichnis erstellt werden, bereits verfügbar. Sie können Zugriffssteuerungslisten aber auch rekursiv für die vorhandenen untergeordneten Elemente eines übergeordneten Verzeichnisses hinzufügen, aktualisieren und entfernen, ohne diese Änderungen für jedes untergeordnete Element einzeln vornehmen zu müssen.
Voraussetzungen
Ein Azure-Abonnement. Weitere Informationen finden Sie unter Kostenlose Azure-Testversion.
Ein Speicherkonto, für das der hierarchische Namespace aktiviert ist. Befolgen Sie diese Anleitung für die Erstellung.
Azure CLI, Version
2.6.0
oder höher.Eine der folgenden Sicherheitsberechtigungen:
Ein bereitgestellter Sicherheitsprinzipal für Microsoft Entra ID, dem die Rolle Storage Blob-Datenbesitzer im Bereich des Zielcontainers, der übergeordneten Ressourcengruppe oder des Abonnements zugewiesen wurde.
Der Benutzer muss Besitzer des Zielcontainers oder -verzeichnisses sein, in dem Sie die ACL-Einstellungen anwenden möchten. Beim rekursiven Festlegen von ACLs schließt dies alle untergeordneten Elemente im Zielcontainer oder -verzeichnis ein.
Speicherkontoschlüssel
Installieren des PowerShell-Moduls
Überprüfen Sie mit dem folgenden Befehl, ob PowerShell Version
5.1
oder höher installiert ist.echo $PSVersionTable.PSVersion.ToString()
Informationen zum Aktualisieren der PowerShell-Version finden Sie unter Aktualisieren einer vorhandenen Windows PowerShell-Version.
Installieren Sie das Modul Az.Storage.
Install-Module Az.Storage -Repository PSGallery -Force
Weitere Informationen zum Installieren von PowerShell-Modulen finden Sie unter Installieren des Azure PowerShell-Moduls.
Herstellen einer Verbindung mit dem Konto
Wählen Sie aus, wie Ihre Befehle die Autorisierung für das Speicherkonto abrufen sollen.
Option 1: Abrufen der Autorisierung mithilfe Microsoft Entra ID
Hinweis
Wenn Sie Microsoft Entra ID verwenden, um den Zugriff zu autorisieren, sollten Sie sicherstellen, dass Ihrem Sicherheitsprinzipal die Rolle Besitzer von Speicherblobdaten zugewiesen wurde. Weitere Informationen dazu, wie ACL-Berechtigungen angewandt werden und wie sich Änderungen daran auswirken, finden Sie unter Zugriffssteuerungsmodell in Azure Data Lake Storage Gen2.
Bei diesem Ansatz stellt das System sicher, dass Ihr Benutzerkonto über die entsprechenden Azure RBAC-Zuweisungen (Azure Role-Based Access Control, rollenbasierte Zugriffssteuerung von Azure) und ACL-Berechtigungen verfügt.
Öffnen Sie ein Windows PowerShell-Befehlsfenster, melden Sie sich dann mit dem Befehl
Connect-AzAccount
bei Ihrem Azure-Abonnement an, und befolgen Sie die Anweisungen auf dem Bildschirm.Connect-AzAccount
Wenn Ihre Identität mehreren Abonnements zugeordnet ist, legen Sie das aktive Abonnement auf das Abonnement des Speicherkontos fest, das Sie erstellen und in dem Sie Verzeichnisse verwalten möchten. In diesem Beispiel ersetzen Sie den Platzhalterwert
<subscription-id>
durch die ID Ihres Abonnements.Select-AzSubscription -SubscriptionId <subscription-id>
Rufen Sie den Speicherkontokontext ab.
$ctx = New-AzStorageContext -StorageAccountName '<storage-account-name>' -UseConnectedAccount
Option 2: Abrufen der Autorisierung mithilfe des Speicherkontoschlüssels
Bei diesem Ansatz überprüft das System nicht die Azure RBAC- oder ACL-Berechtigungen. Rufen Sie den Speicherkontokontext mithilfe eines Kontoschlüssels ab.
$ctx = New-AzStorageContext -StorageAccountName '<storage-account-name>' -StorageAccountKey '<storage-account-key>'
Abrufen von ACLs
Verwenden Sie das Cmdlet Get-AzDataLakeGen2Item
, um die Zugriffssteuerungsliste eines Verzeichnisses oder einer Datei abzurufen.
In diesem Beispiel wird die Zugriffssteuerungsliste des Stammverzeichnisses eines Containers abgerufen und dann an der Konsole ausgegeben.
$filesystemName = "my-file-system"
$filesystem = Get-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName
$filesystem.ACL
In diesem Beispiel wird die Zugriffssteuerungsliste eines Verzeichnisses abgerufen und dann in der Konsole ausgegeben.
$filesystemName = "my-file-system"
$dirname = "my-directory/"
$dir = Get-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName -Path $dirname
$dir.ACL
In diesem Beispiel wird die Zugriffssteuerungsliste einer Datei abgerufen und dann in der Konsole ausgegeben.
$filePath = "my-directory/upload.txt"
$file = Get-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName -Path $filePath
$file.ACL
Die folgende Abbildung zeigt die Ausgabe nach dem Abrufen der Zugriffssteuerungsliste eines Verzeichnisses.
In diesem Beispiel verfügt der zuständige Benutzer über Berechtigungen zum Lesen, Schreiben und Ausführen. Die zuständige Gruppe verfügt lediglich über Berechtigungen zum Lesen und Ausführen. Weitere Informationen zu Zugriffssteuerungslisten finden Sie unter Zugriffssteuerung in Azure Data Lake Storage Gen2.
Festlegen von ACLs
Wenn Sie eine Zugriffssteuerungsliste festlegen, ersetzen Sie die gesamte Zugriffssteuerungsliste einschließlich aller Einträge. Wenn Sie die Berechtigungsebene eines Sicherheitsprinzipals ändern oder der Zugriffssteuerungsliste einen neuen Sicherheitsprinzipal hinzufügen möchten, ohne dass sich dies auf bereits vorhandene Einträge auswirkt, sollten Sie die Zugriffssteuerungsliste stattdessen aktualisieren. Informationen dazu, wie eine Zugriffssteuerungsliste aktualisiert statt ersetzt wird, finden Sie im Abschnitt Aktualisieren von ACLs in diesem Artikel.
Wenn Sie die Zugriffssteuerungsliste festlegen, müssen Sie einen Eintrag für den besitzenden Benutzer, einen Eintrag für die besitzende Gruppe und einen Eintrag für alle anderen Benutzer hinzufügen. Weitere Informationen zum besitzenden Benutzer, zur besitzenden Gruppe und zu allen anderen Benutzern finden Sie unter Benutzer und Identitäten.
In diesem Abschnitt erfahren Sie Folgendes:
- Festlegen einer Zugriffssteuerungsliste
- Rekursives Festlegen von ACLs
Festlegen einer Zugriffssteuerungsliste
Verwenden Sie das Cmdlet Set-AzDataLakeGen2ItemAclObject
, um eine Zugriffssteuerungsliste für den zuständigen Benutzer, die zuständige Gruppe oder andere Benutzer zu erstellen. Verwenden Sie dann das Cmdlet Update-AzDataLakeGen2Item
, um die Zugriffssteuerungsliste zu committen.
In diesem Beispiel wird die Zugriffssteuerungsliste für das Stammverzeichnis eines Containers für den zuständigen Benutzer, die zuständige Gruppe oder andere Benutzer festgelegt und dann an der Konsole ausgegeben.
$filesystemName = "my-file-system"
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -Permission rw-
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType group -Permission rw- -InputObject $acl
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType other -Permission -wx -InputObject $acl
Update-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName -Acl $acl
$filesystem = Get-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName
$filesystem.ACL
In diesem Beispiel wird die Zugriffssteuerungsliste auf ein Verzeichnis für den zuständigen Benutzer, die zuständige Gruppe oder andere Benutzer festgelegt und dann in der Konsole ausgegeben.
$filesystemName = "my-file-system"
$dirname = "my-directory/"
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -Permission rw-
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType group -Permission rw- -InputObject $acl
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType other -Permission -wx -InputObject $acl
Update-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName -Path $dirname -Acl $acl
$dir = Get-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName -Path $dirname
$dir.ACL
Hinweis
Wenn Sie einen standardmäßigen ACL-Eintrag festlegen möchten, verwenden Sie den Parameter -DefaultScope, wenn Sie den Befehl Set-AzDataLakeGen2ItemAclObject ausführen. Beispiel: $acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -Permission rwx -DefaultScope
In diesem Beispiel wird die Zugriffssteuerungsliste auf eine Datei für den zuständigen Benutzer, die zuständige Gruppe oder andere Benutzer festgelegt und dann in der Konsole ausgegeben.
$filesystemName = "my-file-system"
$filePath = "my-directory/upload.txt"
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -Permission rw-
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType group -Permission rw- -InputObject $acl
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType other -Permission "-wx" -InputObject $acl
Update-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName -Path $filePath -Acl $acl
$file = Get-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName -Path $filePath
$file.ACL
Hinweis
Um die Zugriffssteuerungsliste (Access Control List, ACL) für bestimmte Gruppen oder Benutzer*innen, Dienstprinzipale oder verwaltete Identitäten festzulegen, verwenden Sie die jeweiligen Objekt-IDs. Wenn Sie z. B. die ACL einer Gruppe festlegen möchten, verwenden Sie group:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
. Um die ACL auf einen Benutzer festzulegen, verwenden Sie user:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
.
Die folgende Abbildung zeigt die Ausgabe nach dem Festlegen der Zugriffssteuerungsliste einer Datei.
In diesem Beispiel verfügen der zuständige Benutzer und die zuständige Gruppe nur über Berechtigungen zum Lesen und Schreiben. Alle anderen Benutzer verfügen über Berechtigungen zum Schreiben und Ausführen. Weitere Informationen zu Zugriffssteuerungslisten finden Sie unter Zugriffssteuerung in Azure Data Lake Storage Gen2.
Rekursives Festlegen von ACLs
Zum rekursiven Festlegen von Zugriffssteuerungslisten verwenden Sie das Cmdlet Set-AzDataLakeGen2AclRecursive.
In diesem Beispiel wird die ACL des Verzeichnisses my-parent-directory
festgelegt. Mit diesen Einträgen werden dem zuständigen Benutzer Lese-, Schreib- und Ausführungsberechtigungen und der zuständigen Gruppe nur Lese- und Ausführungsberechtigungen gewährt, während allen anderen kein Zugriff gewährt wird. Der letzte ACL-Eintrag in diesem Beispiel gewährt einem bestimmten Benutzer mit der Objekt-ID „xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx“ Lese- und Ausführungsberechtigungen.
$filesystemName = "my-container"
$dirname = "my-parent-directory/"
$userID = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -Permission rwx
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType group -Permission r-x -InputObject $acl
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType other -Permission "---" -InputObject $acl
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -EntityId $userID -Permission r-x -InputObject $acl
Set-AzDataLakeGen2AclRecursive -Context $ctx -FileSystem $filesystemName -Path $dirname -Acl $acl
Hinweis
Wenn Sie einen standardmäßigen ACL-Eintrag festlegen möchten, verwenden Sie den Parameter -DefaultScope, wenn Sie den Befehl Set-AzDataLakeGen2ItemAclObject ausführen. Beispiel: $acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -Permission rwx -DefaultScope
Ein Beispiel, das Zugriffssteuerungslisten durch Angabe einer Batchgröße rekursiv in Batches festlegt, finden Sie im Referenzartikel zu Set-AzDataLakeGen2AclRecursive.
Aktualisieren von ACLs
Wenn Sie eine Zugriffssteuerungsliste aktualisieren, ändern Sie die Zugriffssteuerungsliste, anstatt sie zu ersetzen. Beispielsweise können Sie der Zugriffssteuerungsliste einen neuen Sicherheitsprinzipal hinzufügen, ohne dass sich dies auf andere Sicherheitsprinzipale auswirkt, die in der Zugriffssteuerungsliste aufgelistet sind. Informationen dazu, wie eine Zugriffssteuerungsliste ersetzt statt aktualisiert wird, finden Sie im Abschnitt Festlegen von Zugriffssteuerungslisten in diesem Artikel.
In diesem Abschnitt erfahren Sie Folgendes:
- Aktualisieren einer Zugriffssteuerungsliste (ACL)
- Rekursives Aktualisieren von Zugriffssteuerungslisten
Aktualisieren einer Zugriffssteuerungsliste (ACL)
Rufen Sie zuerst die Zugriffssteuerungsliste ab. Verwenden Sie dann das Cmdlet Set-AzDataLakeGen2ItemAclObject
, um einen ACL-Eintrag hinzuzufügen oder zu aktualisieren. Verwenden Sie das Cmdlet Update-AzDataLakeGen2Item
, um die Zugriffssteuerungsliste zu committen.
Dieses Beispiel erstellt oder aktualisiert die Zugriffssteuerungsliste in einem Verzeichnis für einen Benutzer.
$filesystemName = "my-file-system"
$dirname = "my-directory/"
$acl = (Get-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName -Path $dirname).ACL
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -EntityID xxxxxxxx-xxxx-xxxxxxxxxxx -Permission r-x -InputObject $acl
Update-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName -Path $dirname -Acl $acl
Hinweis
Wenn Sie einen standardmäßigen ACL-Eintrag aktualisieren möchten, verwenden Sie den Parameter -DefaultScope, wenn Sie den Befehl Set-AzDataLakeGen2ItemAclObject ausführen. Beispiel: $acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -EntityID xxxxxxxx-xxxx-xxxxxxxxxxx -Permission r-x -DefaultScope
Rekursives Aktualisieren von Zugriffssteuerungslisten
Sie aktualisieren Zugriffssteuerungslisten rekursiv mithilfe des Cmdlets Update-AzDataLakeGen2AclRecursive.
Dieses Beispiel aktualisiert einen ACL-Eintrag mit Schreibberechtigung.
$filesystemName = "my-container"
$dirname = "my-parent-directory/"
$userID = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -EntityId $userID -Permission rwx
Update-AzDataLakeGen2AclRecursive -Context $ctx -FileSystem $filesystemName -Path $dirname -Acl $acl
Hinweis
Um die Zugriffssteuerungsliste (Access Control List, ACL) für bestimmte Gruppen oder Benutzer*innen, Dienstprinzipale oder verwaltete Identitäten festzulegen, verwenden Sie die jeweiligen Objekt-IDs. Wenn Sie z. B. die ACL einer Gruppe festlegen möchten, verwenden Sie group:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
. Um die ACL auf einen Benutzer festzulegen, verwenden Sie user:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
.
Ein Beispiel, das Zugriffssteuerungslisten durch Angabe einer Batchgröße rekursiv in Batches aktualisiert, finden Sie im Referenzartikel zu Update-AzDataLakeGen2AclRecursive.
Entfernen von ACL-Einträgen
In diesem Abschnitt erfahren Sie Folgendes:
- Entfernen eines ACL-Eintrags
- Rekursives Entfernen von ACL-Einträgen
Entfernen eines ACL-Eintrags
Dieses Beispiel entfernt einen Eintrag aus einer vorhandenen Zugriffssteuerungsliste.
$id = "xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
# Create the new ACL object.
[Collections.Generic.List[System.Object]]$aclnew =$acl
foreach ($a in $aclnew)
{
if ($a.AccessControlType -eq "User" -and $a.DefaultScope -eq $false -and $a.EntityId -eq $id)
{
$aclnew.Remove($a);
break;
}
}
Update-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName -Path $dirname -Acl $aclnew
Rekursives Entfernen von ACL-Einträgen
Sie können einen oder mehrere ACL-Einträge rekursiv entfernen. Um einen ACL-Eintrag zu entfernen, erstellen Sie ein neues ACL-Objekt für den zu entfernenden ACL-Eintrag, und verwenden Sie dieses Objekt dann im Entfernungsvorgang der ACL. Rufen Sie nicht die vorhandene ACL ab, stellen Sie lediglich die zu entfernenden ACL-Einträge bereit.
Sie entfernen ACL-Einträge mithilfe des Cmdlets Remove-AzDataLakeGen2AclRecursive.
In diesem Beispiel wird ein ACL-Eintrag aus dem Stammverzeichnis des Containers entfernt.
$filesystemName = "my-container"
$userID = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -EntityId $userID -Permission "---"
Remove-AzDataLakeGen2AclRecursive -Context $ctx -FileSystem $filesystemName -Acl $acl
Hinweis
Wenn Sie einen standardmäßigen ACL-Eintrag entfernen möchten, verwenden Sie den Parameter -DefaultScope, wenn Sie den Befehl Set-AzDataLakeGen2ItemAclObject ausführen. Beispiel: $acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -EntityId $userID -Permission "---" -DefaultScope
Ein Beispiel, das Zugriffssteuerungslisten durch Angabe einer Batchgröße rekursiv in Batches entfernt, finden Sie im Referenzartikel zu Remove-AzDataLakeGen2AclRecursive.
Wiederherstellen nach Fehlern
Beim rekursiven Ändern von Zugriffssteuerungslisten können Laufzeit- oder Berechtigungsfehler auftreten.
Starten Sie den Prozess bei Laufzeitfehlern vom Anfang neu. Berechtigungsfehler können auftreten, wenn der Sicherheitsprinzipal nicht über ausreichende Berechtigungen verfügt, um die Zugriffssteuerungsliste eines Verzeichnisses oder einer Datei zu ändern, die sich in der geänderten Verzeichnishierarchie befindet. Beheben Sie das Berechtigungsproblem, und setzen Sie dann den Prozess ab dem Zeitpunkt des Fehlers mithilfe eines Fortsetzungstokens fort, oder starten Sie den Prozess vom Anfang neu. Sie müssen das Fortsetzungstoken nicht verwenden, wenn Sie vom Anfang neu starten. Sie können ACL-Einträge ohne negative Auswirkung erneut anwenden.
Dieses Beispiel gibt Ergebnisse an die Variable zurück und leitet fehlerhafte Einträge dann an eine formatierte Tabelle weiter.
$result = Set-AzDataLakeGen2AclRecursive -Context $ctx -FileSystem $filesystemName -Path $dirname -Acl $acl
$result
$result.FailedEntries | ft
Basierend auf der Ausgabe der Tabelle können Sie alle Berechtigungsfehler beheben und die Ausführung dann mit dem Fortsetzungstoken fortsetzen.
$result = Set-AzDataLakeGen2AclRecursive -Context $ctx -FileSystem $filesystemName -Path $dirname -Acl $acl -ContinuationToken $result.ContinuationToken
$result
Ein Beispiel, das Zugriffssteuerungslisten durch Angabe einer Batchgröße rekursiv in Batches festlegt, finden Sie im Referenzartikel zu Set-AzDataLakeGen2AclRecursive.
Wenn Sie möchten, dass der Prozess ohne Unterbrechung durch Berechtigungsfehler durchgeführt wird, können Sie dies angeben.
Dieses Beispiel verwendet den Parameter ContinueOnFailure
, sodass die Ausführung auch bei einem Berechtigungsfehler im Vorgang fortgesetzt wird.
$result = Set-AzDataLakeGen2AclRecursive -Context $ctx -FileSystem $filesystemName -Path $dirname -Acl $acl -ContinueOnFailure
echo "[Result Summary]"
echo "TotalDirectoriesSuccessfulCount: `t$($result.TotalFilesSuccessfulCount)"
echo "TotalFilesSuccessfulCount: `t`t`t$($result.TotalDirectoriesSuccessfulCount)"
echo "TotalFailureCount: `t`t`t`t`t$($result.TotalFailureCount)"
echo "FailedEntries:"$($result.FailedEntries | ft)
Ein Beispiel, das Zugriffssteuerungslisten durch Angabe einer Batchgröße rekursiv in Batches festlegt, finden Sie im Referenzartikel zu Set-AzDataLakeGen2AclRecursive.
Bewährte Methoden
Dieser Abschnitt enthält einige Richtlinien zu bewährten Methoden für das rekursive Festlegen von Zugriffssteuerungslisten.
Behandeln von Laufzeitfehlern
Ein Laufzeitfehler kann aus vielen Gründen auftreten (z. B. bei einem Ausfall oder einem Clientkonnektivitätsproblem). Wenn ein Laufzeitfehler auftritt, starten Sie den rekursiven ACL-Prozess neu. Zugriffssteuerungslisten können ohne negative Auswirkungen erneut auf Elemente angewandt werden.
Behandeln von Berechtigungsfehlern (403)
Wenn beim Ausführen eines rekursiven ACL-Prozesses eine Zugriffssteuerungsausnahme auftritt, verfügt Ihr AD-Sicherheitsprinzipal möglicherweise nicht über ausreichende Berechtigungen zum Anwenden einer Zugriffssteuerungsliste auf eines der untergeordneten Elemente in der Verzeichnishierarchie. Wenn ein Berechtigungsfehler auftritt, wird der Prozess angehalten, und es wird ein Fortsetzungstoken bereitgestellt. Beheben Sie das Berechtigungsproblem, und verwenden Sie dann das Fortsetzungstoken, um das restliche Dataset zu verarbeiten. Die Verzeichnisse und Dateien, die bereits erfolgreich verarbeitet wurden, müssen nicht erneut verarbeitet werden. Sie können den rekursiven ACL-Prozess auch neu starten. Zugriffssteuerungslisten können ohne negative Auswirkungen erneut auf Elemente angewandt werden.
Anmeldeinformationen
Es wird empfohlen, einen Microsoft Entra-Sicherheitsprinzipal bereitzustellen, dem die Rolle Speicherblob-Datenbesitzer im Bereich des Zielspeicherkontos oder -containers zugewiesen wurde.
Leistung
Um die Latenz zu verringern, empfiehlt es sich, den rekursiven ACL-Prozess auf einem virtuellen Azure-Computer (VM) auszuführen, der sich in derselben Region wie das Speicherkonto befindet.
Einschränkungen bei Zugriffssteuerungslisten
Die maximale Anzahl von Zugriffssteuerungslisten, die Sie auf ein Verzeichnis oder eine Datei anwenden können, beträgt 32 ACLs für den Zugriff und 32 Standard-ACLs. Weitere Informationen finden Sie unter Zugriffssteuerung in Azure Data Lake Storage Gen2.