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 propriedade de objeto 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.

Para ter mais informações sobre as permissões referentes a operações de API do S3 de acordo com os tipos de recurso do S3, consulte Permissões obrigatórias para operações de API do Amazon S3.

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. Na barra de navegação na parte superior da página, escolha o nome da Região da AWS exibida no momento. Em seguida, escolha a região na qual você deseja criar um bucket.

    nota
    • Depois de criar um bucket, você não pode mudar sua região.

    • 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.

  3. No painel de navegação à esquerda, escolha Buckets de uso geral.

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

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

    O nome do bucket deve:

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

    • Ter entre 3 e 63 caracteres.

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

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

    • Para obter uma lista completa de regras de nomenclatura de buckets, consulte Regras de nomenclatura de buckets de uso geral.

    Importante
    • Depois de criado o bucket, você não pode mudar seu nome.

    • Não inclua informações confidenciais no nome do bucket. O nome do bucket é visível nos URLs que apontam para os objetos no bucket.

  6. (Opcional) Em Configuração geral, você pode optar por copiar as configurações de um bucket existente para seu novo bucket. Prossiga·para·a·próxima·etapa·se você não quiser copiar as configurações de um bucket existente.

    nota

    Essa opção:

    • Não está disponível na AWS CLI, mas apenas no console do Amazon S3.

    • Não copia a política de bucket existente para o novo bucket.

    Para copiar as configurações de um bucket existente, em Copiar configurações do bucket existente, selecione Escolher bucket. A janela Escolher bucket é aberta. Encontre o bucket com as configurações que você quer copiar e selecione Escolher bucket. A janela Escolher bucket é fechada e a janela Criar bucket é reaberta.

    Agora, em Copiar configurações do bucket existente, você vê o nome do bucket selecionado. As configurações do novo bucket agora correspondem às configurações do bucket que você selecionou. Se você quiser remover as configurações copiadas, escolha Restaurar padrões. Revise as configurações restantes do bucket na página Criar bucket. Se não quiser fazer nenhuma alteração, você poderá pular para a etapa final.

  7. 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 propriedade e controle total sobre todos os objetos do bucket de uso geral. As ACLs não afetam mais as permissões de acesso aos dados no bucket de uso geral 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 obter 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.

  8. 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.

  9. (Opcional) Por padrão, Versionamento de bucket está desabilitado. Versionamento é um meio de manter diversas variantes de um objeto no mesmo bucket. O versionamento pode ser usado para preservar, recuperar e restaurar todas as versões de cada objeto armazenado no bucket do . Com o versionamento, você pode se recuperar mais facilmente de ações não intencionais do usuário e de falhas da aplicação. Para obter mais informações sobre versionamento, consulte Reter várias versões de objetos com o Versionamento do S3.

    Para habilitar o versionamento no bucket, escolha Habilitar.

  10. (Opcional) Em Tags (Etiquetas), você pode optar por adicionar etiquetas ao seu bucket. Com a alocação de custos da AWS, você pode usar tags de bucket para anotar o faturamento referente ao uso de um bucket. Uma tag é um par chave-valor que representa uma etiqueta que você atribui a um bucket. Para obter mais informações, consulte Usar tags de alocação de custos para buckets do S3.

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

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

    • Criptografia do lado do servidor com chaves gerenciadas pelo Amazon S3 (SSE-S3)

    • Criptografia no lado do servidor com chaves do AWS Key Management Service (SSE-KMS)

    • Criptografia de camada dupla do lado do servidor com chaves do AWS Key Management Service (AWS KMS) (DSSE-KMS)

      Importante

      Se você usar a opção SSE-KMS ou a DSSE-KMS em sua configuração de criptografia padrão, poderão ser cobradas cotas 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.

    Buckets e novos objetos são criptografados por meio da criptografia do lado do servidor com chaves gerenciadas pelo Amazon S3 (SSE-S3) como o 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 ter mais informações sobre SSE-S3, consulte Usar a criptografia do lado do servidor com chaves gerenciadas pelo Amazon S3 (SSE-S3).

    Para obter mais informações sobre como usar a criptografia no lado do servidor para criptografar seus dados, consulte Proteger dados com criptografia.

  12. Se você escolheu Criptografia do lado do servidor com chaves gerenciadas pelo Amazon S3 (SSE-S3) ou Criptografia de camada dupla do lado do servidor com chaves do AWS Key Management Service (AWS KMS) (DSSE-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 respectivo ARN. Se quiser usar uma chave do KMS pertencente a outra conta, primeiro você deverá ter permissão para usar a chave e, depois, inserir o respectivo ARN. Para obter mais informações sobre permissões entre contas referentes a chaves do KMS, consulte Creating KMS keys that other accounts can use no Guia do desenvolvedor do AWS Key Management Service. Para obter mais informações sobre SSE-KMS, consulte Especificando criptografia no lado do servidor com o AWS KMS (SSE-KMS). Para ter mais informações sobre DSSE-KMS, consulte Usar criptografia de camada dupla do lado do servidor com chaves do AWS KMS (DSSE-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.

    2. Ao configurar o bucket para usar a criptografia padrão com SSE-KMS, você também pode usar 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 obter mais informações, consulte Redução do custo do SSE-KMS com chaves de bucket do Amazon S3. As chaves de bucket do S3 não comportam DSSE-KMS.

      Por padrão, as chaves de bucket do S3 estão habilitadas no console do Amazon S3. Recomendamos deixá-las habilitadas para reduzir os custos. Para desabilitar as chaves de bucket do S3 do seu bucket, em Chave de bucket, escolha Desabilitar.

  13. (Opcional) O Bloqueio de Objetos do S3 ajuda a proteger novos objetos contra exclusão ou substituição. Para obter mais informações, consulte Bloquear objetos com o Bloqueio de Objetos. Se você quiser habilitar o Bloqueio de Objetos do S3, faça o seguinte:

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

      Importante

      A habilitação do Bloqueio de Objetos habilita automaticamente o versionamento do bucket. Depois de habilitar e criar o bucket com sucesso, você também deverá definir as configurações de retenção padrão e de retenção jurídica do Bloqueio de Objetos na guia Propriedades do bucket.

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

    nota

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

  14. Escolha 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 amzn-s3-demo-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 para 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.