Wie behebe ich Fehler, wenn ich mit SageMaker Data Wrangler Daten in mein Amazon SageMaker Studio importiere?

Lesedauer: 2 Minute
0

Ich erhalte Fehler, wenn ich versuche, Daten aus Amazon Simple Storage Service (Amazon S3) oder Amazon Athena mit Amazon SageMaker Data Wrangler zu importieren.

Behebung

Fehler bei der Lebenszyklusberechtigung

Wenn Sie versuchen, Daten aus Amazon Athena in Data Wrangler zu importieren, wird möglicherweise die folgende Fehlermeldung angezeigt:

S3LifecyclePermissionError: You don't have permission to read expiration rules from the bucket that you specified.

Dieser Fehler tritt auf, weil die dem Benutzerprofil zugeordnete SageMaker-Ausführungsrolle nicht über die erforderlichen Berechtigungen für den Zugriff auf die Amazon S3-Lifecycle-Konfigurationen zur Verwaltung der Aufbewahrung und des Ablaufs von Daten verfügt.

Um diesen Fehler zu beheben, fügen Sie der SageMaker-Ausführungsrolle die folgende AWS Identity and Access Management (IAM) Richtlinie hinzu (Beispiel: AmazonSageMaker-ExecutionRole-xxxxxxxxxxxxxxx):

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "LifecycleConfig",
      "Effect": "Allow",
      "Action": [
        "s3:GetLifecycleConfiguration",
        "s3:PutLifecycleConfiguration"
      ],
      "Resource": "*"
    }
  ]
}

Für Resource können Sie nur die regionsspezifischen Buckets einbeziehen, auf die zugegriffen werden muss. GetBucketLifecycleConfiguration gibt die für den Bucket festgelegten Informationen der Lifecycle-Konfiguration zurück, während PutBucketLifecycleConfiguration eine neue Lifecycle-Konfiguration für den Bucket erstellt.

Fehler „Zugriff verweigert“

Möglicherweise wird der folgende Fehler angezeigt, wenn Sie einen Verarbeitungsjob mit unverschlüsselten Ausgabeeinstellungen ausführen.

com.amazonaws.services.s3.model.AmazonS3Exception: Access Denied

Dieser Fehler kann aus den folgenden Gründen auftreten:

  • Die SageMaker-Ausführungsrolle verfügt nicht über die erforderlichen Berechtigungen, um S3-Operationen auszuführen.
  • Entweder die S3-Bucket-Richtlinie oder die Amazon Virtual Private Cloud (Amazon VPC) Endpunktrichtlinie haben ausdrücklich Berechtigungen für PutObject verweigert. Dies kann der Fall sein, wenn Sie nur verschlüsselte Verbindungen zum S3-Bucket erzwingen, indem Sie einen bestimmten AWS Key Management Service (AWS KMS) Key angeben.

Gehen Sie wie folgt vor, um diesen Fehler zu beheben:

  • Prüfen Sie, ob die SageMaker-Ausführungsrolle über Mindestberechtigungen für S3-Bucket-Operationen verfügt:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:PutObject",
        "s3:ListBucket",
        "s3:CreateBucket",
      ],
      "Resource": [
        "arn:aws:s3:::sagemaker-us-east-1-1111222233334444",
        "arn:aws:s3:::sagemaker-us-east-1-1111222233334444/*"
      ]
    }
  ]
}
  • Stellen Sie sicher, dass die S3-Bucket-Richtlinie oder die VPC-Endpunktrichtlinie die erforderlichen Berechtigungen für S3-Operationen nicht ausdrücklich verweigert.
  • Erwägen Sie, den AWS KMS-Schlüssel an den Verarbeitungsjob zu übergeben, der es ermöglicht, Objekte im S3-Bucket zu entschlüsseln, aus dem die Daten importiert werden.
  • Erwägen Sie, für den Import Ihrer Daten, die im Ruhezustand mithilfe der serverseitigen Amazon S3-Verschlüsselung verschlüsselt sind, einen anderen S3-Bucket zu verwenden.

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr