0

Ich versuche, eine Datenquelle mit AWS Machine Learning SDK zu erstellen. Zuerst lade ich die CSV-Datei auf den S3-Speicher hoch, auch über das SDK. Dann aktualisiere ich die Bucket-Richtlinie für diese Datei. Erst nachdem alle versuchen, Datenquelle erstellen, ich bin, aber ich erhalten Fehler:Cretae Datasourse maschinelles Lernen AWS über SDK

FAILURES (1): Sie haben keine Berechtigung für den Zugriff haben ‚s3: //training-data/input/test-likes.csv‘ . Wenden Sie sich an den Besitzer von 's3: //training-data/input/test-likes.csv', um Lesezugriff zu erhalten.

Welche Berechtigungen sind sonst erforderlich?

Das ist mein Eimer Politik:

{ 
"Version": "2012-10-17", 
"Statement": [ 
    { 
     "Sid": "AmazonML_s3:ListBucket", 
     "Effect": "Allow", 
     "Principal": { 
      "AWS": "arn:aws:iam::831986290820:user/pavel.emsow", 
      "Service": "machinelearning.amazonaws.com" 
     }, 
     "Action": "s3:ListBucket", 
     "Resource": "arn:aws:s3:::trainig-data", 
     "Condition": { 
      "StringLike": { 
       "s3:prefix": [ 
        "input/common-likes.csv*", 
        "input/test-likes.csv*" 
       ] 
      } 
     } 
    }, 
    { 
     "Sid": "AmazonML_s3:GetObject", 
     "Effect": "Allow", 
     "Principal": { 
      "AWS": "arn:aws:iam::831986290820:user/pavel.emsow", 
      "Service": "machinelearning.amazonaws.com" 
     }, 
     "Action": "s3:GetObject", 
     "Resource": [ 
      "arn:aws:s3:::trainig-data/input/common-likes.csv*", 
      "arn:aws:s3:::trainig-data/input/test-likes.csv*" 
     ] 
    } 
] 
} 
+0

Ich würde die Aktion "s3: ListBucket" hinzufügen. Wenn Sie die Webschnittstelle zum Hinzufügen von Eingabedaten verwenden, kann die Richtlinie für Sie geändert werden. So können Sie zumindest sehen, was es getan hat, damit Sie es zurückverfolgen und richtig machen können! –

+0

"s3: ListBucket" existiert bereits. Dies ist die erste Anweisung im Array. –

Antwort

0

ich in diesen Fehler lief, als ein ML-Modell von einer S3-Datenquelle zu schaffen versuchen. Zusätzlich zu meiner (ähnlichen) Bucket-Richtlinie musste ich die IAM-Rolle ändern, die beim Aufruf der Machine-Learning-API verwendet wurde. Ich habe der IAM-Rolle eine Full-Access-S3-Richtlinie angefügt, und der Aufruf war erfolgreich. Die Richtlinie für den vollständigen Zugriff ist möglicherweise zu weit gefasst, und es kann möglich sein, sie auf S3 schreibgeschützt zu reduzieren und den Anruf dennoch erfolgreich auszuführen.

Verwandte Themen