Configurar Object Ownership ao criar um bucket - Amazon Simple Storage Service

Configurar Object Ownership ao criar um bucket

Ao criar um bucket, você pode configurar o S3 Object Ownership. Para definir o Object Ownership para um bucket existente, consulte Configurar Object Ownership em um bucket existente.

O S3 Object Ownership é uma configuração no nível do bucket do Amazon S3 que você pode usar para desabilitar as listas de controle de acesso (ACLs) e assumir a propriedade de cada objeto em seu bucket, simplificando o gerenciamento de acesso para dados armazenados no Amazon S3. Por padrão, a Propriedade de Objetos do S3 é definida como a configuração Imposto pelo proprietário do bucket e as ACLs são desabilitadas para novos buckets. Com as ACLs desabilitadas, o proprietário do bucket possui cada objeto no bucket e gerencia o acesso aos dados exclusivamente usando políticas de gerenciamento de acesso. Recomendamos manter as ACLs desabilitadas, exceto em circunstâncias incomuns em que seja necessário controlar o acesso para cada objeto individualmente.

Há três configurações em Object Ownership que podem ser usadas para controlar a propriedade de objetos carregados no bucket e para desabilitar ou habilitar ACLs:

ACLs desabilitadas
  • Imposto pelo proprietário do bucket (padrão): as ACLs são desabilitadas e o proprietário do bucket automaticamente tem a propriedade e o controle total sobre todos os objetos do bucket. As ACLs não afetam mais as permissões nos dados no bucket do S3. O bucket usa políticas para definir o controle de acesso.

ACLs habilitadas
  • Bucket owner preferred (Preferencial do proprietário do bucket): o proprietário do bucket tem a propriedade e o controle total sobre novos objetos que outras contas gravam no bucket com a ACL bucket-owner-full-control pré-configurada.

  • Object writer (Gravador de objetos): a Conta da AWS que carrega um objeto é a proprietária do objeto, tem controle total sobre ele e pode conceder acesso a outros usuários por meio de ACLs.

Permissões: para aplicar a configuração Bucket owner enforced (Imposto pelo proprietário do bucket) ou Bucket owner preferred (Proprietário do bucket preferido), é necessário ter as seguintes permissões: s3:CreateBucket e s3:PutBucketOwnershipControls. Nenhuma permissão adicional é necessária ao criar um bucket com a configuração Object writer (Autor do objeto). Consulte mais informações sobre as permissões do Amazon S3 em Actions, resources, and condition keys for Amazon S3 na Referência de autorização do serviço.

Importante

A maioria dos casos de uso modernos no Amazon S3 não requer mais o uso de ACLs, e recomendamos desabilitar as ACLs, exceto em circunstâncias incomuns em que seja necessário controlar o acesso para cada objeto individualmente. Com Object Ownership, é possível desabilitar ACLs e confiar em políticas para controle de acesso. Ao desabilitar ACLs, você pode facilmente manter um bucket com objetos carregados por diferentes contas da AWS. Como proprietário do bucket, você possui todos os objetos do bucket e pode gerenciar o acesso a eles usando políticas.

  1. Faça login no AWS Management Console e abra o console do Amazon S3 em https://console.aws.amazon.com/s3/.

  2. No painel de navegação à esquerda, escolha Buckets.

  3. Selecione Create bucket (Criar bucket).

    A página Create bucket (Criar bucket) é aberta.

  4. Para Nome do bucket, insira um nome para o bucket.

    O nome do bucket deve:

    • Seja exclusivo em uma partição. Uma partição é um agrupamento de regiões. Atualmente, a AWS tem três partições: aws (regiões padrão), aws-cn (regiões da China) e aws-us-gov (AWS GovCloud (US) Regions).

    • Ter entre 3 e 63 caracteres.

    • Consistem apenas em letras minúsculas, números, pontos (.) e hífens (-). Para obter a melhor compatibilidade, recomendamos evitar o uso de pontos (.) em nomes de buckets, exceto em buckets usados apenas para hospedagem de sites estáticos.

    • Inicie e termine com uma letra ou um número.

    Depois de criado o bucket, não é possível mudar o nome. Para obter mais informações sobre como nomear buckets, consulte Regras de nomeação de bucket.

    Importante

    Evite incluir informações confidenciais, como números de conta, no nome do bucket. O nome do bucket é visível nos URLs que apontam para os objetos no bucket.

  5. Em Region (Região), escolha a Região da AWS onde deseja que o bucket resida.

    Para reduzir a latência e os custos e atender aos requisitos regulatórios, selecione uma região perto de você. Os objetos armazenados em uma região nunca saem dessa região, a menos que você os transfira para outra região. Para obter uma lista de Regiões da AWS do Amazon S3, consulte Endpoints de AWS service (Serviço da AWS) no Referência geral da Amazon Web Services.

  6. Em Object Ownership, para desabilitar ou habilitar ACLs e controlar a propriedade de objetos carregados em seu bucket, escolha uma das seguintes configurações:

    ACLs desabilitadas
    • Imposto pelo proprietário do bucket (padrão): as ACLs são desabilitadas e o proprietário do bucket automaticamente tem a propriedade e o controle total sobre todos os objetos do bucket. As ACLs não afetam mais as permissões de acesso aos dados no bucket do S3. O bucket usa políticas exclusivamente para definir o controle de acesso.

      Por padrão, as ACLs estão desabilitadas. A maioria dos casos de uso modernos no Amazon S3 não exige mais o uso de ACLs. Recomendamos manter as ACLs desabilitadas, exceto em circunstâncias incomuns em que seja necessário controlar o acesso para cada objeto individualmente. Para ter mais informações, consulte Controlar a propriedade de objetos e desabilitar ACLs para seu bucket.

    ACLs habilitadas
    • Bucket owner preferred (Preferencial do proprietário do bucket): o proprietário do bucket tem a propriedade e o controle total sobre novos objetos que outras contas gravam no bucket com a ACL bucket-owner-full-control pré-configurada.

      Se você aplicar a configuração Proprietário do bucket preferido para exigir que todos os uploads do Amazon S3 incluam a ACL bucket-owner-full-control pré-configurada, será possível adicionar uma política de bucket que só permita uploads de objetos que usem essa ACL.

    • Object writer (Gravador de objetos): a Conta da AWS que carrega um objeto é a proprietária do objeto, tem controle total sobre ele e pode conceder acesso a outros usuários por meio de ACLs.

    nota

    A configuração padrão é Imposto pelo proprietário do Bucket. Para aplicar a configuração padrão e manter as ACLs desabilitadas, somente a permissão s3:CreateBucket é necessária. Para habilitar ACLs, é necessário ter a permissão s3:PutBucketOwnershipControls.

  7. Em Configurações de bloqueio de acesso público para este bucket, selecione as configurações de bloqueio de acesso público que deseja aplicar ao bucket.

    Por padrão, todas as quatro configurações do Bloqueio de Acesso Público são habilitadas. Recomendamos que você mantenha todas as configurações habilitadas, a menos que precise desativar uma ou mais delas para seu caso de uso específico. Para obter mais informações sobre como bloquear o acesso público, consulte Bloquear o acesso público ao armazenamento do Amazon S3.

    nota

    Para habilitar todas as configurações do Bloqueio de Acesso Público, somente a permissão s3:CreateBucket é necessária. Para desabilitar qualquer configuração do Bloqueio de Acesso Público, é necessário ter a permissão s3:PutBucketPublicAccessBlock.

  8. (Opcional) Em Bucket Versioning (Versionamento do bucket), você pode escolher se deseja manter variantes de objetos no bucket. Para obter mais informações sobre versionamento, consulte Usando o versionamento em buckets do S3.

    Para desabilitar ou habilitar o versionamento em seu bucket, escolha Disable (Desabilitar) ou Enable (Habilitar).

  9. (Opcional) Em Tags (Etiquetas), você pode optar por adicionar etiquetas ao seu bucket. As etiquetas são pares de chave-valor usados para categorizar o armazenamento.

    Para adicionar uma etiqueta, escolha Add Tag (Adicionar etiqueta) e insira uma chave e um valor para cada etiqueta.

  10. Em Default encryption (Criptografia padrão), escolha Edit (Editar).

  11. Para configurar a criptografia padrão, em Tipo de criptografia, selecione uma das seguintes opções:

    • Chave gerenciada pelo Amazon S3 (SSE-S3)

    • Chave do AWS Key Management Service (SSE-KMS)

      Importante

      Se você usar a opção SSE-KMS em sua configuração de criptografia padrão, estará sujeito à cota de solicitações por segundo (RPS) do AWS KMS. Para obter mais informações sobre as cotas do AWS KMS e como solicitar um aumento de cota, consulte Cotas no Guia do desenvolvedor do AWS Key Management Service.

    Os buckets e novos objetos são criptografados com criptografia do lado do servidor com uma chave gerenciada do Amazon S3 como nível básico da configuração de criptografia. Para obter mais informações sobre criptografia padrão, consulte Definir o comportamento padrão da criptografia para os buckets do Amazon S3.

    Para obter mais informações sobre como usar a criptografia no lado do servidor do Amazon S3 para criptografar seus dados, consulte Usar a criptografia do lado do servidor com chaves gerenciadas pelo Amazon S3 (SSE-S3).

  12. Se você selecionou Chave do AWS Key Management Service (SSE-KMS), faça o seguinte:

    1. Em Chave do AWS KMS, especifique sua chave do KMS de uma das seguintes maneiras:

      • Para escolher entre uma lista de chaves do KMS disponíveis, selecione Escolher entre suas AWS KMS keys e escolha sua chave do KMS na lista de chaves disponíveis.

        As chaves Chave gerenciada pela AWS (aws/s3) e as chaves gerenciadas pelo cliente são exibidas nessa lista. Para ter mais informações sobre chaves gerenciadas pelo cliente, consulte Chaves de clientes e chaves da AWS no Guia do desenvolvedor do AWS Key Management Service.

      • Para inserir o ARN da chave do KMS, escolha Inserir ARN da AWS KMS key e insira o ARN da chave do KMS no campo exibido.

      • Para criar uma chave gerenciada pelo cliente no console do AWS KMS, selecione Criar uma chave do KMS.

        Para ter mais informações sobre como criar uma AWS KMS key, consulte Criação de chaves no Guia do desenvolvedor do AWS Key Management Service.

      Importante

      Você só pode usar chaves do KMS disponíveis na mesma Região da AWS que o bucket. O console do Amazon S3 lista somente as primeiras 100 chaves do KMS na mesma região que o bucket. Para usar uma chave do KMS que não esteja listada, você deve inserir o ARN da chave do KMS. Se quiser usar uma chave do KMS que seja de propriedade de outra conta, primeiro você deverá ter permissão para usar a chave e, depois, inserir o ARN da chave do KMS. Para obter mais informações sobre permissões entre contas para chaves do KMS, consulte Criar chaves do KMS que outras contas podem usar no Guia do desenvolvedor do AWS Key Management Service. Para obter mais informações sobre a SSE-KMS, consulte Especificando criptografia no lado do servidor com o AWS KMS (SSE-KMS).

      Ao usar uma AWS KMS key para criptografia no lado do servidor no Amazon S3, você deve escolher uma chave de criptografia do KMS simétrica. O Amazon S3 só é compatível com chaves do KMS de criptografia simétrica, e não com chaves assimétricas do KMS. Para ter mais informações, consulte Identificar chaves do KMS simétricas e assimétricas no Guia do desenvolvedor do AWS Key Management Service.

      Para obter mais informações sobre como criar uma AWS KMS key, consulte Criação de chaves no Guia do desenvolvedor do AWS Key Management Service. Para obter mais informações sobre como usar o AWS KMS com o Amazon S3, consulte Usar criptografia do lado do servidor com o AWS KMS (SSE-KMS).

    2. Quando você configura seu bucket para usar a criptografia padrão com o SSE-KMS, também pode habilitar as chaves de bucket do S3. As chaves de bucket do S3 diminuem o custo de criptografia reduzindo o tráfego de solicitações do Amazon S3 para o AWS KMS. Para ter mais informações, consulte Redução do custo do SSE-KMS com chaves de bucket do Amazon S3.

      Para usar Chaves de bucket do S3, em Bucket Key (Chave de bucket), escolha Enable (Habilitar).

  13. (Opcional) Se você quiser habilitar o Bloqueio de Objetos do S3, faça o seguinte:

    1. Selecione Advanced settings (Configurações avançadas).

      Importante

      A ativação do bloqueio de objetos também permite o versionamento para o bucket. Depois de habilitar, é necessário definir as configurações de retenção padrão e retenção legal do bloqueio de objetos para proteger novos objetos contra exclusão ou substituição.

    2. Se quiser habilitar o bloqueio de objetos, escolha Enable (Habilitar), leia o aviso que aparece e confirme-o.

    Para ter mais informações, consulte Usar o bloqueio de objetos do S3.

    nota

    Para criar um bucket com bloqueio de objetos habilitado, você deve ter as seguintes permissões: s3:CreateBucket, s3:PutBucketVersioning e s3:PutBucketObjectLockConfiguration.

  14. Selecione Criar bucket.

Para definir Object Ownership ao criar um novo bucket, use o comando create-bucket da AWS CLI com o parâmetro --object-ownership.

Este exemplo aplica a configuração Imposto pelo proprietário do bucket para um novo bucket usando a AWS CLI:

aws s3api create-bucket --bucket DOC-EXAMPLE-BUCKET --region us-east-1 --object-ownership BucketOwnerEnforced
Importante

Se você não definir a Propriedade de objeto ao criar um bucket usando a AWS CLI, a configuração padrão será ObjectWriter (ACLs habilitadas).

Este exemplo define a configuração Imposto pelo proprietário do bucket para um novo bucket usando o AWS SDK for Java:

// Build the ObjectOwnership for CreateBucket CreateBucketRequest createBucketRequest = CreateBucketRequest.builder() .bucket(bucketName) .objectOwnership(ObjectOwnership.BucketOwnerEnforced) .build() // Send the request to Amazon S3 s3client.createBucket(createBucketRequest);

Para usar o recurso AWS::S3::Bucket do AWS CloudFormation para definir a Propriedade de Objeto ao criar um bucket, consulte OwnershipControls em AWS::S3::Bucket no Guia do usuário do AWS CloudFormation.

Para adotar a configuração Imposto pelo proprietário do bucket para Propriedade de objeto do S3, use a operação de API CreateBucket com o cabeçalho da solicitação x-amz-object-ownership definido como BucketOwnerEnforced. Para obter informações e exemplos, consulte CreateBucket na Referência da API do Amazon Simple Storage Service.

Próximas etapas: depois de adotar as configurações Imposto pelo proprietário do bucket ou Proprietário do bucket preferido para a Propriedade de Objetos, você poderá seguir estas etapas:

  • Bucket owner enforced (Aplicada pelo proprietário do bucket): exija que todos os novos buckets sejam criados com ACLs desabilitadas usando uma política do IAM ou do Organizations.

  • Bucket owner preferred (Preferencial do proprietário do bucket): adicione uma política de bucket do S3 para exigir a ACL bucket-owner-full-control pré-configurada para todos os carregamentos de objetos para o bucket.