Ändern einer Bucket-Richtlinie
Zugriffsregeln können zur Standard-Bucket-Richtlinie hinzugefügt werden. Der Umfang seiner Zugriffssteuerung umfasst den Bucket, der im EinzelBucket enthalten ist, daher ist er am besten geeignet.
Eine S3-fähige Storage-VM muss bereits vorhanden sein, die einen S3-Server und einen Bucket enthält.
Sie müssen bereits Benutzer oder Gruppen erstellt haben, bevor Sie Berechtigungen erteilen.
Sie können neue Anweisungen für neue Benutzer und Gruppen hinzufügen oder die Attribute vorhandener Anweisungen ändern. Weitere Optionen finden Sie in den vserver object-store-server bucket policy
man-Pages.
Benutzer- und Gruppenberechtigungen können bei Erstellung des Buckets oder nach Bedarf später zugewiesen werden. Sie können auch die Bucket-Kapazität und die QoS-Richtliniengruppenzuweisung ändern.
Wenn Sie ab ONTAP 9.9.1 die Objekt-Tagging-Funktionalität des AWS-Clients mit dem ONTAP S3-Server unterstützen möchten, GetObjectTagging
PutObjectTagging
DeleteObjectTagging
müssen die Aktionen, und über die Bucket- oder Gruppenrichtlinien erlaubt sein.
Die folgende Vorgehensweise ist abhängig von der Schnittstelle, die Sie --System Manager oder die CLI verwenden:
-
Bearbeiten Sie den Bucket: Klicken Sie auf Storage > Buckets, klicken Sie auf den gewünschten Bucket und klicken Sie dann auf Bearbeiten. Beim Hinzufügen oder Ändern von Berechtigungen können Sie die folgenden Parameter angeben:
-
Auftraggeber: Der Benutzer oder die Gruppe, auf die der Zugriff gewährt wird.
-
Effekt: Erlaubt oder verweigert den Zugriff auf einen Benutzer oder eine Gruppe.
-
Aktionen: Zulässige Aktionen im Bucket für einen bestimmten Benutzer oder eine bestimmte Gruppe.
-
Ressourcen: Pfade und Namen von Objekten innerhalb des Buckets, für die der Zugriff gewährt oder verweigert wird.
Die Standardeinstellungen bucketname und bucketname/* gewähren Zugriff auf alle Objekte im Bucket. Sie können auch Zugriff auf einzelne Objekte gewähren, z. B. buchketname/*_readme.txt.
-
Bedingungen (optional): Ausdrücke, die beim Versuch des Zugriffs ausgewertet werden. Sie können beispielsweise eine Liste mit IP-Adressen angeben, für die der Zugriff zulässig oder verweigert wird.
-
Ab ONTAP 9.14.1 können Sie Variablen für die Bucket-Richtlinie im Feld Ressourcen angeben. Diese Variablen sind Platzhalter, die bei der Bewertung der Richtlinie durch kontextbezogene Werte ersetzt werden. Beispiel: Wenn ${aws:username} als Variable für eine Richtlinie angegeben ist, wird diese Variable durch den Benutzernamen für den Anforderungskontext ersetzt, und die Richtlinienaktion kann wie für diesen Benutzer konfiguriert ausgeführt werden.
|
-
Hinzufügen einer Anweisung zu einer Bucket-Richtlinie:
vserver object-store-server bucket policy add-statement -vserver svm_name -bucket bucket_name -effect {allow|deny} -action object_store_actions -principal user_and_group_names -resource object_store_resources [-sid text] [-index integer]
Die folgenden Parameter definieren Zugriffsberechtigungen:
-effect
Die Anweisung kann den Zugriff erlauben oder verweigern
-action
Sie können festlegen
*
, dass alle Aktionen oder eine Liste mit einer oder mehreren der folgenden Aktionen gemeint sind:GetObject, PutObject, DeleteObject, ListBucket, GetBucketAcl,GetObjectAcl, ListBucketMultipartUploads,
UndListMultipartUploadParts
.-principal
Eine Liste mit einem oder mehreren S3-Benutzern oder -Gruppen.
-
Es können maximal 10 Benutzer oder Gruppen angegeben werden.
-
Wenn eine S3-Gruppe angegeben wird, muss sie sich im Formular befinden
group/group_name.
-
*
Kann angegeben werden, um öffentlichen Zugriff zu bedeuten, d. h. Zugriff ohne Zugriffsschlüssel und geheimen Schlüssel. -
Wenn kein Principal angegeben wird, werden allen S3-Benutzern in der Storage-VM Zugriff gewährt.
-resource
Den Bucket und jedes darin enthaltene Objekt. Die Platzhalterzeichen
*
und?
können verwendet werden, um einen regulären Ausdruck für die Angabe einer Ressource zu bilden. Für eine Ressource können Sie Variablen in einer Richtlinie angeben. Bei diesen Richtlinienvariablen handelt es sich um Platzhalter, die bei der Bewertung der Richtlinie durch die Kontextwerte ersetzt werden.Mit der
-sid
Option können Sie optional einen Text-String als Kommentar angeben. -
Im folgenden Beispiel wird eine Bucket-Policy-Anweisung für den Objektspeicher-Server für die Storage-VM svm1.example.com und bucket1 erstellt, die den zulässigen Zugriff auf einen Readme-Ordner für den Objektspeicher-Server-Benutzer Benutzer1 angibt.
cluster1::> vserver object-store-server bucket policy statement create -vserver svm1.example.com -bucket bucket1 -effect allow -action GetObject,PutObject,DeleteObject,ListBucket -principal user1 -resource bucket1/readme/* -sid "fullAccessToReadmeForUser1"
Im folgenden Beispiel wird eine Bucket-Policy-Anweisung für den Objektspeicher-Server für die Storage-VM svm1.example.com und bucket1 erstellt, die den erlaubten Zugriff auf alle Objekte für die Objektspeicher-Servergruppe1 angibt.
cluster1::> vserver object-store-server bucket policy statement create -vserver svm1.example.com -bucket bucket1 -effect allow -action GetObject,PutObject,DeleteObject,ListBucket -principal group/group1 -resource bucket1/* -sid "fullAccessForGroup1"
Ab ONTAP 9.14.1 können Sie Variablen für eine Bucket-Richtlinie angeben. Im folgenden Beispiel wird eine Policy-Anweisung für Server-Buckets für die Storage-VM svm1
und bucket1
erstellt und ${aws:username}
als Variable für eine Policy-Ressource angegeben. Wenn die Richtlinie ausgewertet wird, wird die Richtlinienvariable durch den Benutzernamen für den Anforderungskontext ersetzt, und die Richtlinienaktion kann wie für diesen Benutzer konfiguriert ausgeführt werden. Wenn beispielsweise die folgende Richtlinienanweisung bewertet wird, ${aws:username}
wird sie durch den Benutzer ersetzt, der den S3-Vorgang ausführt. Wenn ein Benutzer user1
den Vorgang durchführt, erhält dieser Benutzer Zugriff auf bucket1
AS bucket1/user1/*
.
cluster1::> object-store-server bucket policy statement create -vserver svm1 -bucket bucket1 -effect allow -action * -principal - -resource bucket1,bucket1/${aws:username}/*##