ECS: ACL de bucket somente leitura para usuário de objeto não proprietário que não consegue fazer download dos objetos carregados

摘要: Esta base de conhecimento explica o conceito de ACLs (Access Control Lists, listas de controle de acesso) de buckets para o usuário de objeto não proprietário de uma perspectiva somente leitura no navegador S3. ...

本文章適用於 本文章不適用於 本文無關於任何特定產品。 本文未識別所有產品版本。

症狀

O usuário de objeto não proprietário foi adicionado como somente leitura ao bucket usando uma ACL de bucket.

Um usuário de objeto que não é proprietário do bucket não consegue fazer download dos objetos que foram carregados pelo usuário proprietário do bucket de objeto antes da criação da ACL do bucket.

O fluxo do problema é o seguinte:

  1. O bucket foi criado com o proprietário do objeto atribuído ao usuário.
  2. Alguns arquivos foram carregados no bucket pelo usuário proprietário do objeto.
  3. O usuário de objeto não proprietário foi adicionado como somente leitura ao bucket usando uma ACL de bucket.
  4. Ao tentar acessar o bucket, o usuário de objeto não proprietário pode listar e fazer download de objetos carregados recentemente, mas não pode fazer download de objetos carregados antes da ACL de bucket somente leitura. Podemos ver que os direitos do usuário sobre os objetos não são definidos no navegador S3 de acordo com a configuração na interface do usuário do ECS.

O erro quando o usuário de objeto não proprietário clica em um objeto usando o navegador S3 é o seguinte: (Acesso negado: Acesso negado):
O erro quando o usuário de objeto não proprietário clica em um objeto por meio do navegador S3 é o seguinte: (Acesso negado: Acesso negado) 

A seguir está a configuração da ACL do bucket para o usuário proprietário do objeto (a_s3user) e o usuário não proprietário do objeto (a_s3test):
A seguir está a configuração da ACL de bucket para o usuário proprietário do objeto (a_s3user) e o usuário de objeto não proprietário (a_s3test)

原因

As permissões do S3 podem ser definidas no nível do bucket ou do objeto. O ECS segue os mesmos princípios do AWS S3, dependendo do tipo de política aplicada. Ela determina o tipo de operações que serão permitidas no nível do bucket ou do objeto.

  1. Quando READ e READ ACL são concedidas no nível de bucket do ECS, o proprietário que não é do bucket deve listar apenas os objetos no bucket. O proprietário que não é do bucket não pode fazer download dos dados do bucket
  2. Ao gravar um objeto em um bucket, somente o usuário que grava o objeto tem permissão de leitura. Para que outros usuários leiam os objetos, o proprietário precisa conceder explicitamente permissão aos usuários.
  3. Para conceder permissão a proprietários que não são do bucket, temos que usar as políticas de bucket do S3 

As permissões de ACL que podem ser atribuídas são fornecidas na tabela a seguir. As permissões aplicáveis dependem do tipo de bucket.

Tabela 1. Bucket ACLs
ACL Permissão
Read Permite que o usuário liste os objetos no bucket
Read ACL Permite que o usuário leia a ACL do bucket
Gravação Permite que o usuário crie ou atualize qualquer objeto no bucket
Gravar ACL. Permite que o usuário grave a ACL para o bucket
Executar Define a permissão de execução quando acessada como um file system — essa permissão não tem efeito quando o objeto é acessado usando os protocolos de objeto do ECS.
Full Control Permite ao usuário ler, gravar, ler e gravar na ACL.
NOTA:  Os não proprietários podem ler, gravar, ler ACL e gravar ACL se a permissão tiver sido concedida ou só podem listar os objetos.
Privileged Write Permite que o usuário execute gravações em um bucket ou objeto quando o usuário não tem permissão de gravação normal — necessário para buckets CAS
Apagar Permite que o usuário exclua buckets e objetos — obrigatório para buckets CAS
Nenhuma O usuário não tem privilégios no bucket.

A AWS oferece suporte a vários tipos de política.  

Referência de ACL de bucket da AWS

A tabela a seguir lista o conjunto de permissões compatíveis com o Amazon S3 em uma ACL. O conjunto de permissões de ACL é o mesmo para uma ACL de objeto e uma ACL de bucket. No entanto, dependendo do contexto (ACL de bucket ou ACL de objeto), essas permissões de ACL concedem permissões para buckets específicos ou operações de objeto. A tabela lista as permissões e descreve o que elas significam no contexto de objetos e buckets.

Permissão Quando concedido em um bucket Quando concedido em um objeto
READ Permite que o beneficiário liste os objetos no bucket Permite que o beneficiário leia os dados do objeto e seus metadados
WRITE Permite que o beneficiário crie, substitua e exclua qualquer objeto no bucket Não aplicável
READ_ACP Permite que o beneficiário leia a ACL do bucket Permite que o beneficiário leia a ACL do objeto
WRITE_ACP Permite que o beneficiário grave a ACL para o bucket aplicável Permite que o beneficiário grave a ACL para o objeto aplicável
FULL_CONTROL Permite ao concedido as permissões READ, WRITE, READ_ACP e WRITE_ACP no bucket Permite ao conceder as permissões READ, READ_ACP e WRITE_ACP no objeto


Documentação do Amazon S3

A tabela a seguir mostra como cada permissão de ACL é associada às permissões correspondentes da política de acesso. Como você pode ver, a política de acesso permite mais permissões do que uma ACL. Você usa as ACLs principalmente para conceder permissões básicas de leitura/gravação, semelhantes às permissões do sistema de arquivos. Para obter mais informações sobre quando usar uma ACL, consulte Diretrizes para usar as opções de política de acesso disponíveis.

Permissão de ACL Permissões de política de acesso correspondentes quando a permissão de ACL é concedida em um bucket Permissões de política de acesso correspondentes quando a permissão de ACL é concedida em um objeto
READ s3:ListBuckets3:ListBucketVersionss3:ListBucketMultipartUploads s3:GetObjects3:GetObjectVersions3:GetObjectTorrent
WRITE

s3:PutObject e s3:DeleteObject

Além disso, quando o donatário for o proprietário da caçamba, conceder WRITE A permissão em uma ACL de bucket permite que o s3:DeleteObjectVersion Ação a ser executada em qualquer versão nesse bucket.

Não aplicável
READ_ACP s3:GetBucketAcl s3:GetObjectAcl e s3:GetObjectVersionAcl
WRITE_ACP s3:PutBucketAcl s3:PutObjectAcl e s3:PutObjectVersionAcl
FULL_CONTROL Equivalente à concessão READWRITEREAD_ACPWRITE_ACP Permissões de ACL - Essa permissão de ACL é associada a uma combinação de permissões de política de acesso correspondentes. Equivalente à concessão READREAD_ACPWRITE_ACP Permissões de ACL. Portanto, essa permissão de ACL é associada a uma combinação de permissões de política de acesso correspondentes.

解析度

Opção 1:
Consulte o Guia de acesso aos dados do ECS sobre como usar políticas de bucket. Ao contrário das ACLs, que permitem todas as ações ou nenhuma, as políticas de acesso fornecem a usuários específicos, ou a todos os usuários, permissões granulares e condicionais para ações específicas. As condições da política podem ser usadas para atribuir permissões para uma variedade de objetos que correspondem à condição. Isso pode ser usado para atribuir automaticamente permissões a objetos carregados recentemente.

Consulte AWS S3:

https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html
https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html

https://docs.aws.amazon.com/AmazonS3/latest/API/API_Operations.htmlEm UI-> Manage-Bucket>- Edit bucket policy>, coloque algo semelhante a isso no editor de políticas: 

{
  "Version": "2012-10-17",
  "Id": "Policy1593674317613",
  "Statement": [
    {
      "Action": [
        "s3:GetObject"
      ],
      "Resource": "bucket_name/*",
      "Effect": "Allow",
      "Principal": "read-only_user",
      "Sid": "Stmt1593673962638"
    }
  ]
}
Onde Ação: "S3:GetObject" é a ação para ter permissão para baixar objetos.
Onde Efeito: "allow"
where resource": "bucket_name/*" é o nome do bucket.
Onde Principal": "read-only_user", é um usuário não proprietário do bucket. 

Opção 2:
Usando o navegador S3 com o proprietário do objeto, altere a permissão de Usuários autenticados para objetos carregados antes da ACL de bucket somente leitura para garantir que o usuário de objeto não proprietário possa fazer download do objeto:
Usando o navegador S3 com o proprietário do objeto, altere a permissão de Usuários autenticados para objetos carregados antes da ACL de bucket somente leitura para garantir que o usuário de objeto não proprietário possa fazer download do objeto:

其他資訊

Se você estiver encontrando problemas para carregar um objeto por meio do proprietário do objeto e as permissões não forem aplicadas aos usuários autenticados que têm acesso de gravação, leia o artigo da base de conhecimento 520711 
 

受影響的產品

ECS Appliance

產品

ECS Appliance, ECS Appliance Hardware Gen1 U-Series, ECS Appliance Software with Encryption, ECS Appliance Software without Encryption
文章屬性
文章編號: 000070218
文章類型: Solution
上次修改時間: 10 9月 2025
版本:  5
向其他 Dell 使用者尋求您問題的答案
支援服務
檢查您的裝置是否在支援服務的涵蓋範圍內。