Wie kann ich Probleme mit Berechtigungen beim Erstellen einer SageMaker-Feature-Gruppe beheben?

Lesedauer: 3 Minute
0

Ich versuche, eine Amazon-SageMaker-Feature-Gruppe zu erstellen, erhalte aber die Fehlermeldung „AccessDenied“.

Kurzbeschreibung

„AccessDenied“-Fehler in SageMaker weisen darauf hin, dass die AWS-Identity-and-Access-Management-Rolle (IAM) nicht über ausreichende Berechtigungen verfügt, um den Vorgang Feature-Gruppe erstellen auszuführen. Möglicherweise wird der Fehler „AccessDenied“ angezeigt, wenn die Berechtigungen für die Ausführungsrolle wie folgt fehlen oder falsch konfiguriert sind:

  • Fehlende AmazonSageMakerFeatureStoreAccess-Richtlinie und Anforderungen für die Benennung von Amazon-Simple-Storage-Service-Buckets (Amazon S3)
  • Fehlende LakeFormation-Berechtigungen
  • Fehlende AWS-Key-Management-Service (AWS KMS)-Richtlinie
  • Amazon-S3-Bucket-Richtlinie

Lösung

Hinweis: Wenn Sie beim Ausführen von Befehlen von AWS Command Line Interface (AWS CLI) Fehlermeldungen erhalten, stellen Sie sicher, dass Sie die neueste AWS-CLI-Version verwenden.

Um beim Erstellen einer Feature-Gruppe eine ausführliche Fehlermeldung anzuzeigen, führen Sie den folgenden Befehl vom Terminal aus und überprüfen Sie den FailureReason:

$ aws sagemaker describe-feature-group --feature-group-name nameofthefeaturegroup

Fehlende AmazonSageMakerFeatureStoreAccess-Richtlinie und Anforderungen für die Benennung von Amazon-S3-Buckets

In der von Ihnen verwendeten Ausführungsrolle fehlt möglicherweise die von Amazon verwaltete AmazonSageMakerFeatureSstore-Richtlinie. Überprüfen Sie die der Ausführungsrolle zugewiesenen Richtlinien. Hängen Sie dann die AmazonSageMakerFeatureStoreAccess-Richtlinie an, falls sie fehlt:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:GetBucketAcl",
        "s3:PutObjectAcl"
      ],
      "Resource": [
        "arn:aws:s3:::*SageMaker*",
        "arn:aws:s3:::*Sagemaker*",
        "arn:aws:s3:::*sagemaker*"
      ]
    }
  ]
}

Die Erstellung der Feature-Gruppe kann auch nach dem Hinzufügen der AmazonSageMakerFeatureStoreAccess-Richtlinie fehlschlagen. Da es sich bei der Richtlinie um eine von Amazon verwaltete Richtlinie handelt, die in einem S3-Bucket gespeichert ist, muss der Bucket das Wort „Sagemaker“ im Namen haben.

Fehlende Lake-Formation-Berechtigungen

Die Erstellung der Feature-Gruppe schlägt möglicherweise aufgrund unzureichender AWS-Lake-Formation-Berechtigungen fehl. Wenn eine Feature-Gruppe erstellt wird, wird automatisch eine AWS-Glue-Datenbank erstellt. Alle Feature-Gruppen, die mit SageMaker erstellt wurden, werden als Tabellen in dieser AWS-Glue-Datenbank erstellt.

Vergewissern Sie sich, dass der verwendeten Ausführungsrolle die Berechtigung zum Erstellen einer AWS-Glue-Datenbank erteilt wurde. Wenn die Ausführungsrolle keine Berechtigung hat, gehen Sie wie folgt vor:

Hinweis: Für AWS Lake Formation muss jeder Prinzipal (Benutzer oder Rolle) autorisiert sein, Aktionen auf von Lake Formation verwalteten Ressourcen auszuführen.

  1. Öffnen Sie die LakeFormation-Konsole
  2. Wählen Sie in der linken Seitenleiste Berechtigungen und dann Datenberechtigungen
  3. Wählen Sie Grant (Gewähren) aus.
  4. Wählen Sie die IAM-Ausführungsrolle aus dem Drop-down-Menü der Prinzipale aus und gewähren Sie dann die erforderlichen Berechtigungen.

Weitere Informationen zum Erteilen von Datenbankberechtigungen finden Sie unter Gewähren von Berechtigungen für eine Datenbank oder Tabelle, die mit Ihrem Konto geteilt wurde.

Fehlende AWS-KMS-Richtlinie

Der CreateFeatureGroup-API-Aufruf schlägt möglicherweise aufgrund fehlender AWS-KMS-Richtlinien fehl. Überprüfen Sie zur Überprüfung die IAM-Richtlinien der Ausführungsrolle und stellen Sie dann sicher, dass ihr die folgenden Richtlinien angehängt sind:

kms:GenerateDataKey
kms:Decrypt
kms: Encrypt

Wenn die vorherigen Richtlinien nach der Ausführung des CLI-Befehls nicht sichtbar sind, hängen Sie die Richtlinien an und versuchen Sie es erneut.

S3-Bucket-Richtlinie

Die „AccessDenied“-Fehler können auch aufgrund einer Amazon-S3-Bucket-Richtlinie auftreten, die den Zugriff auf den Bucket verhindert. Überprüfen Sie die S3-Bucket-Richtlinie und überprüfen Sie dann, ob die Ausführungsrolle, mit der die Feature-Gruppe erstellt wurde, Zugriff auf den Bucket hat.


Ähnliche Informationen

Erteilen von Berechtigungen für eine Datenbank oder Tabelle, die mit Ihrem Konto geteilt wurde

Berechtigungen für Ressourcenlinks gewähren

Bucket-Richtlinien verwenden

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr