¿Cómo puedo solucionar un error S3AccessDenied en los registros de estado de CloudWatch de mi puerta de enlace de archivos?

5 minutos de lectura
0

Estoy intentando acceder a mi archivo compartido de Network File System (NFS) o Server Message Block (SMB) en AWS Storage Gateway. pero los registros de estado de la puerta de enlace de archivos de Amazon CloudWatch muestran un error S3AccessDenied. ¿Cómo puedo solucionarlo?

Resolución

Para resolver un error S3AccessDenied, debe revisar las políticas de permisos asociadas a su recurso compartido de archivos. A continuación, debe añadir los permisos necesarios que falten. Identifique los permisos que debe revisar en función de cuando aparezca el error de acceso denegado:

  • Al crear un recurso compartido de archivos, el recurso en cuestión se atasca en el estado de creación o no disponible
  • Al escribir archivos en el recurso compartido de archivos
  • Al leer archivos desde el recurso compartido de archivos

Al crear un recurso compartido de archivos, el recurso en cuestión se atasca en el estado de creación o no disponible

Si aparece el error Acceso denegado al crear el recurso compartido de archivos y este recurso se bloquea en el estado de creación o no disponible, el registro de CloudWatch es similar al siguiente:

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

Revise la siguiente configuración de permisos:

1.Compruebe el rol de AWS Identity and Access Management (IAM) asociado a su recurso compartido de archivos para confirmar que cuenta con los siguientes permisos para el bucket de Amazon Simple Storage Service (Amazon S3) asociado:

  • s3:GetBucketLocation
  • s3:ListBucket

2.Revise la política de bucket del bucket asociado para confirmar que no hay declaraciones de denegación explícitas («Effect»: «Deny») que bloqueen el acceso necesario para los siguientes permisos:

  • s3:GetBucketLocation
  • s3:ListBucket

3.Si la Amazon Virtual Private Cloud (Amazon VPC) en la que se encuentra la pasarela de archivos utiliza un punto de conexión de VPC para Amazon S3, revise la política de puntos de conexión de VPC. Confirme que la política permita que su pasarela de archivos acceda al bucket y a los objetos de S3.

Al escribir archivos en el recurso compartido de archivos

Si aparece el error Acceso denegado al escribir archivos en el recurso compartido de archivos, el registro de CloudWatch es similar al siguiente:

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

Revise la siguiente configuración de permisos:

 

1.Compruebe el rol de IAM asociado a su recurso compartido de archivos para confirmar que cuenta con los siguientes permisos para el bucket de Amazon S3 asociado:

  • s3:PutObject
  • s3:PutObjectAcl

2.Revise la política de bucket del bucket asociado para confirmar que no hay declaraciones de denegación explícitas («Effect»: «Deny») que bloqueen el acceso que necesita para los siguientes permisos:

  • s3:PutObject
  • s3:PutObjectAcl

3.Si la Amazon VPC en la que se encuentra la pasarela de archivos utiliza un punto de conexión de VPC para Amazon S3, revise la política de puntos de conexión de VPC. Confirme que la política permita que su pasarela de archivos acceda al bucket y a los objetos de S3.

4.Si el bucket de S3 asociado está cifrado con AWS Key Management Service (AWS KMS), revise la política de claves de cifrado. La política de claves debe conceder los siguientes permisos al rol de IAM asociado al recurso compartido de archivos:

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

Si el rol de IAM de su recurso compartido de archivos y la clave de AWS KMS pertenecen a diferentes cuentas de AWS, estos permisos deben configurarse tanto en la política de claves como en la política del rol de IAM.

Al leer archivos desde el recurso compartido de archivos

Si aparece el error Acceso denegado al leer archivos del recurso compartido de archivos, el registro de CloudWatch es similar al siguiente:

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

Revise la siguiente configuración de permisos:

 

1.Compruebe el rol de IAM asociado a su recurso compartido de archivos para confirmar que cuenta con los siguientes permisos para el bucket de Amazon S3 asociado:

  • s3:GetObject
  • s3:GetObjectAcl

2.Revise la política de bucket del bucket asociado para confirmar que no hay declaraciones de denegación explícitas («Effect»: «Deny») que bloqueen el acceso que necesita para los siguientes permisos:

  • s3:GetObject
  • s3:GetObjectAcl

3.Si la Amazon VPC en la que se encuentra la pasarela de archivos utiliza un punto de conexión de VPC para Amazon S3, revise la política de puntos de conexión de VPC. Confirme que la política permita que su pasarela de archivos acceda al bucket y a los objetos de S3.

4.Si el bucket de S3 asociado está cifrado con AWS KMS, revise la política de claves de cifrado. La política de claves debe conceder los siguientes permisos al rol de IAM asociado al recurso compartido de archivos:

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

Si el rol de IAM de su recurso compartido de archivos y la clave de AWS KMS pertenecen a diferentes cuentas de AWS, estos permisos deben configurarse tanto en la política de claves como en la política del rol de IAM.

Nota: El siguiente ejemplo de política de IAM otorga a su recurso compartido de archivos los permisos necesarios para incluir un bucket, así como para cargar, descargar y eliminar objetos del 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"
}
]
}

Información relacionada

Supervisión de la puerta de enlace de archivos

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 años