Gibt es eine S3-Richtlinie für die Beschränkung des Zugangs nur unter/access einem Eimer?
Habe ich einen einfachen Eimer, der aussieht wie images.mysite.com
auf meinem S3 und andere Eimer mit sicherungen, etc.
Möchte ich ermöglichen, einem bestimmten Benutzer Zugriff auf die images.mysite.com
Eimer, um Bilder hochzuladen. Aber ich will ihn NICHT sehen, keiner von den anderen Eimern; nicht einmal, dass Sie existieren.
Konnte ich nicht machen, eine Politik, die das tut; jedes mal, wenn ich versuche etwas restriktiv, es endet die Blockierung der Einschluss von irgendwelchen Eimern.
InformationsquelleAutor der Frage Alex | 2011-07-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe versucht, dies für eine Weile und kam schließlich mit einer funktionierenden Lösung. Sie müssen verwenden unterschiedliche "Ressourcen" abhängig von der Art der Aktion, die Sie gerade ausführen. Auch hatte ich einige fehlenden Aktionen in der vorherigen Antwort (wie
DeleteObject
) und die Beschränkung einige mehr (wiePutBucketAcl
).Folgende IAM-Richtlinie ist die Arbeit für mich jetzt:
Die Handlungen in Bezug auf einen Eimer und diejenigen, die sich auf Objekte müssen unterschiedliche arn.
InformationsquelleAutor der Antwort rogercampos
Unseren Anwendungsfall: Bereitstellen von backup space für die Kunden unserer cloud-Anwendung zugreifen können, die die Kunden direkt mit gängigen S3-tools. Natürlich, kein Kunde sollte sehen, was andere Kunden haben.
Als cloudberryman erklärt, "können Sie entweder die Liste aller buckets oder keine.", also wir haben zu kommen mit einer Arbeit um. Hintergrund:
Gewährung ListAllMyBuckets Rechte für den Benutzer notwendig, so dass AWS-S3-Konsole oder S3Fox die Verbindung ohne eine Fehlermeldung. Aber ListAllMyBuckets listet alle Eimer, unabhängig von den zugeordneten Ressourcen (eigentlich nur arn:...:::* funktioniert). Das ist ein ernster Fehler, wenn Sie mich Fragen. Btw. leugnen ListBucket für alle Perioden nicht verhindern, dass Sie sich aufgeführt, als ListBucket erteilt Rechte zum auflisten der Eimer Inhalt.
Gibt es 3 Möglichkeiten, die ich als umgehen. Ich wählte das Letzte.
(1) verwenden Sie kryptische bucket-Namen, z.B. GUIDs
Vorteil: einfach einzurichten
Nachteil: schwierig zu handhaben, vor allem für den Kunden. (stellen Sie sich eine bestimmte GUID unter tausenden von anderen.) Zeigt auch der Anzahl der Gruppen = Anzahl der clients, die mit dem backup-service.
(2) benutzen Sie einen Eimer mit client-spezifischen Ordner
Dies ist, wie sich Amazon schlägt vor, durch Ihre S3/IAM Beispiele bieten Raum, um den Zugriff nur von bestimmten Benutzern oder Benutzergruppen. Siehe:
AWS Beispiel IAM-Richtlinien
Vorteil: relativ einfach einzurichten, geht mit AWS Ideen
Nachteil: Kräfte, um die Existenz aller buckets öffentlich, so kann der client feststellen, Ihre "home" - Eimer. AWS accounting bietet eine Statistik der Eimer Gebrauchsspuren, aber nicht der Ordner Verwendung, was es schwierig macht, zu berechnen, Kosten der AUFTRAGGEBER.
(3) nicht gewährt Zugang richtige für ListAllMyBuckets
Vorteil: Sie bekommen, was Sie wollen: Kunden können nicht sehen, andere Kunden Eimer
Nachteil: der client kann nicht sehen, seine oder Ihre eigenen Eimer. S3Browser kommt mit einem schönen "nicht" - Meldung und bittet für die bucket-Namen eingeben. S3Fox wirft eine Fehlermeldung, wenn die Verbindung an der Wurzel, sondern ermöglicht die direkte navigation zu den Kunden-Eimer, wenn der Eimer, der name ist bekannt. Amazon S3-Konsole funktioniert nicht bei allen.
Hoffe, das half, zu verarbeiten S3, IAM, wie Sie es brauchen.
InformationsquelleAutor der Antwort Andreas Stankewitz
Versuchen, diese Politik. berücksichtigen Sie auch, dass es keine Möglichkeit, dass der Benutzer die Liste nur ausgewählte Eimer. Sie können entweder eine Liste aller buckets oder keine.
InformationsquelleAutor der Antwort cloudberryman
Ist es nicht möglich, den Zugriff auf die S3-Konsole, ohne die
ListAllMyBuckets
Berechtigung.In meinem Fall (und vielleicht auch deiner, zukünftigen Leser) eine akzeptable alternative zum umleiten von Benutzern auf sign in direkt in den Eimer, wie Sie sehen.
Um dies zu erreichen, fügen Sie den folgenden, um Ihre IAM-Zeichen in der url:
/s3/?bucket=bucket-name
Vollständigen Anmelde-URL ein (ersetzen Sie Ihr-alias und bucket-Namen):
https://your-alias.signin.aws.amazon.com/console/s3/?bucket=bucket-name
IAM-Richtlinie (ersetzen bucket-Namen):
Weitere Informationen, wie Sie einen Eimer, die bestimmte Berechtigungen für die Benutzer, die diesen blog Lesen: http://mikeferrier.com/2011/10/27/granting-access-to-a-single-s3-bucket-using-amazon-iam/
InformationsquelleAutor der Antwort BFar
Bin ich der Interpretation, wie diese Frage: "Kann ich zulassen, Zugang zu einem Eimer, wo andere Eimer wird nicht zugänglich sein und somit unsichtbar." Da zeigt die Namen der Eimer zu denen kein Zugang gewährt wurde, noch entspricht, um Informationen Leckage.
Und die richtige Antwort lautet: Nein. Die erforderliche Erlaubnis ist ListAllMyBuckets, die dem Benutzer erlauben, um zu sehen, ALLE Perioden. Das weglassen dieser Berechtigung wird die Konsole unbrauchbar.
InformationsquelleAutor der Antwort Mo'in Creemers
Es ist eine großartige Möglichkeit, damit Benutzer Zugriff auf einen bestimmten Eimer ohne aus wissen von anderen Eimer. Eine Konzern-Richtlinie, ist wie unten, können die Benutzer nur das sehen, "Eimer". Der einzige Haken ist, dass der Benutzer immer nur Zugriff auf den Eimer, wenn Sie eine Verbindung zu dem angegebenen bucket Endpunkt. Für das Beispiel unten wäre das bucket-a.s3.amazonaws.com. Der Eimer kann auch "Authentifizierte Benutzer" erlaubt für diese auftreten.
Diese Methode wurde getestet mit Cyberduck auf Mac OS/X und mit der s3cmd-Paket
InformationsquelleAutor der Antwort joevartuli
Verwirrt darüber, warum keine Antwort überprüft wurde?
Lassen Sie uns brechen jede politische Anweisung von oben-Lösungen:
Diese Erklärung aus gilt für den Inhalt der Eimer, aber nicht den Dollar an sich. Dies ist wahrscheinlich nichtwas die Frage gebeten, weil Sie nicht sehen können, was in den Eimer.
Diese zwei statement-Politik abgeleitet von gibt readonly-Zugriff auf den Eimer in (
arn:aws:s3:::your_bucket_here/
) readonlyaber immer noch ermöglicht CRUD-ops auf den Eimer Inhalt (arn:aws:s3:::your_bucket_here/*
).Jedoch die Richtlinie umfasst die folgenden Aussage, die es einem Benutzer ermöglicht, sehen alle Eimer auf dem Endpunkt. Dies ist wahrscheinlich nichtwas die Frage für.
Allerdings sind die oben genannten sehr nützlich, wenn Sie einen client verwenden, der Browser (S3) speichern. Wenn der client greift auf den Speicher und nicht den Eimer direkt, so müssen Sie den Zugriff auf der Liste der Eimer an der Wurzel.
InformationsquelleAutor der Antwort Donal Lafferty
Wahrscheinlich die einfachste Anwendungsfall:
InformationsquelleAutor der Antwort jjanczyszyn
Gibt es einen einfachen Weg oder einen workaround, um dies zu tun, die mit AWS-Organisationen. AWS-Organisation ermöglicht es Ihnen, mehrere Benutzer-Konten. Deinem main account können mehrere AWS-Konten(Sub) und was auch immer-services(s3/EC2/*) Hinzugefügt werden, in welchen AWS-Konten nur die Ressourcen werden sichtbar.
Entnehmen Sie bitte https://aws.amazon.com/blogs/aws/aws-organizations-policy-based-management-for-multiple-aws-accounts/
https://aws.amazon.com/organizations/
Organisation Auf der Mein Konto Seite
InformationsquelleAutor der Antwort Shaik Ismail
Konnte ich die folgenden arbeiten. Gemeint ist, dass die Liste andere Eimer erhalten Sie die Meldung " Zugriff Verweigert. Aber war noch in der Lage zu sehen, die Eimer, den ich wollte, wenn ich die Verbindung mit dem bucket-Namen, legen Sie als Pfad.
War ich mit Cyberduck testen dieser Verbindung.
InformationsquelleAutor der Antwort codeplay
Es ist zwar nicht möglich, den
s3:ListAllMyBuckets
Aktion auf bestimmte Eimern, als für Abhilfe können Sie diese senden Konsole-URL für bestimmte Eimer, z.B.https://s3.console.aws.amazon.com/s3/buckets/BUCKET_NAME/
Quelle: Einschränkende Liste von S3-buckets aus dem S3-Konsole
Um dies zu tun, müssen Sie zum angeben der folgenden politischen Dokuments für den angegebenen Benutzer oder die Gruppe:
Wo
my-bucket-1
undmy-bucket-2
sind Ihre Eimer zu geben, den lese-und Schreibzugriff.Verwandte:
InformationsquelleAutor der Antwort kenorb
Als es wurde auch darüber diskutiert, Auflistung nur ein Eimer auf Konsole ist nicht möglich. Aber wenn S3-bucket, den Zugang an ein IAM, IAM kann direkt auf den Eimer, wenn URL-Eimer erhältlich ist.
S3-bucket-url wie:
https://s3.console.aws.amazon.com/s3/buckets/BucketName
Wo BucketName ist der name der Glocke, IAM hat Zugang zu
InformationsquelleAutor der Antwort Ishan Tomar
Dies ist ausführlich von Amazon auf http://blogs.aws.amazon.com/security/post/Tx3VRSWZ6B3SHAV/Writing-IAM-Policies-How-to-grant-access-to-an-Amazon-S3-bucket
InformationsquelleAutor der Antwort Sytse Sijbrandij
Die Lösung FALTENBALG für mich gearbeitet. Ich wollte eine Politik, gewähren von Zugriff auf einen bestimmten Benutzer my_iam_user auf einem bestimmten bucket meine-s3-bucket.
Dieser Richtlinie zulassen, dass mein Benutzer-Liste, löschen, abrufen von e legen Sie Dateien auf einem bestimmten s3-bucket.
InformationsquelleAutor der Antwort Carlos Coelho
Ich fügen Sie einfach ein ähnliches Bedürfnis, gelöst von :
InformationsquelleAutor der Antwort Xavinsky
Verwende ich die folgenden Sachen zu verstecken Eimer Inhalt von anderen Nutzern. Dies hilft nicht nur, sich zu verstecken andere Eimer (nicht verwenden, ListAllMyBuckets), aber auch Ordner in den gleichen Eimer, wenn Sie einen Eimer, sondern wollen Unterordner in der Sie die Zuordnung richtigen Berechtigungen für die IAM-Benutzer/Unterordner.
Folgende Richtlinie für IAM-Gruppe und alle Benutzer sind in dieser Gruppe. Sie müssen nehmen
aws:userid
und machen Sie einen Unterordner mit dem gleichen Namen in den Eimer.UserID genommen werden kann:
aws iam get-user --user-name "user_name_for_folder_access":
InformationsquelleAutor der Antwort Andrii Starikov
Dies funktionierte perfekt für mich . Benutzer können hochladen, Herunterladen und erhalten die Liste der Dateien, aber nicht in der Lage, um zu sehen, Dateien aus anderen Eimer.
InformationsquelleAutor der Antwort s. tait
Eine schöne einfache Lösung, wir kamen mit, um sperren der Benutzer-login auf dem root-Verzeichnis. So müssen Sie die Anmeldung mit remote-Pfad zum gewünschten Ordner.
InformationsquelleAutor der Antwort THRIVE
Nein, es ist nicht derzeit möglich zu begrenzen, die Benutzer zum anzeigen selektiv Eimer unter root oder sonst irgendwo. Sie haben nur diese 3 Optionen jetzt.
Wählte ich bitten, den client zu verwenden, der bucket-name explizit.
InformationsquelleAutor der Antwort foggy_glasses
Hinzufügen
Deny
Klausel für den Eimer(s) Sie nicht wollen, um Zugriff. Denken Sie daran, dass Sie vielleicht immer noch aufgelistet, aber Sie werden nicht in der Lage, Zugriff auf den Inhalt in Ihnen.InformationsquelleAutor der Antwort treecoder
{
}
InformationsquelleAutor der Antwort vinay