Come posso risolvere un errore S3AccessDenied dai log di integrità di CloudWatch del mio gateway di file?

5 minuti di lettura
0

Sto cercando di accedere alla mia condivisione di file in Server Message Block (SMB) o File system di rete (NFS) sul Gateway di archiviazione AWS. Tuttavia, i log di integrità del mio gateway di file di Amazon CloudWatch mostrano un errore S3AccessDenied. Come posso risolvere questo problema?

Risoluzione

Per risolvere un errore S3AccessDenied, devi esaminare le politiche di autorizzazione associate alla condivisione dei file. Quindi, è necessario aggiungere le autorizzazioni richieste mancanti. Identifica le autorizzazioni che devi esaminare in base a quando ricevi l'errore Accesso negato:

  • La creazione della condivisione di file e la condivisione di file è bloccata nello stato di creazione o non disponibile
  • Scrittura di file nella condivisione di file
  • Lettura di file dalla condivisione di file

La creazione della condivisione di file e la condivisione di file è bloccata nello stato di creazione o non disponibile

Se ricevi l'errore Accesso negato durante la creazione della condivisione di file e la condivisione di file è bloccata nello stato di creazione o non disponibile, il log di CloudWatch è simile al seguente:

{
"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"
}

Controlla le seguenti impostazioni delle autorizzazioni:

1.    Controlla il ruolo di AWS Identity and Access Management (IAM) associato alla tua condivisione di file per confermare che disponga delle seguenti autorizzazioni per il bucket Amazon Simple Storage Service (Amazon S3) associato:

  • s3:GetBucketLocation
  • s3:ListBucket

2.    Esamina la policy del bucket del bucket associato per confermare che non ci sono dichiarazioni di negazione esplicite ("Effetto": "Nega") che bloccano l'accesso necessario per le seguenti autorizzazioni:

  • s3:GetBucketLocation
  • s3:ListBucket

3.    Se Amazon Virtual Private Cloud (Amazon VPC) in cui si trova il gateway di file utilizza un endpoint VPC per Amazon S3, rivedi la policy relativa agli endpoint VPC. Verifica che la policy consenta al tuo gateway di file di accedere al bucket e agli oggetti S3.

Scrittura di file nella condivisione di file

Se ricevi l'errore Accesso negato durante la scrittura di file nella condivisione di file, il log di CloudWatch è simile al seguente:

{
"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"
}

Controlla le seguenti impostazioni delle autorizzazioni:

 

1.    Controlla il ruolo IAM associato alla tua condivisione di file per confermare che disponga delle seguenti autorizzazioni per il bucket Amazon S3 associato:

  • s3:PutObject
  • s3:PutObjectAcl

2.    Esamina la policy del bucket del bucket associato per confermare che non ci sono dichiarazioni di negazione esplicite ("Effetto": "Nega") che bloccano l'accesso necessario per le seguenti autorizzazioni:

  • s3:PutObject
  • s3:PutObjectAcl

3.   Se Amazon VPC in cui si trova il gateway di file utilizza un endpoint VPC per Amazon S3, consulta la policy relativa agli endpoint VPC. Verifica che la policy consenta al tuo gateway di file di accedere al bucket e agli oggetti S3.

4.    Se il bucket S3 associato è crittografato con il Servizio di gestione delle chiavi AWS (AWS KMS), rivedi la policy della chiave di crittografia. La policy chiave deve concedere le seguenti autorizzazioni per il ruolo IAM associato alla condivisione di file:

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

Se il ruolo IAM della tua condivisione di file e la chiave AWS KMS appartengono a diversi account AWS, queste autorizzazioni devono essere impostate sia nella policy della chiave sia nella policy del ruolo IAM.

Lettura di file dalla condivisione di file

Se ricevi l'errore Accesso negato durante la lettura di file dalla condivisione di file, il log di CloudWatch è simile al seguente:

{
"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"
}

Controlla le seguenti impostazioni delle autorizzazioni:

 

1.    Controlla il ruolo IAM associato alla tua condivisione di file per confermare che disponga delle seguenti autorizzazioni per il bucket Amazon S3 associato:

  • s3:GetObject
  • s3:GetObjectAcl

2.    Esamina la policy del bucket del bucket associato per confermare che non ci sono dichiarazioni di negazione esplicite ("Effetto": "Nega") che bloccano l'accesso necessario per le seguenti autorizzazioni:

  • s3:GetObject
  • s3:GetObjectAcl

3.   Se Amazon VPC in cui si trova il gateway di file utilizza un endpoint VPC per Amazon S3, consulta la policy relativa agli endpoint VPC. Verifica che la policy consenta al tuo gateway di file di accedere al bucket e agli oggetti S3.

4.    Se il bucket S3 associato è crittografato con AWS KMS, rivedi la politica della chiave di crittografia. La policy chiave deve concedere le seguenti autorizzazioni per il ruolo IAM associato alla condivisione di file:

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

Se il ruolo IAM della tua condivisione di file e la chiave AWS KMS appartengono a diversi account AWS, queste autorizzazioni devono essere impostate sia nella policy della chiave sia nella policy del ruolo IAM.

**Nota:**Il seguente esempio di policy IAM concede alla condivisione dei file le autorizzazioni necessarie per elencare un bucket, nonché per caricare, scaricare ed eliminare oggetti dal 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"
}
]
}

Informazioni correlate

Monitoraggio del gateway di file

AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa