Como posso solucionar um erro S3AccessDenied dos logs de integridade do CloudWatch do meu gateway de arquivo?

5 minuto de leitura
0

Estou tentando acessar meu compartilhamento de arquivos do Network File System (NFS) ou do Server Message Block (SMB) no AWS Storage Gateway. No entanto, os logs de integridade do meu gateway de arquivos do Amazon CloudWatch estão mostrando um erro S3AccessDenied. Como posso solucionar esse problema?

Resolução

Para resolver um erro S3AccessDenied, você deve revisar as políticas de permissões associadas ao seu compartilhamento de arquivos. Em seguida, deve adicionar todas as permissões necessárias que estão faltando. Identifique as permissões que você deve revisar com base em quando você recebe o erro de Acesso negado:

  • Criando o compartilhamento de arquivo, e o compartilhamento de arquivo está travado no estado de criação ou indisponível
  • Gravar arquivos no compartilhamento de arquivos
  • Ler arquivos do compartilhamento de arquivos

Criando o compartilhamento de arquivo, e o compartilhamento de arquivo está travado no estado de criação ou indisponível

Se você receber o erro Acesso negado ao criar o compartilhamento de arquivos e o compartilhamento de arquivos ficar preso no estado de criação ou indisponível, o log do CloudWatch será semelhante ao seguinte:

{
"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 as seguintes configurações de permissões:

1.    Verifique o perfil do AWS Identity and Access Management (IAM) associado ao seu compartilhamento de arquivos para confirmar se ele tem as seguintes permissões para o bucket associado do Amazon Simple Storage Service (Amazon S3):

  • s3:GetBucketLocation
  • s3:ListBucket

2.    Analise a política de bucket do bucket associado para confirmar se não há instruções de negação explícitas (“Efeito”: “Negar”) que bloqueiam o acesso necessário para as seguintes permissões:

  • s3:GetBucketLocation
  • s3:ListBucket

3.    Se a Amazon Virtual Private Cloud (Amazon VPC) em que o gateway de arquivos se encontra usar um endpoint de VPC para o Amazon S3, analise a política de endpoint da VPC. Confirme se a política permite que seu gateway de arquivos acesse o bucket e os objetos do S3.

Gravar arquivos no compartilhamento de arquivos

Se você receber o erro de Acesso negado ao gravar arquivos no compartilhamento de arquivos, o log do CloudWatch será semelhante ao seguinte:

{
"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 as seguintes configurações de permissões:

 

1.    Verifique o perfil do IAM associado ao seu compartilhamento de arquivos para confirmar se ela tem as seguintes permissões para o bucket do Amazon S3 associado:

  • s3:PutObject
  • s3:PutObjectAcl

2.    Analise a política de bucket do bucket associado para confirmar se não há instruções de negação explícitas (“Efeito”: “Negar”) que bloqueiam o acesso necessário para as seguintes permissões:

  • s3:PutObject
  • s3:PutObjectAcl

3.    Se a Amazon VPC em que o gateway de arquivos se encontra usar um endpoint de VPC para o Amazon S3, analise a política de endpoint da VPC. Confirme se a política permite que seu gateway de arquivos acesse o bucket e os objetos do S3.

4.    Se o bucket do S3 associado estiver criptografado com o AWS Key Management Service (AWS KMS), revise a política da chave de criptografia. A política de chaves deve conceder as seguintes permissões ao perfil do IAM associado ao seu compartilhamento de arquivos:

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

Se o perfil do IAM do seu compartilhamento de arquivos e a chave do AWS KMS pertencerem a contas diferentes da AWS, essas permissões deverão ser definidas tanto na política de chaves quanto na política do perfil do IAM.

Ler arquivos do compartilhamento de arquivos

Se você receber o erro de Acesso negado ao ler arquivos do compartilhamento de arquivos, o log do CloudWatch será semelhante ao seguinte:

{
"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 as seguintes configurações de permissões:

 

1.    Verifique o perfil do IAM associado ao seu compartilhamento de arquivos para confirmar se ela tem as seguintes permissões para o bucket do Amazon S3 associado:

  • s3:GetObject
  • s3:GetObjectAcl

2.    Analise a política de bucket do bucket associado para confirmar se não há instruções de negação explícitas (“Efeito”: “Negar”) que bloqueiam o acesso necessário para as seguintes permissões:

  • s3:GetObject
  • s3:GetObjectAcl

3.    Se a Amazon VPC em que o gateway de arquivos se encontra usar um endpoint de VPC para o Amazon S3, analise a política de endpoint da VPC. Confirme se a política permite que seu gateway de arquivos acesse o bucket e os objetos do S3.

4.    Se o bucket do S3 associado estiver criptografado com o AWS KMS, revise a política da chave de criptografia. A política de chaves deve conceder as seguintes permissões ao perfil do IAM associado ao seu compartilhamento de arquivos:

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

Se o perfil do IAM do seu compartilhamento de arquivos e a chave do AWS KMS pertencerem a contas diferentes da AWS, essas permissões deverão ser definidas tanto na política de chaves quanto na política do perfil do IAM.

**Observação:**O exemplo de política do IAM a seguir concede ao compartilhamento de arquivos as permissões necessárias para listar um bucket, bem como para carregar, baixar e excluir objetos do 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"
}
]
}

Informações relacionadas

Monitoramento do gateway de arquivo

AWS OFICIAL
AWS OFICIALAtualizada há 2 anos