Wie kann ich einen s3AccessDenied-Fehler in den CloudWatch-Integritätsprotokollen meines Datei-Gateways beheben?

Lesedauer: 5 Minute
0

Ich versuche, auf mein Network File System (NFS) oder Server Message Block (SMB)-Filesharing auf AWS Storage Gateway zuzugreifen. In den Zustandsprotokollen meines File-Gateways von Amazon CloudWatch wird jedoch ein s3AccessDenied-Fehler angezeigt. Wie kann ich das Problem beheben?

Behebung

Um einen s3AccessDenied-Fehler zu beheben, müssen Sie die mit Ihrer Dateifreigabe verknüpften Berechtigungsrichtlinien überprüfen. Anschließend müssen Sie alle erforderlichen Berechtigungen hinzufügen, die fehlen. Identifizieren Sie anhand der Fehlermeldung Zugriff verweigert, welche Berechtigungen Sie überprüfen müssen:

  • Beim Erstellen des Fileshares bleibt der Filesharing im Status „Erstellen“ oder „Nicht verfügbar“ hängen
  • Dateien in den Filesharing schreiben
  • Dateien aus dem Filesharing lesen

Beim Erstellen des Fileshares bleibt der Filesharing im Status „Erstellen“ oder „Nicht verfügbar“ hängen

Wenn beim Erstellen der Dateifreigabe die Fehlermeldung Zugriff verweigert angezeigt wird und die Dateifreigabe im Status „Erstellen“ oder „Nicht verfügbar“ hängen bleibt, sieht das CloudWatch-Protokoll wie folgt aus:

{
"severity": "ERROR",
"bucket": "AWSDOC-EXAMPLE-BUCKET",
"prefix": "",
"roleArn": "arn:aws:iam::123456789:role/service-role/StorageGatewayBucketAccessRolec6914add-b232-40dc-abef-4a9eeaaed8",
"source": "share-ABCD1234",
"type": "S3AccessDenied",
"operation": "s3:ListObjects",
"gateway": "sgw-ABCD1234",
"timestamp": "1597486809991"
}

Überprüfen Sie die folgenden Berechtigungseinstellungen:

1.Überprüfen Sie die AWS Identity and Access Management (IAM) -Rolle, die mit Ihrer Dateifreigabe verknüpft ist, um sicherzustellen, dass sie über die folgenden Berechtigungen für den zugehörigen Amazon Simple Storage Service (Amazon S3)-Bucket verfügt:

  • s3:GetBucketLocation
  • s3:ListBucket

2.Überprüfen Sie die Bucket-Richtlinie des zugehörigen Buckets, um sicherzustellen, dass keine expliziten Ablehnungsanweisungen vorhanden sind („Effekt“: „Verweigern“), die den Zugriff blockieren, der für die folgenden Berechtigungen erforderlich ist:

  • s3:GetBucketLocation
  • s3:ListBucket

3.Wenn die Amazon Virtual Private Cloud (Amazon VPC), in der sich das File-Gateway befindet, einen VPC-Endpunkt für Amazon S3 verwendet, überprüfen Sie die VPC-Endpunktrichtlinie. Vergewissern Sie sich, dass die Richtlinie Ihrem File-Gateway den Zugriff auf den S3-Bucket und die Objekte ermöglicht.

Dateien in den Filesharing schreiben

Wenn beim Schreiben von Dateien in den Fileshare der Fehler Zugriff verweigert angezeigt wird, sieht das CloudWatch-Protokoll wie folgt aus:

{
"severity": "ERROR",
"bucket": "AWSDOC-EXAMPLE-BUCKET",
"prefix": "/test1",
"roleArn": "arn:aws:iam::123456789:role/service-role/StorageGatewayBucketAccessRole0617b6ee-4809-48bc-b646-8dda9e9c32",
"source": "share-ABCD1234",
"type": "S3AccessDenied",
"operation": "S3Upload",
"gateway": "sgw-ABCD1234",
"timestamp": "1597493322178"
}

Überprüfen Sie die folgenden Berechtigungseinstellungen:

 

1.Überprüfen Sie die IAM-Rolle, die mit Ihrer Dateifreigabe verknüpft ist, um sicherzustellen, dass sie über die folgenden Berechtigungen für den zugehörigen Amazon S3-Bucket verfügt:

  • s3:PutObject
  • s3:PutObjectAcl

2.Überprüfen Sie die Bucket-Richtlinie des zugehörigen Buckets, um sicherzustellen, dass keine expliziten Ablehnungsanweisungen vorhanden sind („Effekt“: „Verweigern“), die den Zugriff blockieren, den Sie für die folgenden Berechtigungen benötigen:

  • s3:PutObject
  • s3:PutObjectAcl

3.Wenn die Amazon VPC, in der sich das File-Gateway befindet, einen VPC-Endpunkt für Amazon S3 verwendet, überprüfen Sie die VPC-Endpunktrichtlinie. Vergewissern Sie sich, dass die Richtlinie Ihrem File-Gateway den Zugriff auf den S3-Bucket und die Objekte ermöglicht.

4.Wenn der zugehörige S3-Bucket mit AWS Key Management Service (AWS KMS) verschlüsselt ist, überprüfen Sie die Richtlinie des Verschlüsselungsschlüssels. Die Schlüsselrichtlinie muss der IAM-Rolle, die mit Ihrer Dateifreigabe verknüpft ist, die folgenden Berechtigungen gewähren:

  • kms:Decrypt
  • kms:Encrypt
  • kms:ReEncrypt
  • kms:GenerateDataKey
  • kms:DescribeKey

Wenn die IAM-Rolle Ihres Fileshares und der AWS-KMS-Schlüssel zu verschiedenen AWS-Konten gehören, müssen diese Berechtigungen sowohl in der Schlüsselrichtlinie als auch in der Richtlinie der IAM-Rolle festgelegt werden.

Dateien aus dem Filesharing lesen

Wenn beim Lesen von Dateien aus dem Filesharing der Fehler Zugriff verweigert angezeigt wird, sieht das CloudWatch-Protokoll wie folgt aus:

{
"severity": "ERROR",
"bucket": "AWSDOC-EXAMPLE-BUCKET",
"prefix": "/test1",
"roleArn": "arn:aws:iam::123456789:role/service-role/StorageGatewayBucketAccessRole0617b6ee-4809-48bc-b646-8dda9e9c32",
"source": "share-ABCD1234",
"type": "S3AccessDenied",
"operation": "s3:HeadObject",
"gateway": "sgw-ABCD12347",
"timestamp": "1597488260202"
}

Überprüfen Sie die folgenden Berechtigungseinstellungen:

 

1.Überprüfen Sie die IAM-Rolle, die mit Ihrer Dateifreigabe verknüpft ist, um sicherzustellen, dass sie über die folgenden Berechtigungen für den zugehörigen Amazon S3-Bucket verfügt:

  • s3:GetObject
  • s3:GetObjectAcl

2.Überprüfen Sie die Bucket-Richtlinie des zugehörigen Buckets, um sicherzustellen, dass keine expliziten Ablehnungsanweisungen vorhanden sind („Effekt“: „Verweigern“), die den Zugriff blockieren, den Sie für die folgenden Berechtigungen benötigen:

  • s3:GetObject
  • s3:GetObjectAcl

3.Wenn die Amazon VPC, in der sich das File-Gateway befindet, einen VPC-Endpunkt für Amazon S3 verwendet, überprüfen Sie die VPC-Endpunktrichtlinie. Vergewissern Sie sich, dass die Richtlinie Ihrem File-Gateway den Zugriff auf den S3-Bucket und die Objekte ermöglicht.

4.Wenn der zugehörige S3-Bucket mit AWS KMS verschlüsselt ist, überprüfen Sie die Richtlinie des Verschlüsselungsschlüssels. Die Schlüsselrichtlinie muss der IAM-Rolle, die mit Ihrer Dateifreigabe verknüpft ist, die folgenden Berechtigungen gewähren:

  • kms:Decrypt
  • kms:Encrypt
  • kms:ReEncrypt
  • kms:GenerateDataKey
  • kms:DescribeKey

Wenn die IAM-Rolle Ihres Fileshares und der AWS-KMS-Schlüssel zu verschiedenen AWS-Konten gehören, müssen diese Berechtigungen sowohl in der Schlüsselrichtlinie als auch in der Richtlinie der IAM-Rolle festgelegt werden.

**Hinweis:**Die folgende Beispiel-IAM-Richtlinie gewährt Ihrem Fileshare die erforderlichen Berechtigungen zum Auflisten eines Buckets sowie zum Hochladen, Herunterladen und Löschen von Objekten aus dem Bucket (AWSDOC-EXAMPLE-BUCKET):

{
"Version": "2012-10-17",
"Statement": [{
"Action": [
"s3:GetAccelerateConfiguration",
"s3:GetBucketLocation",
"s3:GetBucketVersioning",
"s3:ListBucket",
"s3:ListBucketVersions",
"s3:ListBucketMultipartUploads"
],
"Resource": "arn:aws:s3:::AWSDOC-EXAMPLE-BUCKET",
"Effect": "Allow"
},
{
"Action": [
"s3:AbortMultipartUpload",
"s3:DeleteObject",
"s3:DeleteObjectVersion",
"s3:GetObject",
"s3:GetObjectAcl",
"s3:GetObjectVersion",
"s3:ListMultipartUploadParts",
"s3:PutObject",
"s3:PutObjectAcl"
],
"Resource": "arn:aws:s3:::AWSDOC-EXAMPLE-BUCKET/*",
"Effect": "Allow"
}
]
}

Verwandte Informationen

Überwachung Ihres Datei-Gateways

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren