IAM-Richtlinie zum Auflisten bestimmter Ordner in einem S3-Bucket für einen Benutzer

Ich habe unten Schlüssel unter dem Eimerdemo.für.Kunden

demo.for.customers/customer1/
demo.for.customers/customer2/

Jetzt habe ich nämlich 2 Kundencustomer1 undcustomer2. Das ist was ich will:

Gewähren Sie ihnen nur Zugriff aufdemo.für.Kunden Eimer.customer1 sollte nur darauf zugreifen könnendemo.for.customers/customer1/ und customer2 sollte nur darauf zugreifen könnendemo.for.customers/customer2/.

Und ich bin in der Lage, dies mit der unten stehenden Richtlinie zu erreichen (ich erstelle eine Richtlinie für jeden Kunden. Daher füge ich die Richtlinie nur für den Kunden 1 unten ein.) Ich habe diese Richtlinie in IAM und nicht in S3 definiert.

{
 "Version":"2012-10-17",
 "Statement": [
   {
     "Action": ["s3:ListAllMyBuckets", "s3:GetBucketLocation"],
     "Effect": "Allow",
     "Resource": ["arn:aws:s3:::*"]
   },
   {
      "Action": ["s3:ListBucket"],
      "Effect": "Allow",
      "Resource": ["arn:aws:s3:::demo.for.customers"],
      "Condition":{"StringEquals":{"s3:prefix":["","customer1/"],"s3:delimiter":["/"]}}
   },
    {
      "Effect": "Allow",
      "Action": ["s3:*"],
      "Resource": ["arn:aws:s3:::demo.for.customers/customer1/*"]
    }
]
}

Problem:

Kunde1 kann alle meine Eimer sehen, obwohl er auf keinen von ihnen zugreifen kann. Ich will das nicht. Er sollte nur sehen könnendemo.für.KundenKunde1 kann sehendemo.for.customers/customer2 auch, obwohl er nicht darauf zugreifen kann. Dies ist höchst inakzeptabel, da ich nicht möchte, dass er auch nur die anderen Kundenordner sieht, die ich unter diesem Eimer habe.

FRAGEN:

Nachdem ich viel gegoogelt hatte, wurde mir klar, dass es keinen Weg dazu gibtListen Sie spezifische Eimer auf. Ist das wirklich wahr?Allerdings muss ich einen Weg findenNur bestimmte Ordner auflisten in einem Eimer für einen bestimmten Benutzer. Wie geht das?

Vielen Dank.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage