Gerenciamento de acesso - Amazon Simple Storage Service

Gerenciamento de acesso

Na AWS, um recurso é uma entidade com a qual você pode trabalhar. No Amazon Simple Storage Service (S3), buckets e objetos são os recursos originais do Amazon S3. É provável que todo cliente do S3 tenha buckets com objetos. A adição de novas funcionalidades ao S3 também acompanha novos recursos adicionais, mas nem todo cliente usa esses recursos específicos. Para obter mais informações sobre os recursos do Amazon S3, consulte Recursos do S3.

Por padrão, todos os recursos do Amazon S3 são privados. Por padrão, o usuário-raiz da Conta da AWS que criou o recurso (proprietário do recurso) e os usuários do IAM dentro dessa conta com as permissões necessárias podem acessar um recurso que eles criaram. O proprietário do recurso decide quem mais pode acessar o recurso e as ações que outras pessoas podem realizar no recurso. O S3 tem várias ferramentas de gerenciamento de acesso que você pode usar para conceder a outras pessoas acesso aos seus recursos do S3.

As seções a seguir fornecem uma visão geral dos recursos do S3, das ferramentas de gerenciamento de acesso do S3 disponíveis e dos melhores casos de uso para cada ferramenta de gerenciamento de acesso. As listas nessas seções buscam ser abrangentes e incluir todos os recursos, ferramentas de gerenciamento de acesso e casos de uso comuns de gerenciamento de acesso do S3. Ao mesmo tempo, essas seções foram projetadas para serem diretórios que levam você aos detalhes técnicos desejados. Se você já tiver uma boa compreensão de alguns dos tópicos a seguir, poderá pular para a seção que se aplica a você.

Recursos do S3

Os recursos originais do Amazon S3 são os buckets e os objetos que eles contêm. À medida que novas funcionalidades são adicionadas ao S3, novos recursos também são adicionados. Veja a seguir uma lista completa dos recursos do S3 e suas respectivas funcionalidades.

Tipo de recurso Funcionalidade do Amazon S3 Descrição

bucket

Atributos principais

Um bucket é um contêiner de objetos. Para armazenar um objeto no S3, crie um bucket e faça upload de um ou mais objetos no bucket. Para ter mais informações, consulte Criar, configurar e trabalhar com buckets do Amazon S3.

object

Um objeto pode ser um arquivo e qualquer metadado que descreva esse arquivo. Quando um objeto estiver no bucket, você poderá abri-lo, fazer download dele e movê-lo. Para ter mais informações, consulte Fazer upload, fazer download e trabalhar com objetos no Amazon S3.

accesspoint

Pontos de acesso

Os pontos de acesso são endpoints de rede nomeados e anexados a buckets que você pode usar para realizar operações de objeto do Amazon S3, como GetObject e PutObject. Cada ponto de acesso tem permissões e controles de rede distintos e uma política de ponto de acesso personalizada que funciona em conjunto com a política de bucket anexada ao bucket subjacente. Você pode configurar qualquer ponto de acesso para aceitar solicitações somente de uma nuvem privada virtual (VPC) ou definir configurações personalizadas de bloqueio de acesso público para cada ponto de acesso. Para ter mais informações, consulte Gerenciamento de acesso a dados com pontos de acesso do Amazon S3.

objectlambdaaccesspoint

Um ponto de acesso do Object Lambda é um ponto de acesso para um bucket que também está associado a uma função do Lambda. Com o ponto de acesso do Object Lambda, você pode adicionar seu próprio código às solicitações GET, LIST e HEAD do Amazon S3 para modificar e processar dados à medida que eles são retornados a uma aplicação. Para ter mais informações, consulte Criar pontos de acesso do Object Lambda.

multiregionaccesspoint

Os pontos de acesso multirregionais fornecem um endpoint global que as aplicações podem usar para atender a solicitações de buckets do S3 localizados em várias regiões da AWS. Você pode usar pontos de acesso multirregionais para criar aplicações de várias regiões com a mesma arquitetura usada em uma única região, depois executar essas aplicações em qualquer lugar do mundo. Em vez de enviar solicitações pela internet pública congestionada, as solicitações de aplicações feitas para um endpoint global de ponto de acesso multirregional são roteadas automaticamente pela rede global da AWS para o bucket do Amazon S3 mais próximo. Para ter mais informações, consulte Pontos de acesso multirregionais no Amazon S3.

job

Operações em lote do S3

Um trabalho é um recurso da funcionalidade Operações em Lote do S3. É possível usar a funcionalidade Operações em Lote do S3 para executar operações em lote de grande escala em listas de objetos do Amazon S3 que você especificar. O Amazon S3 rastreia o progresso do trabalho de operação em lote, envia notificações e armazena um relatório de conclusão detalhado de todas as ações, fornecendo uma experiência totalmente gerenciada, auditável e sem servidor. Para ter mais informações, consulte Executar operações em lote de grande escala em objetos do Amazon S3.

storagelensconfiguration

Lente de Armazenamento do S3

Uma configuração da funcionalidade Lente de Armazenamento do S3 coleta métricas de armazenamento e dados do usuário de todas as contas da organização. A funcionalidade Lente de Armazenamento do S3 fornece aos administradores uma visão única do uso e da atividade do armazenamento de objetos em centenas ou até milhares de contas de uma organização, com detalhes para gerar insights em vários níveis de agregação. Para ter mais informações, consulte Avaliação de sua atividade de armazenamento e uso com a Lente de Armazenamento do Amazon S3.

storagelensgroup

Um grupo da Lente de Armazenamento do S3 agrega métricas usando filtros personalizados com base nos metadados de objetos. Os grupos da Lente de Armazenamento do S3 ajudam a investigar as características dos dados, como distribuição de objetos por idade, tipos de arquivo mais comuns e muito mais. Para ter mais informações, consulte Trabalho com grupos de Lente de Armazenamento do S3.

accessgrantsinstance

Concessões de Acesso do S3

Uma instância da funcionalidade Concessões de Acesso do S3 é um contêiner para as concessões do S3 que você cria. Com funcionalidade Concessões de Acesso do S3, você pode criar concessões aos seus dados do Amazon S3 para identidades do IAM em sua conta, identidades do IAM em outras contas (entre contas) e identidades de diretório adicionadas ao AWS IAM Identity Center pelo seu diretório corporativo. Para obter mais informações sobre a funcionalidade Concessões de Acesso do S3, consulte Gerenciar o acesso com a funcionalidade Concessões de Acesso do S3.

accessgrantslocation

Um Local de Concessões de Acesso é um bucket, um prefixo dentro de um bucket ou um objeto que você registra em sua instância da funcionalidade Concessões de Acesso do S3. Para poder criar uma concessão a um local, primeiro é necessário registrá-lo na instância da funcionalidade Concessões de Acesso do S3. Depois, com a funcionalidade Concessões de Acesso do S3, você pode conceder acesso ao bucket, prefixo ou objeto para identidades do IAM em sua conta, identidades do IAM em outras contas (entre contas) e identidades de diretório adicionadas ao AWS IAM Identity Center pelo seu diretório corporativo. Para obter mais informações sobre a funcionalidade Concessões de Acesso do S3, consulte Gerenciar o acesso com a funcionalidade Concessões de Acesso do S3.

accessgrant

Uma concessão de acesso é uma concessão individual aos seus dados do Amazon S3. Com funcionalidade Concessões de Acesso do S3, você pode criar concessões aos seus dados do Amazon S3 para identidades do IAM em sua conta, identidades do IAM em outras contas (entre contas) e identidades de diretório adicionadas ao AWS IAM Identity Center pelo seu diretório corporativo. Para obter mais informações sobre a funcionalidade Concessões de Acesso do S3, consulte Gerenciar o acesso com a funcionalidade Concessões de Acesso do S3.

Buckets

Há dois tipos de bucket do Amazon S3: os buckets de uso geral e os buckets de diretório.

Categorizar os recursos do S3

O Amazon S3 oferece funcionalidades para categorizar e organizar seus recursos do S3. Além de ser útil para organizar os recursos, a categorização também permite que você defina regras de gerenciamento de acesso com base nas categorias de recursos. Em particular, prefixos e marcações são duas funcionalidades de organização de armazenamento que você pode usar ao definir permissões de gerenciamento de acesso.

nota

As informações a seguir se aplicam a buckets de uso geral. Os buckets de diretório não oferecem suporte à marcação e têm limitações de prefixo. Para ter mais informações, consulte AWS Identity and Access Management (IAM) para a classe S3 Express One Zone.

  • Prefixos: um prefixo no Amazon S3 é uma string de caracteres no início do nome de uma chave de objeto que é usado para organizar os objetos armazenados em buckets do S3. Você pode usar um caractere delimitador, como uma barra (/), para indicar o final do prefixo no nome da chave de objeto. Por exemplo, você pode ter nomes de chave de objeto que começam com o prefixo engineering/ ou nomes de chave de objeto que começam com o prefixo marketing/campaigns/. O uso de um delimitador no final do prefixo, como um caractere de barra /, simula as convenções de nomenclatura de pastas e arquivos. No entanto, no S3, o prefixo faz parte do nome da chave de objeto. Em buckets do S3 de uso geral, não há uma hierarquia real de pastas.

    O Amazon S3 oferece suporte à organização e ao agrupamento de objetos por meio de seus prefixos. Também é possível gerenciar o acesso aos objetos por meio de seus prefixos. Por exemplo, é possível limitar o acesso somente aos objetos com nomes que começam com um prefixo específico.

    Para ter mais informações, consulte Organizar objetos usando prefixos. O console do S3 usa o conceito de pastas, que, em buckets de uso geral, são prefixos previamente incluídos no nome da chave de objeto. Para ter mais informações, consulte Organizar objetos no console do Amazon S3 usando pastas.

  • Etiquetas: cada etiqueta é um par de chave/valor que é atribuído aos recursos. Por exemplo, você pode marcar alguns recursos com a etiqueta topicCategory=engineering. Você pode usar a marcação para ajudar na alocação de custos, na categorização e organização e no controle de acesso. A marcação de buckets é usada somente para alocação de custos. Você pode marcar objetos, trabalhos e as funcionalidades Lente de Armazenamento e Concessões de Acesso do S3 para fins de organização ou controle de acesso. Na funcionalidade Concessões de Acesso do S3, também é possível usar a marcação para alocação de custos. Como exemplo de controle do acesso aos recursos usando as etiquetas deles, você pode compartilhar somente os objetos que têm uma etiqueta específica ou uma combinação de etiquetas.

    Para obter mais informações, consulte Controle do acesso aos recursos da AWS usando tags de recursos no Guia do usuário do IAM.

Identidades

No Amazon S3, o proprietário do recurso é a identidade que criou o recurso, como um bucket ou um objeto. Por padrão, somente o usuário-raiz da conta que criou o recurso e as identidades do IAM dentro da conta que têm a permissão necessária podem acessar o recurso do S3. Os proprietários de recursos podem conceder acesso aos seus recursos do S3 para outras identidades.

Identidades que não possuem um recurso podem solicitar acesso a esse recurso. As solicitações para um recurso são autenticadas ou não autenticadas. As solicitações autenticadas devem incluir um valor de assinatura que autentica o remetente da solicitação, enquanto solicitações não autenticadas não exigem assinatura. Recomendamos que você conceda acesso somente a usuários autenticados. Para obter mais informações sobre autenticação da solicitação, consulte Fazer solicitações.

Importante

Recomendamos que você não use credenciais de usuário raiz da Conta da AWS para fazer solicitações autenticadas. Em vez disso, crie um perfil do IAM e conceda acesso total a ele. Usuários com esse perfil são conhecidos como usuários administradores. Em vez de usar credenciais de usuário raiz da Conta da AWS, você pode usar credenciais atribuídas ao perfil administrador para interagir com a AWS e realizar tarefas, como criar um bucket, criar usuários e conceder permissões a eles. Para obter mais informações, consulte Credenciais de usuário-raiz da Conta da AWS e credenciais de usuário do IAM na Referência geral da AWS e Práticas recomendadas de segurança no IAM no Guia do usuário do IAM.

As identidades que acessam seus dados no Amazon S3 podem ser uma das seguintes:

Conta da AWS proprietária

A Conta da AWS que criou o recurso. Por exemplo, a conta que criou o bucket. Essa conta é a proprietária do recurso. Para obter mais informações, consulte Usuário-raiz da conta da AWS.

Identidades do IAM na mesma conta da Conta da AWS proprietária

Ao configurar contas para novos membros da equipe que precisam de acesso ao S3, a Conta da AWS proprietária pode usar o AWS Identity and Access Management (IAM) para criar usuários, grupos e perfis. Depois, a Conta da AWS proprietária pode compartilhar recursos com essas identidades do IAM. A conta proprietária também pode especificar permissões para conceder às identidades do IAM, o que permite ou nega as ações que podem ser executadas nos recursos compartilhados.

As identidades do IAM fornecem mais recursos, incluindo a capacidade de exigir que os usuários insiram credenciais de login antes de acessar recursos compartilhados. Usando as identidades do IAM, é possível implementar uma forma de autenticação multifator (MFA) do IAM para oferecer suporte a uma base de identidade sólida. Uma prática recomendada do IAM é a criação de perfis para gerenciamento de acesso em vez de conceder permissões a cada usuário individual. Você atribui usuários individuais ao perfil apropriado. Para obter mais informações, consulte Práticas recomendadas de segurança no IAM.

Outras contas da AWS proprietárias e suas identidades do IAM (acesso entre contas)

A Conta da AWS proprietária também pode conceder acesso aos recursos para outras contas da AWS proprietárias ou identidades do IAM que pertençam a outra conta da AWS.

nota

Delegação de permissão: se uma Conta da AWS for proprietária de um recurso, ela poderá conceder essas permissões a outra Conta da AWS. Essa conta poderá delegar essas permissões, ou um subconjunto delas, para usuários da mesma conta. Isso é chamado de delegação de permissão. No entanto, uma conta que recebe permissões de outra conta não pode delegar essas permissões “entre contas” para outra Conta da AWS.

Usuários anônimos (acesso público)

A Conta da AWS proprietária pode tornar os recursos públicos. Tornar um recurso público tecnicamente compartilha o recurso com o usuário anônimo. Os buckets criados desde abril de 2023 bloqueiam todo o acesso público por padrão, a menos que você altere essa configuração. Recomendamos que você configure os buckets para bloquear o acesso público e que conceda acesso somente a usuários autenticados. Para obter mais informações sobre como bloquear o acesso público, consulte Bloquear o acesso público ao armazenamento do Amazon S3.

Serviços da AWS

O proprietário do recurso pode conceder acesso a um recurso do Amazon S3 para outro serviço da AWS. Por exemplo, você pode conceder a permissão s3:PutObject ao serviço AWS CloudTrail para gravação de arquivos de log no seu bucket. Para obter mais informações, consulte Fornecimento de acesso a um produto da AWS.

Identidades do diretório corporativo

O proprietário do recurso pode conceder aos usuários ou perfis do seu diretório corporativo acesso a um recurso do S3 usando a funcionalidade Concessões de Acesso do S3. Para obter mais informações sobre como adicionar um diretório corporativo ao AWS IAM Identity Center, consulte What is IAM Identity Center?

Proprietários de bucket ou recurso

A Conta da AWS que você usa para criar buckets e carregar objetos é a proprietária desses recursos. Um proprietário do bucket pode conceder permissões entre contas à outra Conta da AWS (ou aos usuários em outra conta) para carregar objetos.

Quando o proprietário de um bucket permite que outra conta faça upload de objetos em um bucket, o proprietário do bucket é dono de todos os objetos enviados para esse bucket por padrão. No entanto, se as configurações Imposto pelo proprietário do bucket e Proprietário do bucket preferido estiverem desativadas, a Conta da AWS que faz upload dos objetos será proprietária desses objetos, e o proprietário do bucket não terá permissões sobre os objetos pertencentes a outra conta, com as seguintes exceções:

  • O proprietário do bucket paga as faturas. O proprietário do bucket pode negar acesso a todos os objetos ou excluir objetos no bucket, independentemente de quem o possui.

  • O proprietário do bucket pode arquivar todos os objetos ou restaurar os objetos arquivados, independentemente de quem os possui. Arquivo refere-se à classe de armazenamento usada para armazenar os objetos. Para ter mais informações, consulte Gerenciando seu ciclo de vida de armazenamento.

Ferramentas de gerenciamento de acesso

O Amazon S3 fornece uma variedade de recursos e ferramentas de segurança. Veja a seguir uma lista abrangente desses recursos e ferramentas. Você não precisa de todas essas ferramentas de gerenciamento de acesso, mas deve usar uma ou mais para conceder acesso aos seus recursos do Amazon S3. A aplicação adequada dessas ferramentas pode ajudar a garantir que seus recursos só possam ser acessados pelos usuários pretendidos.

A ferramenta de gerenciamento de acesso mais usada é a política de acesso. Uma política de acesso pode ser uma política baseada em recurso vinculada a um recurso da AWS, como uma política de bucket para um bucket. Uma política de acesso também pode ser uma política baseada em identidade anexada a uma identidade do AWS Identity and Access Management (IAM), como um usuário, grupo ou perfil do IAM. Escreva uma política de acesso para conceder a Contas da AWS e usuários, grupos e perfis do IAM permissão para realizar operações em um recurso. Por exemplo, você pode conceder a permissão PUT Object para outra Conta da AWS de modo que o usuário possa fazer upload de objetos em seu bucket.

A política de acesso descreve quem tem acesso a quê. Quando o Amazon S3 recebe uma solicitação, ele precisa avaliar todas as políticas de acesso para determinar se deve autorizar ou negar a solicitação. Para obter mais informações sobre como o Amazon S3 avalia essas políticas, consulte Como o Amazon S3 autoriza uma solicitação.

Veja a seguir as ferramentas de gerenciamento de acesso disponíveis no Amazon S3.

Uma política de bucket do Amazon S3 é uma política baseada em recurso do AWS Identity and Access Management (IAM), formatada em JSON, que é anexada a determinado bucket. Use políticas de bucket para conceder a outras Contas da AWS ou identidades do IAM permissões de acesso ao bucket e aos objetos contidos nele. Muitos casos de uso de gerenciamento de acesso do S3 podem ser atendidos usando uma política de bucket. Com as políticas de bucket, é possível personalizar o acesso ao bucket para ajudar a garantir que somente as identidades que você aprovou possam acessar recursos e executar ações neles. Para ter mais informações, consulte Políticas de bucket para o Amazon S3.

A seguir há um exemplo de política de bucket. Expresse a política de bucket usando um arquivo JSON. Esse exemplo de política concede uma permissão de leitura do perfil do IAM a todos os objetos no bucket. Ela contém uma instrução chamada BucketLevelReadPermissions, que permite a ação s3:GetObject (permissão de leitura) nos objetos em um bucket chamado DOC-EXAMPLE-BUCKET1. Ao especificar um perfil do IAM como Principal, essa política concede acesso a todos os usuários do IAM com esse perfil. Para usar esse exemplo de política, substitua os user input placeholders por suas próprias informações.

{ "Version":"2012-10-17", "Statement": [ { "Sid":"BucketLevelReadPermissions", "Effect":"Allow", "Principal": { "AWS": "arn:aws:iam::123456789101:role/s3-role" }, "Action":["s3:GetObject"], "Resource":["arn:aws:s3:::DOC-EXAMPLE-BUCKET1/*"] }] }
nota

Ao criar políticas, evite o uso de caracteres curinga (*) no elemento Principal, porque ele permite que qualquer pessoa acesse os recursos do Amazon S3. Em vez disso, é melhor listar explicitamente usuários ou grupos que têm permissão para acessar o bucket ou listar condições que devem ser atendidas usando uma cláusula de condição na política. Além disso, em vez de incluir um caractere curinga para as ações de seus usuários ou grupos, conceda a eles permissões específicas quando aplicável.

Uma política de usuário do IAM ou baseada em identidade é um tipo de política do AWS Identity and Access Management(IAM). Uma política baseada em identidade é uma política em formato JSON anexada a usuários, grupos ou perfis do IAM em sua conta da AWS. Você pode usar políticas baseadas em identidade para conceder a uma identidade do IAM acesso a buckets ou objetos. É possível criar usuários, grupos e perfis do IAM em sua conta e anexar políticas de acesso a eles. Depois, você pode conceder acesso a recursos da AWS, incluindo recursos do Amazon S3. Para ter mais informações, consulte Políticas baseadas em identidade do Amazon S3.

Veja a seguir um exemplo de uma política baseada em identidade. O exemplo de política permite que o perfil do IAM associado execute seis ações diferentes do Amazon S3 (permissões) em um bucket e nos objetos contidos nele. Se você anexar essa política a um perfil do IAM em sua conta e atribuir o perfil a alguns de seus usuários do IAM, os usuários com esse perfil poderão realizar essas ações nos recursos (buckets) especificados na política. Para usar esse exemplo de política, substitua os user input placeholders por suas próprias informações.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AssignARoleActions", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket", "s3:DeleteObject", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET1/*", "arn:aws:s3:::DOC-EXAMPLE-BUCKET1" ] }, { "Sid": "AssignARoleActions2", "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": "*" } ] }

Use a funcionalidade Concessões de Acesso do S3 para criar concessões de acesso aos seus dados do Amazon S3 para identidades em diretórios de identidades corporativas, como Active Directory, e para identidades do AWS Identity and Access Management (IAM). A funcionalidade Concessões de Acesso do S3 ajuda você a gerenciar permissões de dados em grande escala. Além disso, a funcionalidade Concessões de Acesso do S3 registra a identidade do usuário final e a aplicação usada para acessar os dados do S3 em logs do AWS CloudTrail. Isso fornece um histórico de auditoria detalhado até a identidade do usuário final para todos os acessos aos dados em seus buckets do S3. Para ter mais informações, consulte Gerenciar o acesso com a funcionalidade Concessões de Acesso do S3.

A funcionalidade Pontos de Acesso Amazon S3 simplifica o gerenciamento do acesso a dados em escala para aplicações que usam conjuntos de dados compartilhados no S3. Os pontos de acesso são endpoints de rede nomeados que são anexados a um bucket. Você pode usar os pontos de acesso para executar operações em objetos do S3 em grande escala, como fazer upload e recuperar objetos. Um bucket pode ter até 10.000 pontos de acesso anexados, e é possível impor permissões distintas e controles de rede a cada ponto de acesso para fornecer controle detalhado sobre o acesso aos objetos do S3. A funcionalidade Pontos de Acesso do S3 pode ser associada a buckets na mesma conta ou em outra conta confiável. As políticas de pontos de acesso são políticas baseadas em recurso que são avaliadas em conjunto com a política de bucket correspondente. Para ter mais informações, consulte Gerenciamento de acesso a dados com pontos de acesso do Amazon S3.

Uma ACL é uma lista de concessões que identifica o concessionário e a permissão concedida. As ACLs concedem permissões básicas de leitura ou gravação a outras Contas da AWS. As ACLs usam um esquema XML específico do Amazon S3. Uma ACL é um tipo de política do AWS Identity and Access Management (IAM). Uma ACL de objeto é usada para gerenciar o acesso a um objeto, e uma ACL de bucket é usada para gerenciar o acesso a um bucket. No caso das políticas de bucket, há uma única política para o bucket todo, mas as ACLs de objeto são especificadas por objeto. Recomendamos manter as ACLs desativadas, exceto em circunstâncias incomuns em que seja necessário controlar o acesso para cada objeto individualmente. Para obter mais informações sobre como usar ACLs, consulte Controlar a propriedade de objetos e desabilitar ACLs para seu bucket.

Atenção

A maioria dos casos de uso modernos no Amazon S3 não exige o uso de ACLs.

Esta é uma ACL de bucket de exemplo. A concessão na ACL mostra um proprietário de bucket com permissão de controle total.

<?xml version="1.0" encoding="UTF-8"?> <AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Owner> <ID>Owner-Canonical-User-ID</ID> <DisplayName>owner-display-name</DisplayName> </Owner> <AccessControlList> <Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Canonical User"> <ID>Owner-Canonical-User-ID</ID> <DisplayName>display-name</DisplayName> </Grantee> <Permission>FULL_CONTROL</Permission> </Grant> </AccessControlList> </AccessControlPolicy>

Para gerenciar o acesso a um objeto, você precisa ser o proprietário desse objeto. Você pode usar a configuração Propriedade de Objeto ao nível do bucket para controlar a propriedade de objetos carregados no bucket. Além disso, use a Propriedade de Objeto para ativar as ACLs. Por padrão, a Propriedade de Objeto é definida como a configuração Imposto pelo proprietário do bucket e todas as ACLs estão desativadas. Quando as ACLs estão desativadas, o proprietário do bucket possui todos os objetos do bucket e gerencia exclusivamente o acesso aos dados. Para gerenciar o acesso, o proprietário do bucket usa políticas ou outra ferramenta de gerenciamento de acesso, excluindo as ACLs. Para ter mais informações, consulte Controlar a propriedade de objetos e desabilitar ACLs para seu bucket.

Há três configurações para a Propriedade de Objeto que podem ser usadas tanto para controlar a propriedade de objetos carregados no bucket como para ativar as ACLs:

ACLs desativadas
  • Imposto pelo proprietário do bucket (padrão): as ACLs são desativadas 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 aos dados no bucket do S3. O bucket usa políticas exclusivamente para definir o controle de acesso.

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

Melhores práticas adicionais

Considere o uso das seguintes ferramentas e configurações de bucket para ajudar a proteger os dados em trânsito e em repouso, ambas as quais são cruciais para manter a integridade e a acessibilidade dos dados.

  • Bloquear acesso público: não desative a configuração padrão ao nível do bucket Bloquear acesso público. Essa configuração bloqueia o acesso público aos seus dados por padrão. Para obter mais informações sobre como bloquear o acesso público, consulte Bloquear o acesso público ao armazenamento do Amazon S3.

  • Versionamento do S3: para manter a integridade dos dados, você pode implementar a configuração de bucket Versionamento do S3, que cria versões dos objetos à medida que você faz atualizações, em vez de substituí-los. O Versionamento do S3 pode ser usado para preservar, recuperar e restaurar uma versão anterior, se necessário. Para obter informações sobre o Versionamento do S3, consulte Usando o versionamento em buckets do S3.

  • Bloqueio de Objetos do S3: a funcionalidade Bloqueio de Objetos do S3 é outra configuração que você pode implementar para alcançar a integridade dos dados. Esse recurso pode implementar um modelo de gravação única e várias leituras (WORM) para armazenar objetos de forma imutável. Para obter mais informações sobre Bloqueio de objetos, consulte Usar o bloqueio de objetos do S3.

  • Criptografia de objetos: o Amazon S3 oferece várias opções de criptografia de objetos que protegem os dados em trânsito e em repouso. A criptografia no lado do servidor criptografa o objeto antes de salvá-lo em discos em seus data centers e os descriptografa ao fazer download dos objetos. Se você autentica sua solicitação e tem permissões de acesso, não há diferença na forma de acesso aos objetos criptografados ou não criptografados. Para ter mais informações, consulte Proteger os dados usando criptografia do lado do servidor. O S3 criptografa objetos recém-carregados por padrão. Para ter mais informações, consulte Definir o comportamento padrão da criptografia para os buckets do Amazon S3. Criptografia no lado do cliente é o ato de criptografar os dados antes de enviá-los para o Amazon S3. Para ter mais informações, consulte Proteger dados usando a criptografia do lado do cliente.

  • Métodos de assinatura: o Signature Version 4 é o processo para adicionar informações de autenticação às solicitações da AWS enviadas por HTTP. Por segurança, a maioria das solicitações para AWS deve ser assinada com uma chave de acesso, que consiste em um ID de chave de acesso e na chave de acesso secreta. Essas duas chaves são comumente conhecidas como suas credenciais de segurança. Para obter mais informações, consulte Autenticação de solicitações (AWS Signature Version 4) e Processo de assinatura do Signature Version 4.

Ações

Consulte uma lista completa de permissões e chaves de condição do S3 em Actions, resources, and condition keys for Amazon S3 na Referência de autorização do serviço.

Ações

As ações do AWS Identity and Access Management (IAM) para o Amazon S3 são as ações possíveis que podem ser executadas em um bucket ou objeto do S3. Conceda essas ações às identidades para que elas possam agir em seus recursos do S3. Exemplos de ações do S3 são s3:GetObject para ler objetos em um bucket e s3:PutObject para gravar objetos em um bucket.

Chaves de condição

Além das ações, as chaves de condição do IAM se limitam a conceder acesso somente quando uma condição é atendida. As chaves de condição são opcionais.

nota

Em uma política de acesso baseada em recursos, como uma política de bucket, ou em uma política baseada em identidade, você pode especificar o seguinte:

  • Uma ação ou uma matriz de ações no elemento Action da declaração de política.

  • No elemento Effect da declaração de política, é possível especificar Allow para permitir as ações listadas ou especificar Deny para bloquear as ações listadas. Para aprimorar ainda mais a prática de privilégios mínimos, as instruções Deny no elemento Effect da política de acesso devem ser o mais amplas possíveis e as instruções Allow devem ser tão restritas quanto possível. O efeito de Deny combinado com a ação s3:* é outra boa maneira de implementar as práticas recomendadas de adesão para as identidades incluídas em instruções de condição da política.

  • Uma chave de condição no elemento Condition de uma declaração de política.

Casos de uso do gerenciamento de acesso

O Amazon S3 fornece aos proprietários de recursos uma variedade de ferramentas para conceder acesso. A ferramenta de gerenciamento de acesso do S3 utilizada dependerá dos recursos do S3 que você deseja compartilhar, das identidades às quais você está concedendo acesso e das ações que deseja permitir ou negar. Talvez você queira usar uma ferramenta ou uma combinação de ferramentas de gerenciamento de acesso do S3 para gerenciar o acesso aos recursos do S3.

Na maioria dos casos, é possível usar uma política de acesso para gerenciar as permissões. Uma política de acesso pode ser uma política baseada em recurso que é vinculada a um recurso, como um bucket ou outro recurso do Amazon S3 (Recursos do S3). Uma política de acesso também pode ser uma política baseada em identidade que é anexada a um usuário, grupo ou perfil do AWS Identity and Access Management (IAM) em sua conta. Talvez uma política de bucket funcione melhor para o seu caso de uso. Para ter mais informações, consulte Políticas de bucket para o Amazon S3. Como alternativa, o AWS Identity and Access Management (IAM) permite a criação de usuários, grupos e perfis do IAM em sua Conta da AWS e o gerenciamento do acesso dessas entidades a buckets e objetos por meio de políticas baseadas em identidade. Para ter mais informações, consulte Políticas baseadas em identidade do Amazon S3.

Para ajudar você a navegar por essas opções de gerenciamento de acesso, veja a seguir alguns casos de uso comuns de clientes do Amazon S3 e recomendações para cada uma das ferramentas de gerenciamento de acesso do S3.

Todas as ferramentas de gerenciamento de acesso podem atender a esse caso de uso básico. Recomendamos as seguintes ferramentas de gerenciamento de acesso para esse caso de uso:

  • Política de bucket: se você quiser conceder acesso a um bucket ou a um pequeno número de buckets, ou se suas permissões de acesso ao bucket forem semelhantes entre buckets, utilize uma política de bucket. Com as políticas de bucket, você gerencia uma política para cada bucket. Para ter mais informações, consulte Políticas de bucket para o Amazon S3.

  • Política baseada em identidade: se você tiver um número muito grande de buckets com permissões de acesso diferentes para cada bucket e apenas alguns perfis de usuário para gerenciar, poderá usar uma política do IAM para usuários, grupos ou perfis. As políticas do IAM também são uma boa opção quando você precisa gerenciar o acesso dos usuários a outros recursos da AWS, bem como aos recursos do Amazon S3. Para ter mais informações, consulte Exemplo 1: Proprietário do bucket que concede permissões do bucket aos usuários.

  • Concessões de Acesso do S3: você pode usar a funcionalidade Concessões de Acesso do S3 para conceder acesso a buckets, prefixos ou objetos do S3. A funcionalidade Concessões de Acesso do S3 permite que você especifique várias permissões ao nível do objeto em grande escala, enquanto as políticas de bucket são limitadas a 20 KB. Para ter mais informações, consulte Conceitos básicos da funcionalidade Concessões de Acesso do S3.

  • Pontos de acesso: você pode usar os pontos de acesso, que são endpoints de rede nomeados e anexados a um bucket. Um bucket pode ter até 10.000 pontos de acesso anexados, e é possível impor permissões distintas e controles de rede a cada ponto de acesso para fornecer controle detalhado sobre o acesso aos objetos do S3. Para ter mais informações, consulte Gerenciamento de acesso a dados com pontos de acesso do Amazon S3.

Para conceder permissão a outra Conta da AWS, é necessário usar uma política de bucket ou uma das ferramentas de gerenciamento de acesso recomendadas a seguir. Você não pode usar uma política de acesso baseada em identidade para esse caso de uso. Para obter mais informações sobre a concessão de acesso entre contas, consulte Como oferecer acesso entre contas a objetos que estão em buckets do Amazon S3?

Recomendamos as seguintes ferramentas de gerenciamento de acesso para esse caso de uso:

  • Política de bucket: com as políticas de bucket, você gerencia uma política para cada bucket. Para ter mais informações, consulte Políticas de bucket para o Amazon S3.

  • Concessões de Acesso do S3: você pode usar a funcionalidade Concessões de Acesso do S3 para conceder permissões entre contas aos buckets, prefixos ou objetos do S3. Você pode usar a funcionalidade Concessões de Acesso do S3 para especificar várias permissões ao nível do objeto em grande escala, enquanto as políticas de bucket são limitadas a 20 KB. Para ter mais informações, consulte Conceitos básicos da funcionalidade Concessões de Acesso do S3.

  • Pontos de acesso: você pode usar os pontos de acesso, que são endpoints de rede nomeados e anexados a um bucket. Um bucket pode ter até 10.000 pontos de acesso anexados, e é possível impor permissões distintas e controles de rede a cada ponto de acesso para fornecer controle detalhado sobre o acesso aos objetos do S3. Para ter mais informações, consulte Gerenciamento de acesso a dados com pontos de acesso do Amazon S3.

Em uma política de bucket, por exemplo, é possível conceder acesso aos objetos dentro de um bucket que compartilham um prefixo de nome de chave específico ou que têm uma etiqueta específica. Você pode conceder permissão de leitura em objetos que começam com o prefixo de nome de chave logs/. Contudo, se as permissões de acesso variam por objeto, conceder permissões para objetos individuais usando uma política de bucket talvez não seja prático, principalmente porque as políticas de bucket têm limite de 20 KB.

Recomendamos as seguintes ferramentas de gerenciamento de acesso para esse caso de uso:

  • Concessões de Acesso do S3: você pode usar a funcionalidade Concessões de Acesso do S3 para gerenciar permissões ao nível do objeto ou do prefixo. Ao contrário das políticas de bucket, você pode usar a funcionalidade Concessões de Acesso do S3 para especificar várias permissões ao nível do objeto em grande escala. As políticas de bucket são limitadas a 20 KB. Para ter mais informações, consulte Conceitos básicos da funcionalidade Concessões de Acesso do S3.

  • Pontos de acesso: você pode usar os pontos de acesso para gerenciar permissões ao nível do objeto ou do prefixo. Os pontos de acesso são endpoints de rede nomeados que são anexados a um bucket. Um bucket pode ter até 10.000 pontos de acesso anexados, e é possível impor permissões distintas e controles de rede a cada ponto de acesso para fornecer controle detalhado sobre o acesso aos objetos do S3. Para ter mais informações, consulte Gerenciamento de acesso a dados com pontos de acesso do Amazon S3.

  • ACLs: não recomendamos o uso de listas de controle de acesso (ACLs), principalmente porque as ACLs têm limite de 100 concessões por objeto. No entanto, se você optar por ativar as ACLs, defina a Propriedade de Objeto como Proprietário do bucket preferido e ative as ACLs nas configurações do bucket. Com essa configuração, novos objetos que são escritos com a ACL bucket-owner-full-control pré-configurada são automaticamente de propriedade do proprietário do bucket, e não do gravador de objeto. Depois, você pode usar as ACLs de objeto, que são uma política de acesso em formato XML, para conceder acesso ao objeto para outros usuários. Para ter mais informações, consulte Visão geral da lista de controle de acesso (ACL).

Recomendamos as seguintes ferramentas de gerenciamento de acesso para esse caso de uso:

  • Política de bucket: com as políticas de bucket, você gerencia uma política para cada bucket. Para ter mais informações, consulte Políticas de bucket para o Amazon S3.

  • Pontos de acesso: os pontos de acesso são endpoints de rede nomeados que são anexados a um bucket. Um bucket pode ter até 10.000 pontos de acesso anexados, e é possível impor permissões distintas e controles de rede a cada ponto de acesso para fornecer controle detalhado sobre o acesso aos objetos do S3. Para ter mais informações, consulte Gerenciamento de acesso a dados com pontos de acesso do Amazon S3.

Recomendamos a seguinte ferramenta de gerenciamento de acesso para esse caso de uso:

  • Pontos de acesso: os pontos de acesso são endpoints de rede nomeados que são anexados a um bucket. Um bucket pode ter até 10.000 pontos de acesso anexados, e é possível impor permissões distintas e controles de rede a cada ponto de acesso para fornecer controle detalhado sobre o acesso aos objetos do S3. Cada ponto de acesso impõe uma política de ponto de acesso personalizada que funciona em conjunto com a política de bucket anexada ao bucket subjacente. Para ter mais informações, consulte Gerenciamento de acesso a dados com pontos de acesso do Amazon S3.

Os endpoints de nuvem privada virtual (VPC) para o Amazon S3 são entidades lógicas dentro de uma VPC que só permitem conectividade com o S3. Recomendamos as seguintes ferramentas de gerenciamento de acesso para esse caso de uso:

  • Buckets em uma configuração de VPC: você pode usar uma política de bucket para controlar quem tem permissão para acessar os buckets e quais endpoints de VPC podem ser acessados. Para ter mais informações, consulte Controlar o acesso a partir de VPC endpoints com políticas de bucket.

  • Pontos de acesso: se você optar por configurar pontos de acesso, poderá usar uma política de pontos de acesso. Você pode configurar qualquer ponto de acesso para aceitar solicitações somente de uma Virtual Private Cloud (VPC) para restringir o acesso a dados do Amazon S3 a uma rede privada. Você também pode configurar definições personalizadas do Bloqueio de acesso público para cada ponto de acesso. Para ter mais informações, consulte Gerenciamento de acesso a dados com pontos de acesso do Amazon S3.

Com o S3, é possível hospedar um site estático e permitir que qualquer pessoa visualize o conteúdo do site, que é hospedado em um bucket do S3.

Recomendamos as seguintes ferramentas de gerenciamento de acesso para esse caso de uso:

  • Amazon CloudFront: esta solução permite que você hospede um site estático do Amazon S3 para o público e, ao mesmo tempo, continue bloqueando todo o acesso público ao conteúdo de um bucket. Se quiser manter todas as quatro configurações da funcionalidade Bloqueio de Acesso Público do S3 habilitadas e hospedar um site estático do S3, use o controle de acesso à origem (OAC) do Amazon CloudFront. O Amazon CloudFront fornece os recursos necessários para configurar um site estático seguro. Além disso, os sites estáticos do Amazon S3 que não usam essa solução só são compatíveis com endpoints HTTP. O CloudFront usa o armazenamento durável do Amazon S3 ao mesmo tempo que fornece cabeçalhos de segurança adicionais, como HTTPS. O HTTPS adiciona segurança criptografando uma solicitação HTTP normal e protegendo-a contra ataques cibernéticos comuns.

    Para obter mais informações, consulte Conceitos básicos de um site estático seguro no Guia do desenvolvedor do Amazon CloudFront.

  • Tornar o bucket do Amazon S3 acessível ao público: você pode configurar um bucket para ser usado como um site estático com acesso público.

    Atenção

    Não recomendamos esse método. Em vez disso, recomendamos que você use sites estáticos do Amazon S3 como parte do Amazon CloudFront. Para obter mais informações, confira a opção anterior ou consulte Conceitos básicos de um site estático seguro.

    Para criar um site estático do Amazon S3 sem o Amazon CloudFront, primeiro é necessário desativar todas as configurações da funcionalidade Bloqueio de Acesso Público. Ao escrever a política de bucket para o site estático, aceite apenas ações s3:GetObject e não permissões ListObject e PutObject. Isso ajuda a garantir que os usuários não possam visualizar todos os objetos no bucket nem adicionar seu próprio conteúdo. Para ter mais informações, consulte Configuração de permissões para acesso ao site.

Ao criar um bucket do Amazon S3, a configuração Bloquear acesso público é habilitada por padrão. Para obter mais informações sobre como bloquear o acesso público, consulte Bloquear o acesso público ao armazenamento do Amazon S3.

Não recomendamos que você permita acesso público ao seu bucket. No entanto, se você precisar fazer isso para um caso de uso específico, recomendamos a seguinte ferramenta de gerenciamento de acesso:

  • Desabilitar a configuração Bloquear acesso público: o proprietário de um bucket pode permitir solicitações não autenticadas para o bucket. Por exemplo, solicitações PUT Object não autenticadas são permitidas quando um bucket tem uma política de bucket pública ou quando uma ACL de bucket concede acesso público. Todas as solicitações não autenticadas são feitas por outros usuários arbitrários da AWS ou até mesmo por usuários anônimos não autenticados. Esse usuário é representado em ACLs pelo ID de usuário canônico específico 65a011a29cdf8ec533ec3d1ccaae921c. Se um objeto for carregado em WRITE ou FULL_CONTROL, isso concederá, especificamente, acesso ao grupo Todos os usuários ou ao usuário anônimo. Para obter mais informações sobre políticas de bucket público e listas de controle de acesso (ACLs) públicas, consulte O significado de "público".

Tanto as políticas de bucket quanto as políticas baseadas em identidade têm um limite de 20 KB. Se seus requisitos de permissão de acesso forem complexos, você poderá exceder esse limite de tamanho.

Recomendamos as seguintes ferramentas de gerenciamento de acesso para esse caso de uso:

  • Pontos de acesso: use os pontos de acesso caso eles funcionem para o seu caso de uso. Com os pontos de acesso, cada bucket tem vários endpoints de rede nomeados, cada um com sua própria política de ponto de acesso que funciona com a política de bucket subjacente. No entanto, os pontos de acesso só podem atuar em objetos, não em buckets, e não oferecem suporte à replicação entre regiões. Para ter mais informações, consulte Gerenciamento de acesso a dados com pontos de acesso do Amazon S3.

  • Concessões de Acesso do S3: use a funcionalidade Concessões de Acesso do S3, que oferece suporte a um número muito grande de concessões que dão acesso a buckets, prefixos ou objetos. Para ter mais informações, consulte Conceitos básicos da funcionalidade Concessões de Acesso do S3.

Em vez de gerenciar usuários, grupos e perfis por meio do AWS Identity and Access Management (IAM), você pode adicionar seu diretório corporativo ao AWS IAM Identity Center. Para obter mais informações, consulte What is IAM Identity Center?

Depois de adicionar seu diretório corporativo ao AWS IAM Identity Center, recomendamos que você use a seguinte ferramenta de gerenciamento de acesso para conceder às identidades do diretório corporativo acesso aos seus recursos do S3:

Recomendamos a seguinte ferramenta de gerenciamento de acesso para esse caso de uso:

  • ACL de bucket: o único caso de uso recomendado para as ACLs de bucket é a concessão de permissões a determinados Serviços da AWS, como a conta awslogsdelivery do Amazon CloudFront. Ao criar ou atualizar uma distribuição e ativar o registro em log do CloudFront, o CloudFront atualiza a ACL do bucket para conceder à conta awslogsdelivery permissões FULL_CONTROL para gravar logs em seu bucket. Para obter mais informações, consulte Permissões necessárias para configurar o registro padrão e acessar seus arquivos de log no Guia do desenvolvedor do Amazon CloudFront. Se o bucket que armazena os logs usar a configuração Imposto pelo proprietário do bucket para a funcionalidade Propriedade de Objeto do S3 a fim de desativar as ACLs, o CloudFront não poderá gravar logs no bucket. Para ter mais informações, consulte Controlar a propriedade de objetos e desabilitar ACLs para seu bucket.

Você pode conceder acesso a outras contas para que façam upload de objetos no bucket usando uma política de bucket, um ponto de acesso ou a funcionalidade Concessões de Acesso do S3. Se você concedeu acesso entre contas ao seu bucket, pode garantir que todos os objetos enviados para o bucket permaneçam totalmente sob seu controle.

Recomendamos a seguinte ferramenta de gerenciamento de acesso para esse caso de uso:

  • Propriedade de objeto: mantenha a configuração ao nível do bucket Propriedade de objeto definida com a opção padrão Imposto pelo proprietário do bucket.

Solução de problemas de gerenciamento de acesso

Os recursos a seguir podem ajudar você a solucionar problemas no gerenciamento de acesso do S3:

Solucionar erros de acesso negado (403 proibido)

Se você encontrar problemas de negação de acesso, verifique as configurações ao nível de conta e de bucket. Além disso, verifique o recurso de gerenciamento de acesso que você está usando para conceder acesso a fim de garantir que a política, a definição ou a configuração estejam corretas. Para receber mais informações sobre as causas comuns de erros de acesso negado (403 proibido) no Amazon S3, consulte Solucionar erros de acesso negado (403 proibido) no Amazon S3.

IAM Access Analyzer para S3

Se você não quiser disponibilizar publicamente nenhum dos seus recursos ou se quiser limitar o acesso público aos seus recursos, poderá usar o IAM Access Analyzer para S3. No console do Amazon S3, use o IAM Access Analyzer para S3 a fim de revisar todos os buckets que têm listas de controle de acesso (ACLs) de bucket, políticas de bucket ou políticas de ponto de acesso que concedem acesso público ou compartilhado. O IAM Access Analyzer para S3 alerta você sobre buckets que são configurados para permitir o acesso a qualquer pessoa na internet ou a outras Contas da AWS, incluindo Contas da AWS fora da organização. Para cada bucket público ou compartilhado, você recebe descobertas que relatam a origem e o nível de acesso público ou compartilhado.

No IAM Access Analyzer para S3, é possível bloquear todo o acesso público a um bucket com uma única ação. Recomendamos que você bloqueie todo o acesso público aos buckets, a menos que exija acesso público para oferecer suporte a um caso de uso específico. Antes de bloquear todo o acesso público, garanta que as aplicações continuarão funcionando corretamente sem acesso público. Para ter mais informações, consulte Bloquear o acesso público ao armazenamento do Amazon S3.

Você também pode conferir suas configurações de permissão ao nível do bucket para definir níveis detalhados de acesso. Para casos de uso específicos e verificados que exigem acesso público ou compartilhado, você pode confirmar e registrar sua intenção de que o bucket permaneça público ou compartilhado arquivando as descobertas do bucket. Você pode acessar novamente e modificar essas configurações de bucket a qualquer momento. Você também pode fazer download das descobertas como um relatório CSV para fins de auditoria.

O IAM Access Analyzer para S3 está disponível sem custo adicional no console do Amazon S3. O IAM Access Analyzer para S3 usa tecnologia do AWS Identity and Access Management (IAM) Access Analyzer. Para usar o IAM Access Analyzer para S3 no console do Amazon S3, acesse o console do IAM e crie um analisador ao nível da conta no IAM Access Analyzer para cada região.

Para obter mais informações sobre o IAM Access Analyzer para S3, consulte Revisar o acesso de bucket usando o IAM Access Analyzer para S3.

Logging e monitoramento

O monitoramento é uma parte importante da manutenção da confiabilidade, disponibilidade e performance das soluções do Amazon S3 para que você possa depurar mais facilmente uma falha de acesso. O registro em log pode fornecer insights sobre quaisquer erros que os usuários estejam recebendo, bem como quando e quais solicitações são feitas. A AWS fornece várias ferramentas para monitoramento dos recursos do Amazon S3, como as seguintes:

  • AWS CloudTrail

  • Logs de acesso do Amazon S3

  • AWS Trusted Advisor

  • Amazon CloudWatch

Para ter mais informações, consulte Registrar em log e monitorar no Amazon S3.